{"id":5320,"date":"2015-08-28T07:09:45","date_gmt":"2015-08-28T05:09:45","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/"},"modified":"2015-08-28T07:09:45","modified_gmt":"2015-08-28T05:09:45","slug":"sql-server-2016-the-time-travel-with-temporal-table-part-i","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/","title":{"rendered":"SQL Server 2016: the Time Travel with temporal table \u2013 Part I"},"content":{"rendered":"<h2><\/h2>\n<h2>Principle &amp; Creation<\/h2>\n<p>Microsoft create in SQL server 2016 a new feature temporal table, based on the latest edition of the SQL standard: SQL:2011.<br \/>\nIf you want read more about this standard, click <a title=\"SQL:2011\" href=\"http:\/\/www.sigmod.org\/publications\/sigmod-record\/1209\/pdfs\/07.industry.kulkarni.pdf\" target=\"_blank\">here.<\/a><br \/>\nI divide my article into 4 parts to be clearer and easier to read:<br \/>\n<a title=\"Part I - Principle &amp; Creation\" href=\"http:\/\/dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/\" target=\"_blank\">Part I \u2013 Principle &amp; Creation<\/a><br \/>\n<a title=\"Part II \u2013 INSERT, UPDATE &amp; DELETE commands\" href=\"http:\/\/dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-ii\/\" target=\"_blank\">Part II \u2013 INSERT, UPDATE &amp; DELETE commands<\/a><br \/>\n<a title=\"Part III \u2013 SELECT command\" href=\"http:\/\/dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-iii\/\" target=\"_blank\">Part III \u2013 SELECT command<\/a><br \/>\n<a title=\"Part IV \u2013 Maintenance &amp; Metadata\" href=\"http:\/\/dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-iv\/\" target=\"_blank\">Part IV \u2013 Maintenance &amp; Metadata<\/a><\/p>\n<p>To begin, I will just precise a mistake between SQL server and Oracle. I read and heard that Temporal Tables is like the Flashback Technology from Oracle, but in reality it is the same as the new feature in the Oracle 12c Release 1: <strong>Temporal Validity<\/strong>. More information <a title=\"Oracle Temporal Validity\" href=\"https:\/\/oracle-base.com\/articles\/12c\/temporal-validity-12cr1\" target=\"_blank\">here<\/a><br \/>\nFlashback is based on undo or flashback log Files and not directly the table.<\/p>\n<p>SQL Server version\/built used for this serie of articles is <strong>CTP 2.2\/13.0.407.1<\/strong><\/p>\n<h3>Why temporal?<\/h3>\n<p>It is likely to come back in time to see the database how it &#8220;looks like&#8221; at this moment.<br \/>\nAnother interesting point is for DML Audit (INSERT, UPDATE, DELETE or MERGE), because we have a trace for all data changes.<br \/>\nAnother advantage is the possibility to recover data, if unintentional data changes happened (human or application errors).<\/p>\n<h3>How its work?<\/h3>\n<p>When you create a temporal table or you transform (Alter) a \u201cnormal\u201d table to a temporal table, 2 tables are implemented:<\/p>\n<ul>\n<li>Current Table with the current value for each records called <strong>System-Versioned Table<\/strong><\/li>\n<li>History table with all previous values for each records called <strong>History Table<\/strong><\/li>\n<\/ul>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/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\/sites\/2\/2022\/04\/temporal01.png\" alt=\"temporal01\" width=\"300\" height=\"83\" \/><\/a><\/p>\n<p>The principle is very simple:\u00a0 add a Start and an End Time columns to have a validity period for each record.<\/p>\n<p>Let\u2019s go to the practice.<br \/>\nIn my sample, I create a \u2018Zoo\u2019 database with a table \u2018Animals\u2019 which inventory animals.<br \/>\nI create my table \u2018Animals\u2019 for the inventory with this new feature:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">USE Zoo;\n\nCREATE TABLE [dbo].[Animals]\n(\n [AnimalId] [int] IDENTITY(1,1) NOT NULL,\n [Name] [varchar](200) NOT NULL,\n [Genus Species] [varchar](200) NOT NULL,\n [Number]  [int] NOT NULL,\n\n CONSTRAINT [PK_Animals] PRIMARY KEY CLUSTERED ([AnimalId] ASC),\n\n \/*Temporal: Define the Period*\/\n  [StartDate] [datetime2](0) GENERATED ALWAYS AS ROW START NOT NULL,\n  [EndDate]  [datetime2](0) GENERATED ALWAYS AS ROW END NOT NULL,\n PERIOD FOR SYSTEM_TIME([StartDate],[EndDate])\n) \n WITH (SYSTEM_VERSIONING=ON(HISTORY_TABLE = [dbo].[AnimalsHistory]))<\/pre>\n<p>Run the query and you can see when you refresh Tables folder in SSMS, a \u201c(System-Versioned)\u201d text near your table name.<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/temporal02.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-3307 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/temporal02.png\" alt=\"temporal02\" width=\"300\" height=\"142\" \/><\/a><\/p>\n<p>If you want to change an existing table, you need to define a default value for the Start Date and the End Date like this:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">ALTER TABLE [dbo].[Animals]\n ADD StartDate datetime2(0) GENERATED ALWAYS AS ROW START CONSTRAINT P_StartDateConstraint DEFAULT '2000.01.01',\n EndDate  datetime2(0) GENERATED ALWAYS AS ROW END CONSTRAINT P_EndDateConstraint DEFAULT CONVERT(DATETIME2, '9999-12-31 23:59:59'),\n PERIOD FOR SYSTEM_TIME(StartDate,EndDate);\n<\/pre>\n<p>In SSMS, I expand my Table and I can see a new table dbo.AnimlasHistory with the symbol<a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/temporal03.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-3308\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/temporal03.png\" alt=\"temporal03\" width=\"24\" height=\"23\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/temporal04.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-3309 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/temporal04.png\" alt=\"temporal04\" width=\"189\" height=\"300\" \/><\/a><\/p>\n<p>In my table, I define the history table with the option:<\/p>\n<pre class=\"brush: sql; gutter: true; first-line: 1\">WITH (SYSTEM_VERSIONING=ON(HISTORY_TABLE = [dbo].[AnimalsHistory]))<\/pre>\n<p>You can notice, this table creation add a Clustered index ix_AnimalsHistory.<\/p>\n<p><a href=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/temporal05.png\"><img loading=\"lazy\" decoding=\"async\" class=\" size-medium wp-image-3310 aligncenter\" src=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/temporal05.png\" alt=\"temporal05\" width=\"300\" height=\"139\" \/><\/a><\/p>\n<p>This index is created with the Primary Key (AnimalId), the Start Date and the End Date.<\/p>\n<h2><\/h2>\n<h2><strong>CORE MESSAGE<\/strong><\/h2>\n<ul>\n<li>It is easy to create a Temporal Table, just <strong>add a Start Date and the End Date with a DateTime2 data type<\/strong>.<\/li>\n<li>The option <strong>\u201cWITH (SYSTEM_VERSIONING=ON(HISTORY_TABLE = &lt;History Table Name&gt;))\u201d<\/strong> validates the usage of the temporal table and specifies the name of the history table.<\/li>\n<li>In SQL Server Management Studio (SSMS), a temporal table have<strong> (System-Versioned)<\/strong> near its name.<\/li>\n<li>The history table is just below the table in the object explorer tree with the symbol and has<strong> (History)<\/strong> near its name.<\/li>\n<li>The history table has <strong>automatically a clustered index<\/strong> created during the temporal table creation.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Principle &amp; Creation Microsoft create in SQL server 2016 a new feature temporal table, based on the latest edition of the SQL standard: SQL:2011. If you want read more about this standard, click here. I divide my article into 4 parts to be clearer and easier to read: Part I \u2013 Principle &amp; Creation Part [&hellip;]<\/p>\n","protected":false},"author":15,"featured_media":5326,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[48],"tags":[49,51,566,625],"type_dbi":[],"class_list":["post-5320","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology-survey","tag-microsoft","tag-sql-server","tag-sql-server-2016","tag-temporal-table"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>SQL Server 2016: the Time Travel with temporal table \u2013 Part I - dbi Blog<\/title>\n<meta name=\"description\" content=\"Microsoft create in SQL server 2016 a new feature temporal table, based on the latest edition of the SQL standard: SQL:2011. A serie of four articles present this features.\" \/>\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-the-time-travel-with-temporal-table-part-i\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"SQL Server 2016: the Time Travel with temporal table \u2013 Part I\" \/>\n<meta property=\"og:description\" content=\"Microsoft create in SQL server 2016 a new feature temporal table, based on the latest edition of the SQL standard: SQL:2011. A serie of four articles present this features.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2015-08-28T05:09:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/temporal01-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"838\" \/>\n\t<meta property=\"og:image:height\" content=\"233\" \/>\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: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=\"3 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-the-time-travel-with-temporal-table-part-i\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-the-time-travel-with-temporal-table-part-i\\\/\"},\"author\":{\"name\":\"St\u00e9phane Haby\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0bfb7484ae81c8980fc2b11334f803b\"},\"headline\":\"SQL Server 2016: the Time Travel with temporal table \u2013 Part I\",\"datePublished\":\"2015-08-28T05:09:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-the-time-travel-with-temporal-table-part-i\\\/\"},\"wordCount\":518,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-the-time-travel-with-temporal-table-part-i\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/temporal01-1.png\",\"keywords\":[\"Microsoft\",\"SQL Server\",\"SQL Server 2016\",\"Temporal Table\"],\"articleSection\":[\"Technology Survey\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-the-time-travel-with-temporal-table-part-i\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-the-time-travel-with-temporal-table-part-i\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-the-time-travel-with-temporal-table-part-i\\\/\",\"name\":\"SQL Server 2016: the Time Travel with temporal table \u2013 Part I - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-the-time-travel-with-temporal-table-part-i\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-the-time-travel-with-temporal-table-part-i\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/temporal01-1.png\",\"datePublished\":\"2015-08-28T05:09:45+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/d0bfb7484ae81c8980fc2b11334f803b\"},\"description\":\"Microsoft create in SQL server 2016 a new feature temporal table, based on the latest edition of the SQL standard: SQL:2011. A serie of four articles present this features.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-the-time-travel-with-temporal-table-part-i\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-the-time-travel-with-temporal-table-part-i\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-the-time-travel-with-temporal-table-part-i\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/temporal01-1.png\",\"contentUrl\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/wp-content\\\/uploads\\\/sites\\\/2\\\/2022\\\/04\\\/temporal01-1.png\",\"width\":838,\"height\":233},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/sql-server-2016-the-time-travel-with-temporal-table-part-i\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Server 2016: the Time Travel with temporal table \u2013 Part I\"}]},{\"@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\\\/d0bfb7484ae81c8980fc2b11334f803b\",\"name\":\"St\u00e9phane Haby\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g\",\"caption\":\"St\u00e9phane Haby\"},\"description\":\"St\u00e9phane Haby has more than ten years of experience in Microsoft solutions. He is specialized in SQL Server technologies such as installation, migration, best practices, and performance analysis etc. He is also an expert in Microsoft Business Intelligence solutions such as SharePoint, SQL Server and Office. Futhermore, he has many years of .NET development experience in the banking sector and other industries. In France, he was one of the first people to have worked with Microsoft Team System. He has written several technical articles on this subject. St\u00e9phane Haby is Microsoft Most Valuable Professional (MVP) as well as 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. He holds a Engineer diploma in industrial computing and automation from France. His branch-related experience covers Chemicals &amp; Pharmaceuticals, Banking \\\/ Financial Services, and many other industries.\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/stephane-haby\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"SQL Server 2016: the Time Travel with temporal table \u2013 Part I - dbi Blog","description":"Microsoft create in SQL server 2016 a new feature temporal table, based on the latest edition of the SQL standard: SQL:2011. A serie of four articles present this features.","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-the-time-travel-with-temporal-table-part-i\/","og_locale":"en_US","og_type":"article","og_title":"SQL Server 2016: the Time Travel with temporal table \u2013 Part I","og_description":"Microsoft create in SQL server 2016 a new feature temporal table, based on the latest edition of the SQL standard: SQL:2011. A serie of four articles present this features.","og_url":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/","og_site_name":"dbi Blog","article_published_time":"2015-08-28T05:09:45+00:00","og_image":[{"width":838,"height":233,"url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/temporal01-1.png","type":"image\/png"}],"author":"St\u00e9phane Haby","twitter_card":"summary_large_image","twitter_misc":{"Written by":"St\u00e9phane Haby","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/"},"author":{"name":"St\u00e9phane Haby","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b"},"headline":"SQL Server 2016: the Time Travel with temporal table \u2013 Part I","datePublished":"2015-08-28T05:09:45+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/"},"wordCount":518,"commentCount":0,"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/temporal01-1.png","keywords":["Microsoft","SQL Server","SQL Server 2016","Temporal Table"],"articleSection":["Technology Survey"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/","url":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/","name":"SQL Server 2016: the Time Travel with temporal table \u2013 Part I - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/#primaryimage"},"image":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/#primaryimage"},"thumbnailUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/temporal01-1.png","datePublished":"2015-08-28T05:09:45+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/d0bfb7484ae81c8980fc2b11334f803b"},"description":"Microsoft create in SQL server 2016 a new feature temporal table, based on the latest edition of the SQL standard: SQL:2011. A serie of four articles present this features.","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/#primaryimage","url":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/temporal01-1.png","contentUrl":"https:\/\/www.dbi-services.com\/blog\/wp-content\/uploads\/sites\/2\/2022\/04\/temporal01-1.png","width":838,"height":233},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/sql-server-2016-the-time-travel-with-temporal-table-part-i\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"SQL Server 2016: the Time Travel with temporal table \u2013 Part I"}]},{"@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\/d0bfb7484ae81c8980fc2b11334f803b","name":"St\u00e9phane Haby","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1123227ca39a5dca608c0f72d23cd1904fee29979749bbb3a485b9438436c553?s=96&d=mm&r=g","caption":"St\u00e9phane Haby"},"description":"St\u00e9phane Haby has more than ten years of experience in Microsoft solutions. He is specialized in SQL Server technologies such as installation, migration, best practices, and performance analysis etc. He is also an expert in Microsoft Business Intelligence solutions such as SharePoint, SQL Server and Office. Futhermore, he has many years of .NET development experience in the banking sector and other industries. In France, he was one of the first people to have worked with Microsoft Team System. He has written several technical articles on this subject. St\u00e9phane Haby is Microsoft Most Valuable Professional (MVP) as well as 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. He holds a Engineer diploma in industrial computing and automation from France. His branch-related experience covers Chemicals &amp; Pharmaceuticals, Banking \/ Financial Services, and many other industries.","url":"https:\/\/www.dbi-services.com\/blog\/author\/stephane-haby\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/5320","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=5320"}],"version-history":[{"count":0,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/5320\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media\/5326"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=5320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=5320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=5320"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=5320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}