{"id":913,"date":"2014-07-10T11:35:00","date_gmt":"2014-07-10T18:35:00","guid":{"rendered":"https:\/\/blogs.technet.microsoft.com\/dataplatforminsider\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/"},"modified":"2024-01-22T22:48:51","modified_gmt":"2024-01-23T06:48:51","slug":"new-asp-net-session-state-provider-for-sql-server-in-memory-oltp","status":"publish","type":"post","link":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/","title":{"rendered":"New: ASP.NET Session State Provider for SQL Server In-Memory OLTP"},"content":{"rendered":"<p>Microsoft SQL Server 2014 brings new performance and scalability gains by introducing <a href=\"http:\/\/www.microsoft.com\/en-us\/server-cloud\/solutions\/in-memory.aspx?WT.mc_id=Blog_SQL_Announce_DI\">In-Memory OLTP<\/a>. \u00a0In-Memory OLTP contains tables and indexes optimized for in memory. Transactions execute under lock-free algorithms to provide linear scalability and Transact-SQL stored procedures can be compiled in native machine code for maximum efficiency in processing.<\/p>\n<p>Working with SQL Server customers on In-Memory OLTP engagements, a common pattern emerged around the desire for increased performance and scalability when using ASP.NET session state. Some early adopters modified their SQL Server objects to take advantage of In-Memory OLTP for ASP.NET session state, with great success. To learn more, read the bwin.party case study \u201c<a href=\"http:\/\/www.microsoft.com\/casestudies\/Case_Study_Detail.aspx?CaseStudyID=710000003117&amp;WT.mc_id=Blog_SQL_Announce_DI\">Gaming site can scale to 250,000 requests per second and improve player experience<\/a>\u201d. To further enhance this scenario, we have created a new provider to make it easier for customers to take advantage of SQL Server In-Memory OLTP when using ASP.NET session state.<\/p>\n<p>This ASP.NET session state provider is fully optimized for In-Memory OLTP by calling natively compiled Transact-SQL stored procedures and by creating all tables as memory-optimized. The functionality of the provider was tested both internally and by external customers. The results showed the implementation was able to provide some significant gains at scale levels which would have previously exhibited a bottleneck on the database.<\/p>\n<p>NOTE: While some testing has been done before the release, we recommend executing your own testing and validation to understand how this implementation behaves in your specific environment.<\/p>\n<h2>Getting Started<\/h2>\n<p>Setting up the provider requires two steps, installing the provider into the ASP.NET application and creating the In-Memory OLTP database and objects in Microsoft SQL Server 2014.<\/p>\n<p>The provider and scripts can be accessed in two ways:<\/p>\n<p>1. The package has been uploaded to NuGet: <a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Web.SessionState.SqlInMemory\/?WT.mc_id=Blog_SQL_Announce_DI\">https:\/\/www.nuget.org\/packages\/Microsoft.Web.SessionState.SqlInMemory\/<\/a><\/p>\n<p>2. The source code is also accessible through CodePlex:\u00a0<a href=\"https:\/\/www.microsoft.com\/sql-server\/sql-server-downloads\">https:\/\/msftdbprodsamples.codeplex.com\/releases\/view\/125282<\/a><\/p>\n<h3>NuGet Installation<\/h3>\n<p>Download the ASP.NET Session State Provider for SQL Server In-Memory OLTP from the NuGet gallery by running the following command from the Visual Studio Package Manager Console:<\/p>\n<p><code>PM&gt; Install-Package Microsoft.Web.SessionState.SqlInMemory<\/code><\/p>\n<p>More information about the NuGet package can be found here:<\/p>\n<p><a href=\"https:\/\/www.nuget.org\/packages\/Microsoft.Web.SessionState.SqlInMemory\/?WT.mc_id=Blog_SQL_Announce_DI\">https:\/\/www.nuget.org\/packages\/Microsoft.Web.SessionState.SqlInMemory\/<\/a><\/p>\n<p>Installing the package will do the following things:<\/p>\n<ul>\n<li>Add references to the ASP.NET Session State Provider assembly.<\/li>\n<li>Add to the web.config file a customProvider equals to &#8220;SqlInMemoryProvider&#8221;, where the connectionString attribute needs to be updated.\n<pre>&lt;?xml version=\"1.0\" encoding=\"utf-8\"?&gt;\n &lt;configuration&gt;\n \u00a0\u00a0&lt;system.web&gt;\n \u00a0\u00a0\u00a0\u00a0&lt;sessionState\u00a0mode=\"Custom\"\u00a0customProvider=\"SqlInMemoryProvider\"&gt;\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;providers&gt;\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;add\u00a0name=\"SqlInMemoryProvider\"\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0type=\"Microsoft.Web.SessionState.SqlInMemoryProvider\"\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0connectionString=\"data source=sqlserver;initial catalog=ASPStateInMemory;User ID=user;Password=password;\"\u00a0\/&gt;\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/providers&gt;\n \u00a0\u00a0\u00a0\u00a0&lt;\/sessionState&gt;\n \u00a0\u00a0&lt;\/system.web&gt;\n &lt;\/configuration&gt;\n<\/pre>\n<\/li>\n<li>Adds an ASPStateInMemory.sql file that includes the script for creating the SQL Server database configured to support In-Memory OLTP.<\/li>\n<\/ul>\n<h3>Setting up In-Memory OLTP Database and objects<\/h3>\n<p>Open the T-SQL script file &#8220;ASPStateInMemory.sql&#8221; and update the &#8216;CREATE DATABASE&#8217; statement to replace the &#8216;FILENAME&#8217; attributes to specify a path that will exist in your SQL Server machine where the memory-optimized filegroup should exist. For further considerations on placement of this filegroup see Books Online section <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dn133174.aspx?WT.mc_id=Blog_SQL_Announce_DI\">Creating and Managing Storage for Memory-Optimized Objects<\/a><\/p>\n<pre>CREATE DATABASE [ASPStateInMemory]\nON PRIMARY (\n  NAME = ASPStateInMemory, FILENAME = 'D:\\SQL\\data\\ASPStateInMemory_data.mdf'\n),\nFILEGROUP ASPStateInMemory_xtp_fg CONTAINS MEMORY_OPTIMIZED_DATA (\n  NAME = ASPStateInMemory_xtp, FILENAME = 'D:\\SQL\\data\\ASPStateInMemory_xtp'\n)\nGO\n<\/pre>\n<p>After updating the &#8216;FILENAME&#8217; attributes, run the entire script for creating the In-Memory tables and the natively compiled stored procedures.<\/p>\n<p>Additionally, create a periodic task in SQL Server to run the stored procedure &#8216;dbo.DeleteExpiredSessions&#8217;. This procedure removes the expired sessions and frees up the memory consumed.<\/p>\n<p>NOTE: The memory-optimized tables are created with a durability of SCHEMA_ONLY to optimize for performance. If session data durability is required, then change the &#8216;DURABILITY&#8217; attribute from &#8216;SCHEMA_ONLY&#8217; to &#8216;SCHEMA_AND_DATA&#8217;. More information can be found in Books Online sections <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dn553122.aspx?WT.mc_id=Blog_SQL_Announce_DI\">Defining Durability for Memory-Optimized Objects<\/a> and <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dn553125.aspx?WT.mc_id=Blog_SQL_Announce_DI\">Durability for Memory-Optimized Tables<\/a>.<\/p>\n<h2>Conclusion<\/h2>\n<p>SQL Server In-Memory OLTP has shown to greatly improve the performance of ASP.NET session state applications. This provider allows customers to optimize ASP.NET web farms to take advantage of SQL Server In-Memory OLTP using a packaged solution with ease.<\/p>\n<p>For further considerations on session state with In-Memory OLTP, along with other solution patterns which have shown success with SQL Server In-Memory OLTP, please reference the whitepaper: <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/dn673538.aspx?WT.mc_id=Blog_SQL_Announce_DI\">In-Memory OLTP \u2013 Common Workload Patterns and Migration Considerations. <\/a><\/p>\n<p>Download the <a href=\"http:\/\/technet.microsoft.com\/en-US\/evalcenter\/dn205290.aspx?WT.mc_id=Blog_SQL_Announce_DI\">Microsoft SQL Server 2014 Evaluation<\/a> and see how in-memory processing built into SQL Server 2014 delivers breakthrough performance.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft SQL Server 2014 brings new performance and scalability gains by introducing In-Memory OLTP. \u00a0In-Memory OLTP contains tables and indexes optimized for in memory. Transactions execute under lock-free algorithms to provide linear scalability and Transact-SQL stored procedures can be compiled in native machine code for maximum efficiency in processing.<\/p>\n","protected":false},"author":1457,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ep_exclude_from_search":false,"_classifai_error":"","_classifai_text_to_speech_error":"","footnotes":""},"post_tag":[],"product":[],"content-type":[2424,2448],"topic":[2475],"coauthors":[2487],"class_list":["post-913","post","type-post","status-publish","format-standard","hentry","content-type-best-practices","content-type-updates","topic-oltp-database-management","review-flag-1593580361-1","review-flag-1593580427-503","review-flag-1-1593580431-15","review-flag-2-1593580436-981","review-flag-8-1593580467-480","review-flag-free-1593619513-128","review-flag-new-1593580247-437"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.2 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>New: ASP.NET Session State Provider for SQL Server In-Memory OLTP - Microsoft SQL Server Blog<\/title>\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.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"New: ASP.NET Session State Provider for SQL Server In-Memory OLTP - Microsoft SQL Server Blog\" \/>\n<meta property=\"og:description\" content=\"Microsoft SQL Server 2014 brings new performance and scalability gains by introducing In-Memory OLTP. \u00a0In-Memory OLTP contains tables and indexes optimized for in memory. Transactions execute under lock-free algorithms to provide linear scalability and Transact-SQL stored procedures can be compiled in native machine code for maximum efficiency in processing.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/\" \/>\n<meta property=\"og:site_name\" content=\"Microsoft SQL Server Blog\" \/>\n<meta property=\"article:publisher\" content=\"http:\/\/www.facebook.com\/sqlserver\" \/>\n<meta property=\"article:published_time\" content=\"2014-07-10T18:35:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-23T06:48:51+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/08\/cropped-microsoft_logo_element.png\" \/>\n\t<meta property=\"og:image:width\" content=\"512\" \/>\n\t<meta property=\"og:image:height\" content=\"512\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"SQL Server Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SQLServer\" \/>\n<meta name=\"twitter:site\" content=\"@SQLServer\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"SQL Server Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 min read\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/\"},\"author\":[{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/author\/sql-server-team\/\",\"@type\":\"Person\",\"@name\":\"SQL Server Team\"}],\"headline\":\"New: ASP.NET Session State Provider for SQL Server In-Memory OLTP\",\"datePublished\":\"2014-07-10T18:35:00+00:00\",\"dateModified\":\"2024-01-23T06:48:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/\"},\"wordCount\":684,\"commentCount\":20,\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#organization\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/\",\"name\":\"New: ASP.NET Session State Provider for SQL Server In-Memory OLTP - Microsoft SQL Server Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#website\"},\"datePublished\":\"2014-07-10T18:35:00+00:00\",\"dateModified\":\"2024-01-23T06:48:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"New: ASP.NET Session State Provider for SQL Server In-Memory OLTP\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#website\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/\",\"name\":\"Microsoft SQL Server Blog\",\"description\":\"Official News from Microsoft\u2019s Information Platform\",\"publisher\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#organization\",\"name\":\"Microsoft SQL Server Blog\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"contentUrl\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png\",\"width\":259,\"height\":194,\"caption\":\"Microsoft SQL Server Blog\"},\"image\":{\"@id\":\"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"http:\/\/www.facebook.com\/sqlserver\",\"https:\/\/x.com\/SQLServer\",\"https:\/\/www.youtube.com\/user\/MSCloudOS\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"New: ASP.NET Session State Provider for SQL Server In-Memory OLTP - Microsoft SQL Server Blog","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.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/","og_locale":"en_US","og_type":"article","og_title":"New: ASP.NET Session State Provider for SQL Server In-Memory OLTP - Microsoft SQL Server Blog","og_description":"Microsoft SQL Server 2014 brings new performance and scalability gains by introducing In-Memory OLTP. \u00a0In-Memory OLTP contains tables and indexes optimized for in memory. Transactions execute under lock-free algorithms to provide linear scalability and Transact-SQL stored procedures can be compiled in native machine code for maximum efficiency in processing.","og_url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/","og_site_name":"Microsoft SQL Server Blog","article_publisher":"http:\/\/www.facebook.com\/sqlserver","article_published_time":"2014-07-10T18:35:00+00:00","article_modified_time":"2024-01-23T06:48:51+00:00","og_image":[{"width":512,"height":512,"url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2018\/08\/cropped-microsoft_logo_element.png","type":"image\/png"}],"author":"SQL Server Team","twitter_card":"summary_large_image","twitter_creator":"@SQLServer","twitter_site":"@SQLServer","twitter_misc":{"Written by":"SQL Server Team","Est. reading time":"3 min read"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/#article","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/"},"author":[{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/author\/sql-server-team\/","@type":"Person","@name":"SQL Server Team"}],"headline":"New: ASP.NET Session State Provider for SQL Server In-Memory OLTP","datePublished":"2014-07-10T18:35:00+00:00","dateModified":"2024-01-23T06:48:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/"},"wordCount":684,"commentCount":20,"publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#organization"},"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/","url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/","name":"New: ASP.NET Session State Provider for SQL Server In-Memory OLTP - Microsoft SQL Server Blog","isPartOf":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#website"},"datePublished":"2014-07-10T18:35:00+00:00","dateModified":"2024-01-23T06:48:51+00:00","breadcrumb":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/2014\/07\/10\/new-asp-net-session-state-provider-for-sql-server-in-memory-oltp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/"},{"@type":"ListItem","position":2,"name":"New: ASP.NET Session State Provider for SQL Server In-Memory OLTP"}]},{"@type":"WebSite","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#website","url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/","name":"Microsoft SQL Server Blog","description":"Official News from Microsoft\u2019s Information Platform","publisher":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#organization","name":"Microsoft SQL Server Blog","url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","contentUrl":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-content\/uploads\/2019\/08\/Microsoft-Logo.png","width":259,"height":194,"caption":"Microsoft SQL Server Blog"},"image":{"@id":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/#\/schema\/logo\/image\/"},"sameAs":["http:\/\/www.facebook.com\/sqlserver","https:\/\/x.com\/SQLServer","https:\/\/www.youtube.com\/user\/MSCloudOS"]}]}},"msxcm_display_generated_audio":false,"msxcm_animated_featured_image":null,"_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/posts\/913","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/users\/1457"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/comments?post=913"}],"version-history":[{"count":0,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/posts\/913\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/media?parent=913"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/post_tag?post=913"},{"taxonomy":"product","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/product?post=913"},{"taxonomy":"content-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/content-type?post=913"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/topic?post=913"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/sql-server\/blog\/wp-json\/wp\/v2\/coauthors?post=913"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}