{"id":6776,"date":"2016-01-08T14:48:27","date_gmt":"2016-01-08T13:48:27","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/"},"modified":"2016-01-08T14:48:27","modified_gmt":"2016-01-08T13:48:27","slug":"sql-server-2016-temporal-table-with-in-memory","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/","title":{"rendered":"SQL Server 2016: temporal table with In-Memory"},"content":{"rendered":"<p>In SQL Server 2016 CTP 3.0, temporal tables with In-Memory OLTP is supported. \ud83d\ude42<br \/>\nAt the <a title=\"Blog Journ\u00e9es SQL Server\" href=\"http:\/\/dbi-services.com\/blog\/journees-sql-server-2015-retrouvez-nos-sessions-sur-slideshare-et-youtube\/\" target=\"_blank\">JSS2015 (Journ\u00e9e SQL Server 2015)<\/a>, I have presented a little demo about temporal table with a table In-Memory.<br \/>\nThis article is a complement of my presentation and a good add to my series of Temporal Table.<\/p>\n<p>My first step is to create the temporal In-Memory table:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">CREATE TABLE [dbo].[Animals2]\n(\n\t[AnimalId] [int] IDENTITY(1,1) NOT NULL,\n\t[Name] [varchar](200) COLLATE French_CI_AS NOT NULL,\n\t[Genus Species] [varchar](200) COLLATE French_CI_AS NOT NULL,\n\t[Number] [int] NOT NULL,\n\t[StartDate] [datetime2](0) GENERATED ALWAYS AS ROW START NOT NULL,\n\t[EndDate] [datetime2](0) GENERATED ALWAYS AS ROW END NOT NULL,\n\tPERIOD FOR SYSTEM_TIME ([StartDate], [EndDate]),\n\n CONSTRAINT [Animals_primaryKey]  PRIMARY KEY NONCLUSTERED HASH \n(\n\t[AnimalId]\n)WITH ( BUCKET_COUNT = 131072)\n)WITH ( MEMORY_OPTIMIZED = ON , DURABILITY = SCHEMA_AND_DATA, \nSYSTEM_VERSIONING = ON (HISTORY_TABLE = [dbo].[AnimalsHistory2] , DATA_CONSISTENCY_CHECK = ON ) )\n\nGO\n\n<\/pre>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT01.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-6448 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT01.png\" alt=\"TIMT01\" width=\"300\" height=\"162\" \/><\/a><\/p>\n<p>The first ascertainment in the sys.tables is that the History table is not In-Memory.<br \/>\nOnly the System-Versioned table is in In-Memory.<br \/>\nThe query to have the result:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">SELECT name,object_id,is_memory_optimized,durability,temporal_type,temporal_type_desc FROM sys.tables<\/pre>\n<p>I insert a value in the table and read the table:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">INSERT INTO [Zoo].[dbo].[Animals2]([Name],[Genus Species],[Number])\n     VALUES('Black swan','Cygnus atratus',12)\n\nSELECT * FROM [Zoo].[dbo].[Animals2]<\/pre>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT02.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-6447 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT02.png\" alt=\"TIMT02\" width=\"300\" height=\"165\" \/><\/a><\/p>\n<p>The value is present in the table and now I read the History table (who is empty of course)<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT03.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-6446 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT03.png\" alt=\"TIMT03\" width=\"300\" height=\"132\" \/><\/a><\/p>\n<p>This error message comes from:<\/p>\n<p><span style=\"color: red\"> Msg 13582, Level 16, State 1, Line 7<br \/>\nTable &#8216;Zoo.dbo.AnimalsHistory2&#8217; is history table for in-memory system-versioned temporal table and cannot be queried.<\/span><br \/>\nI cannot read the history table and my first thing was to run some updates to read the history table with values.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT04.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-6445 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT04.png\" alt=\"TIMT04\" width=\"300\" height=\"253\" \/><\/a><\/p>\n<p>It is impossible to ask directly the History table and the only way is to use FOR SYSTEM_TIME ALL like this to have the History:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">SELECT *\n  FROM [Zoo].[dbo].[Animals2] FOR SYSTEM_TIME ALL WHERE Name='Black swan'<\/pre>\n<p>In the execution plan, the insert to the history table is not the same as a \u201cclassical\u201d temporal table<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT06.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-6443 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT06.png\" alt=\"TIMT06\" width=\"300\" height=\"249\" \/><\/a><\/p>\n<p>The schema of a \u201cclassical\u201d temporal architecture is the current table and the history table.<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/temporal01.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-3306 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/temporal01.png\" alt=\"temporal01\" width=\"300\" height=\"83\" \/><\/a><\/p>\n<p>But in an In-Memory mode, the temporal architecture introduces an Internal In-Memory History Table. This table is a \u201cbuffer table\u201d In-Memory to not disturb the speed of the Temporal In-Memory table<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT05.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-6444 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT05.png\" alt=\"TIMT05\" width=\"300\" height=\"71\" \/><\/a><br \/>\nThis Internal In-Memory History Table is called memory_optimized_history_table_\u201dtemporalTableId\u201d<br \/>\n<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT07.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-6442 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT07.png\" alt=\"TIMT07\" width=\"300\" height=\"124\" \/><\/a><br \/>\nTo transfer values from Internal In-Memory History table to the History table, the stored procedure sp_xtp_flush_temporal_history can be used like this:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">exec sys.sp_xtp_flush_temporal_history [dbo], [Animals2]<\/pre>\n<p>The only way to read the history table is to disable the temporal mode.<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">ALTER TABLE [Zoo].[dbo].[Animals2] SET (SYSTEM_VERSIONING = OFF) \nGO\nSELECT * FROM [Zoo].[dbo].[AnimalsHistory2]<\/pre>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT08.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-6441 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT08.png\" alt=\"TIMT08\" width=\"300\" height=\"186\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In SQL Server 2016 CTP 3.0, temporal tables with In-Memory OLTP is supported. \ud83d\ude42 At the JSS2015 (Journ\u00e9e SQL Server 2015), I have presented a little demo about temporal table with a table In-Memory. This article is a complement of my presentation and a good add to my series of Temporal Table. My first step&hellip;&nbsp;<\/p>\n","protected":false},"author":15,"featured_media":6785,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","neve_meta_reading_time":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[99],"tags":[222,49,566],"class_list":["post-6776","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-sql-server","tag-in-memory","tag-microsoft","tag-sql-server-2016"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.4 (Yoast SEO v28.7) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>SQL Server 2016: temporal table with In-Memory<\/title>\n<meta name=\"description\" content=\"This article present Temporal Table in an In-Memory mode\" \/>\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-temporal-table-with-in-memory\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL Server 2016: temporal table with In-Memory\" \/>\n<meta property=\"og:description\" content=\"This article present Temporal Table in an In-Memory mode\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi services | Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/dbiservices\/\" \/>\n<meta property=\"article:published_time\" content=\"2016-01-08T13:48:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT08-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"559\" \/>\n\t<meta property=\"og:image:height\" content=\"347\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"St\u00e9phane Haby\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@dbiservices\" \/>\n<meta name=\"twitter:site\" content=\"@dbiservices\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"St\u00e9phane Haby\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 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-temporal-table-with-in-memory\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-temporal-table-with-in-memory\\\/\"},\"author\":{\"name\":\"St\u00e9phane Haby\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/7980252d7d7a521e285e7c66114cf82a\"},\"headline\":\"SQL Server 2016: temporal table with In-Memory\",\"datePublished\":\"2016-01-08T13:48:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-temporal-table-with-in-memory\\\/\"},\"wordCount\":313,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-temporal-table-with-in-memory\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/TIMT08-1.png\",\"keywords\":[\"In-Memory\",\"Microsoft\",\"SQL Server 2016\"],\"articleSection\":[\"SQL Server\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-temporal-table-with-in-memory\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-temporal-table-with-in-memory\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-temporal-table-with-in-memory\\\/\",\"name\":\"SQL Server 2016: temporal table with In-Memory\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-temporal-table-with-in-memory\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-temporal-table-with-in-memory\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/TIMT08-1.png\",\"datePublished\":\"2016-01-08T13:48:27+00:00\",\"description\":\"This article present Temporal Table in an In-Memory mode\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-temporal-table-with-in-memory\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-temporal-table-with-in-memory\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-temporal-table-with-in-memory\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/TIMT08-1.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/TIMT08-1.png\",\"width\":559,\"height\":347},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-temporal-table-with-in-memory\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Server 2016: temporal table with In-Memory\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi services Blog\",\"description\":\"#BeSharing\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\"},\"alternateName\":\"dbi Blog\",\"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\":\"Organization\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#organization\",\"name\":\"dbi services\",\"alternateName\":\"dbi\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/dbi-services-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/dbi-services-logo.png\",\"width\":512,\"height\":512,\"caption\":\"dbi services\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/dbiservices\\\/\",\"https:\\\/\\\/x.com\\\/dbiservices\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/dbi-services\\\/\",\"https:\\\/\\\/www.youtube.com\\\/user\\\/dbiservices\"],\"description\":\"Swiss IT consulting and services company specialised in efficient data infrastructures and platforms: databases, application servers, cloud, DevOps, digitalization, analytics, data quality and monitoring. Headquartered in Del\u00e9mont with offices in Nyon, Basel, Bern and Zurich.\",\"email\":\"info@dbi-services.com\",\"telephone\":\"+41 32 422 96 00\",\"legalName\":\"dbi services SA\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/7980252d7d7a521e285e7c66114cf82a\",\"name\":\"St\u00e9phane Haby\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/STH_web-min-scaled.jpg\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/STH_web-min-scaled.jpg\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/08\\\/STH_web-min-scaled.jpg\",\"caption\":\"St\u00e9phane Haby\"},\"description\":\"St\u00e9phane Haby has more than 20 years of experience in Microsoft solutions, specializing in the installation, migration, best practices, and performance analysis of Microsoft SQL Server, as well as Microsoft Business Intelligence solutions (SharePoint, Office) and .NET development for the banking sector. A former Microsoft Most Valuable Professional (MVP) and early adopter of Microsoft Team System in France, he has authored several technical articles. He holds Microsoft Certified Solutions Associate (MCSA) and Expert (MCSE) for SQL Server, MCTS, MCITP for SQL Server 2008, and ITIL V3 Foundation certifications. His industry experience covers chemicals and pharma, banking, and financial services.\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/stephane-haby\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SQL Server 2016: temporal table with In-Memory","description":"This article present Temporal Table in an In-Memory mode","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-temporal-table-with-in-memory\/","og_locale":"en_US","og_type":"article","og_title":"SQL Server 2016: temporal table with In-Memory","og_description":"This article present Temporal Table in an In-Memory mode","og_url":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/","og_site_name":"dbi services | Blog","article_publisher":"https:\/\/www.facebook.com\/dbiservices\/","article_published_time":"2016-01-08T13:48:27+00:00","og_image":[{"width":559,"height":347,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT08-1.png","type":"image\/png"}],"author":"St\u00e9phane Haby","twitter_card":"summary_large_image","twitter_creator":"@dbiservices","twitter_site":"@dbiservices","twitter_misc":{"Written by":"St\u00e9phane Haby","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/"},"author":{"name":"St\u00e9phane Haby","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/7980252d7d7a521e285e7c66114cf82a"},"headline":"SQL Server 2016: temporal table with In-Memory","datePublished":"2016-01-08T13:48:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/"},"wordCount":313,"commentCount":0,"publisher":{"@id":"https:\/\/www.dbi-services.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT08-1.png","keywords":["In-Memory","Microsoft","SQL Server 2016"],"articleSection":["SQL Server"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/","url":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/","name":"SQL Server 2016: temporal table with In-Memory","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT08-1.png","datePublished":"2016-01-08T13:48:27+00:00","description":"This article present Temporal Table in an In-Memory mode","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT08-1.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/04\/TIMT08-1.png","width":559,"height":347},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-temporal-table-with-in-memory\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SQL Server 2016: temporal table with In-Memory"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi services Blog","description":"#BeSharing","publisher":{"@id":"https:\/\/www.dbi-services.com\/blog\/#organization"},"alternateName":"dbi Blog","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":"Organization","@id":"https:\/\/www.dbi-services.com\/blog\/#organization","name":"dbi services","alternateName":"dbi","url":"https:\/\/www.dbi-services.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/09\/dbi-services-logo.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2026\/09\/dbi-services-logo.png","width":512,"height":512,"caption":"dbi services"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/dbiservices\/","https:\/\/x.com\/dbiservices","https:\/\/www.linkedin.com\/company\/dbi-services\/","https:\/\/www.youtube.com\/user\/dbiservices"],"description":"Swiss IT consulting and services company specialised in efficient data infrastructures and platforms: databases, application servers, cloud, DevOps, digitalization, analytics, data quality and monitoring. Headquartered in Del\u00e9mont with offices in Nyon, Basel, Bern and Zurich.","email":"info@dbi-services.com","telephone":"+41 32 422 96 00","legalName":"dbi services SA"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/7980252d7d7a521e285e7c66114cf82a","name":"St\u00e9phane Haby","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/08\/STH_web-min-scaled.jpg","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/08\/STH_web-min-scaled.jpg","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/2022\/08\/STH_web-min-scaled.jpg","caption":"St\u00e9phane Haby"},"description":"St\u00e9phane Haby has more than 20 years of experience in Microsoft solutions, specializing in the installation, migration, best practices, and performance analysis of Microsoft SQL Server, as well as Microsoft Business Intelligence solutions (SharePoint, Office) and .NET development for the banking sector. A former Microsoft Most Valuable Professional (MVP) and early adopter of Microsoft Team System in France, he has authored several technical articles. He holds Microsoft Certified Solutions Associate (MCSA) and Expert (MCSE) for SQL Server, MCTS, MCITP for SQL Server 2008, and ITIL V3 Foundation certifications. His industry experience covers chemicals and pharma, banking, and financial services.","url":"https:\/\/www.dbi-services.com\/blog\/author\/stephane-haby\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/6776","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\/15"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=6776"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/6776\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/6785"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=6776"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=6776"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=6776"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}