{"id":5641,"date":"2015-09-28T09:48:17","date_gmt":"2015-09-28T07:48:17","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/"},"modified":"2015-09-28T09:48:17","modified_gmt":"2015-09-28T07:48:17","slug":"sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/","title":{"rendered":"SQL Server 2016: Transaction Performance Analysis Overview &amp; In-Memory OLTP Migration Checklists"},"content":{"rendered":"<p>To be able to define which Tables or Stored Procedures will us the best performance gain after migration to In-Memory OLTP, SQL Server 2014 provided a tool called AMR (Analysis Migration and Reporting). This tool was really interesting but we should have, before to use it, to create a Management Data Warehouse and so on\u2026 (I wrote a blog <a href=\"http:\/\/dbi-services.com\/blog\/sql-server-2014-analysis-migrate-and-report-amr-a-powerful-in-memory-migration-tool\/\">here<\/a> for this configuration and an article on SQL Magazine <a href=\"http:\/\/sqlmag.com\/sql-server-2014\/sql-server-2014-analysis-migrate-report-tool-amr\">here<\/a>)<br \/>\nWith SQL Server 2016, actually in is CTP2.3 release, Microsoft introduces a new and easier mechanism for end-user and DBA.<br \/>\nFor each database of our instance, we are able to generate a report directly by clicking <strong>Object Explorer, <\/strong>selecting\u00a0<strong>Reports<\/strong>, then\u00a0<strong>Standard Reports<\/strong>, and then\u00a0<strong>Transaction Performance Analysis Overview:<\/strong><\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4043\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview1.jpg\" alt=\"TransactionPerformanceAnalysisOverview1\" width=\"300\" height=\"219\" \/><\/a><\/p>\n<p>We need of course to have a workload for our database or to have run a workload recently in order to have a meaningful report. This report will consist of two part: one for tables and a second one for Stored Procedure:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4044\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview2.jpg\" alt=\"TransactionPerformanceAnalysisOverview2\" width=\"300\" height=\"251\" \/><\/a><\/p>\n<p>The report for table or Stored Procedure as the same look and field than the AMR \u2018s one. For the table we don\u2019t have any more two reports: Recommended Tables Based on usage and Recommended Tables Based on contention but just the first one:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview3.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4045\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview3.jpg\" alt=\"TransactionPerformanceAnalysisOverview3\" width=\"300\" height=\"189\" \/><\/a><\/p>\n<p>The same applies if we click on the blue point below the table name. A second screen appears with scan and contention statistics for the selected table. Those statistics come from the DMV sys.dm_db_index_operational_stats. A third section gives the number of migration blockers, so the modification we will have to do on our table to be able to load it in-memory:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview4.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4037\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview4.jpg\" alt=\"TransactionPerformanceAnalysisOverview4\" width=\"300\" height=\"188\" \/><\/a><\/p>\n<p>For Stored Procedure, the same screen exists and is named Recommended Stored Procedures Based on Usage:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview5.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4038\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview5.jpg\" alt=\"TransactionPerformanceAnalysisOverview5\" width=\"300\" height=\"187\" \/><\/a><\/p>\n<p>Always the possibility to click on the blue point below the Stored Procedure. Details for the Stored Procedure appears with Execution Statistics coming from the DMV sys.dm_exec_procedure_stats and Tables References coming from the System View sys.sql_expression_dependencies:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview6.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4039\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview6.jpg\" alt=\"TransactionPerformanceAnalysisOverview6\" width=\"300\" height=\"134\" \/><\/a><\/p>\n<p>Those both reports will be very helpful in order to determine which tables or Stored Procedure could be migrate to In-Memory OLTP.<br \/>\nAfter having selected which tables or Stored Procedure will be migrated, Memory Optimization and Native Compilation Advisors will help us to work on our tables or Stored Procedure code to eliminate features that are not supported with In-Memory OLTP.<\/p>\n<p>A new possibility with SQL Server 2016 is to generate via those two Advisors an In-Memory OLTP Migration Checklist. This Checklist can be generated for a single disk-based table or an interpreted T-SQL Stored procedures or for multiple ones:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview10.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4046\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview10.jpg\" alt=\"TransactionPerformanceAnalysisOverview10\" width=\"300\" height=\"225\" \/><\/a><\/p>\n<p>After a Welcome screen, we have to select:<\/p>\n<ul>\n<li>Where we want to save the checklist<\/li>\n<li>For which objects we want to generate the checklist, here for the table dbo.command_queue and the Stored Procedure dbo.usp_TMA_master<\/li>\n<\/ul>\n<p>Click the Next button:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview12.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4051\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview12.jpg\" alt=\"TransactionPerformanceAnalysisOverview12\" width=\"300\" height=\"258\" \/><\/a><\/p>\n<p>Once is done, a summary screen appears where we can review our selection and also generate the PowerShell scripts commands corresponding to our demand. This one looks like this for me:<\/p>\n<pre>$objectsList = \"dbo.command_queue\",\"dbo.usp_TMA_master\"<\/pre>\n<pre>for ($i = 0; $i -le $objectsList.count-1; $i++)<\/pre>\n<pre>{<\/pre>\n<pre>\u00a0\u00a0 $schema = $objectsList[$i].Split(\".\")[0]<\/pre>\n<pre>\u00a0\u00a0 $object = $objectsList[$i].Split(\".\")[1]<\/pre>\n<pre>\u00a0\u00a0 Save-SqlMigrationReport -Server 'VMDEMO\\SQL2016' -Database 'GestionCom' -Schema $schema -Object $object -FolderPath 'C:\\dbi services\\InMemory OLTP'<\/pre>\n<pre>}<\/pre>\n<p>Click the Finish Button:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview14.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4053\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview14.jpg\" alt=\"TransactionPerformanceAnalysisOverview14\" width=\"300\" height=\"258\" \/><\/a><\/p>\n<p>The generation of the Migration Checklist for each selected objects begins and when it is finished the screen below appears.<br \/>\nClick the OK button.<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview13.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4052\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview13.jpg\" alt=\"TransactionPerformanceAnalysisOverview13\" width=\"300\" height=\"258\" \/><\/a><\/p>\n<p>Let&#8217;s have a look on the destination folder:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview15.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4062\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview15.jpg\" alt=\"TransactionPerformanceAnalysisOverview15\" width=\"300\" height=\"141\" \/><\/a><\/p>\n<p>We have two new folder named Stored Procedures and Tables. On each of them, we will retrieve one HTML file per Table or Stored Procedure analyzed:<\/p>\n<ul>\n<li>for table named is\u00a0 MigrationAdvisorChecklistReport_TableName.html<\/li>\n<li>for Stored Procedure named is NativeCompilationAdvisorReport_SPName.html<\/li>\n<\/ul>\n<p>If we open our file for the table analyzed we see a list of unsupported features for Memory-optimized table and if our table is validated for the described feature:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview16.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4076\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview16.jpg\" alt=\"TransactionPerformanceAnalysisOverview16\" width=\"300\" height=\"215\" \/><\/a><\/p>\n<p>In case of Failed validation status, a review of the table have to be done before the migration process to Memory-optimized table.<br \/>\nSame for Stored Procedure, where we see a list of T-SQL statements which are not supported for Natively Compiled Stored Procedure:<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview17.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-4077\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview17.jpg\" alt=\"TransactionPerformanceAnalysisOverview17\" width=\"300\" height=\"90\" \/><\/a><\/p>\n<p>Those two features will help us to migrate our objects in memory more easily.<br \/>\nBut will not avoid minimum work \ud83d\ude09<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>To be able to define which Tables or Stored Procedures will us the best performance gain after migration to In-Memory OLTP, SQL Server 2014 provided a tool called AMR (Analysis Migration and Reporting). This tool was really interesting but we should have, before to use it, to create a Management Data Warehouse and so on\u2026 [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":5655,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[229],"tags":[15,51,566],"type_dbi":[],"class_list":["post-5641","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-database-administration-monitoring","tag-migration","tag-sql-server","tag-sql-server-2016"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>SQL Server 2016: Transaction Performance Analysis Overview &amp; In-Memory OLTP Migration Checklists - dbi Blog<\/title>\n<meta name=\"description\" content=\"To be able to define which Tables or Stored Procedures will us the best performance gain after migration to In-Memory OLTP, SQL Server 2014 provided a tool called AMR, SQL Server 2016 provides Transaction Performance Analysis Overview and In-Memory OLTP Migration Checklists\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL Server 2016: Transaction Performance Analysis Overview &amp; In-Memory OLTP Migration Checklists\" \/>\n<meta property=\"og:description\" content=\"To be able to define which Tables or Stored Procedures will us the best performance gain after migration to In-Memory OLTP, SQL Server 2014 provided a tool called AMR, SQL Server 2016 provides Transaction Performance Analysis Overview and In-Memory OLTP Migration Checklists\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-09-28T07:48:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview4-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1150\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"St\u00e9phane Savorgnano\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"St\u00e9phane Savorgnano\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/\"},\"author\":{\"name\":\"St\u00e9phane Savorgnano\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/b6bce7d75118b35bdb3b439ad6a9ca3c\"},\"headline\":\"SQL Server 2016: Transaction Performance Analysis Overview &amp; In-Memory OLTP Migration Checklists\",\"datePublished\":\"2015-09-28T07:48:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/\"},\"wordCount\":687,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview4-1.jpg\",\"keywords\":[\"Migration\",\"SQL Server\",\"SQL Server 2016\"],\"articleSection\":[\"Database Administration &amp; Monitoring\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/\",\"name\":\"SQL Server 2016: Transaction Performance Analysis Overview &amp; In-Memory OLTP Migration Checklists - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview4-1.jpg\",\"datePublished\":\"2015-09-28T07:48:17+00:00\",\"author\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/b6bce7d75118b35bdb3b439ad6a9ca3c\"},\"description\":\"To be able to define which Tables or Stored Procedures will us the best performance gain after migration to In-Memory OLTP, SQL Server 2014 provided a tool called AMR, SQL Server 2016 provides Transaction Performance Analysis Overview and In-Memory OLTP Migration Checklists\",\"breadcrumb\":{\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/#primaryimage\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview4-1.jpg\",\"contentUrl\":\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview4-1.jpg\",\"width\":1150,\"height\":720},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/www.dbi-services.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Server 2016: Transaction Performance Analysis Overview &amp; In-Memory OLTP Migration Checklists\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#website\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/b6bce7d75118b35bdb3b439ad6a9ca3c\",\"name\":\"St\u00e9phane Savorgnano\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/secure.gravatar.com\/avatar\/88d2a790f775c52c1012ec644d883431da758f2cbcfc16067ade04d2ef625ef5?s=96&d=mm&r=g\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/88d2a790f775c52c1012ec644d883431da758f2cbcfc16067ade04d2ef625ef5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/88d2a790f775c52c1012ec644d883431da758f2cbcfc16067ade04d2ef625ef5?s=96&d=mm&r=g\",\"caption\":\"St\u00e9phane Savorgnano\"},\"description\":\"St\u00e9phane Savorgnano has more than fifteen years of experience in Microsoft software development and in SQL Server database solutions. He is specialized in SQL Server installation, performance analysis, best practices, etc. St\u00e9phane Savorgnano is Microsoft Certified Solutions Associate (MCSA) and\u00a0Microsoft Certified Solutions Expert (MCSE) for SQL Server 2012. He is also Microsoft Certified Technology Specialist (MCTS) and Microsoft Certified IT Professional (MCITP) for SQL Server 2008 as well as ITIL Foundation V3 certified. Prior to joining dbi services, he was software engineer at Ciba Specialty Chemicals in Basel. St\u00e9phane Savorgnano holds a Master of Informatics from Mulhouse University (F). His branch-related experience covers Banking \/ Financial Services, Chemicals &amp; Pharmaceuticals, etc.\",\"url\":\"https:\/\/www.dbi-services.com\/blog\/author\/stephane-savorgnano\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SQL Server 2016: Transaction Performance Analysis Overview &amp; In-Memory OLTP Migration Checklists - dbi Blog","description":"To be able to define which Tables or Stored Procedures will us the best performance gain after migration to In-Memory OLTP, SQL Server 2014 provided a tool called AMR, SQL Server 2016 provides Transaction Performance Analysis Overview and In-Memory OLTP Migration Checklists","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/","og_locale":"en_US","og_type":"article","og_title":"SQL Server 2016: Transaction Performance Analysis Overview &amp; In-Memory OLTP Migration Checklists","og_description":"To be able to define which Tables or Stored Procedures will us the best performance gain after migration to In-Memory OLTP, SQL Server 2014 provided a tool called AMR, SQL Server 2016 provides Transaction Performance Analysis Overview and In-Memory OLTP Migration Checklists","og_url":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/","og_site_name":"dbi Blog","article_published_time":"2015-09-28T07:48:17+00:00","og_image":[{"width":1150,"height":720,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview4-1.jpg","type":"image\/jpeg"}],"author":"St\u00e9phane Savorgnano","twitter_card":"summary_large_image","twitter_misc":{"Written by":"St\u00e9phane Savorgnano","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/"},"author":{"name":"St\u00e9phane Savorgnano","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/b6bce7d75118b35bdb3b439ad6a9ca3c"},"headline":"SQL Server 2016: Transaction Performance Analysis Overview &amp; In-Memory OLTP Migration Checklists","datePublished":"2015-09-28T07:48:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/"},"wordCount":687,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview4-1.jpg","keywords":["Migration","SQL Server","SQL Server 2016"],"articleSection":["Database Administration &amp; Monitoring"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/","url":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/","name":"SQL Server 2016: Transaction Performance Analysis Overview &amp; In-Memory OLTP Migration Checklists - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview4-1.jpg","datePublished":"2015-09-28T07:48:17+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/b6bce7d75118b35bdb3b439ad6a9ca3c"},"description":"To be able to define which Tables or Stored Procedures will us the best performance gain after migration to In-Memory OLTP, SQL Server 2014 provided a tool called AMR, SQL Server 2016 provides Transaction Performance Analysis Overview and In-Memory OLTP Migration Checklists","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview4-1.jpg","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/TransactionPerformanceAnalysisOverview4-1.jpg","width":1150,"height":720},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-transaction-performance-analysis-overview-in-memory-oltp-migration-checklists\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SQL Server 2016: Transaction Performance Analysis Overview &amp; In-Memory OLTP Migration Checklists"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/b6bce7d75118b35bdb3b439ad6a9ca3c","name":"St\u00e9phane Savorgnano","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/88d2a790f775c52c1012ec644d883431da758f2cbcfc16067ade04d2ef625ef5?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/88d2a790f775c52c1012ec644d883431da758f2cbcfc16067ade04d2ef625ef5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/88d2a790f775c52c1012ec644d883431da758f2cbcfc16067ade04d2ef625ef5?s=96&d=mm&r=g","caption":"St\u00e9phane Savorgnano"},"description":"St\u00e9phane Savorgnano has more than fifteen years of experience in Microsoft software development and in SQL Server database solutions. He is specialized in SQL Server installation, performance analysis, best practices, etc. St\u00e9phane Savorgnano is Microsoft Certified Solutions Associate (MCSA) and\u00a0Microsoft Certified Solutions Expert (MCSE) for SQL Server 2012. He is also Microsoft Certified Technology Specialist (MCTS) and Microsoft Certified IT Professional (MCITP) for SQL Server 2008 as well as ITIL Foundation V3 certified. Prior to joining dbi services, he was software engineer at Ciba Specialty Chemicals in Basel. St\u00e9phane Savorgnano holds a Master of Informatics from Mulhouse University (F). His branch-related experience covers Banking \/ Financial Services, Chemicals &amp; Pharmaceuticals, etc.","url":"https:\/\/www.dbi-services.com\/blog\/author\/stephane-savorgnano\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/5641","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=5641"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/5641\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/5655"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=5641"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=5641"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=5641"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=5641"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}