<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Memory Optimized Table &#8211; Database Research &amp; Development</title>
	<atom:link href="https://www.dbrnd.com/tag/memory-optimized-table/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.dbrnd.com</link>
	<description>BIGData &#124; NoSQL &#124; MSSQL &#124; MySQL &#124; PostgreSQL</description>
	<lastBuildDate>Sun, 17 Dec 2017 20:35:13 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.4</generator>
	<item>
		<title>SQL Server 2016: Columnstore Index on Memory Optimized In Memory OLTP Tables</title>
		<link>https://www.dbrnd.com/2018/01/sql-server-2016-columnstore-index-on-memory-optimized-in-memory-oltp-tables/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Sun, 07 Jan 2018 16:16:46 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[column store index]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[Hekaton]]></category>
		<category><![CDATA[In-Memory Database]]></category>
		<category><![CDATA[memory database]]></category>
		<category><![CDATA[Memory Optimized Table]]></category>
		<category><![CDATA[SQL Query]]></category>
		<category><![CDATA[SQL Server 2014]]></category>
		<category><![CDATA[SQL Server 2016]]></category>
		<category><![CDATA[SQL Server Administrator]]></category>
		<category><![CDATA[SQL Server Monitoring]]></category>
		<category><![CDATA[SQL Server Performance Tunning]]></category>
		<category><![CDATA[SQL Server Tips and Tricks]]></category>
		<category><![CDATA[TSQL]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=4201</guid>

					<description><![CDATA[<div><img width="675" height="400" src="https://www.dbrnd.com/wp-content/uploads/2017/12/SQLRam.jpg" class="attachment-post-image size-post-image wp-post-image" alt="SQLRam" decoding="async" fetchpriority="high" /></div>Microsoft SQL Server 2016 comes with a variety of new additions and I am happy for exploring the new features of SQL Server 2016. Microsoft SQL Server 2014 introduced Hekaton engine which used for In-Memory Database objects. SQL Server 2014: Create Memory Optimized File Group and Table SQL Server 2016 introduced Columnstore index for Memory-Optimized [&#8230;]]]></description>
										<content:encoded><![CDATA[<div><img width="675" height="400" src="https://www.dbrnd.com/wp-content/uploads/2017/12/SQLRam.jpg" class="attachment-post-image size-post-image wp-post-image" alt="SQLRam" decoding="async" /></div><p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2018%2F01%2Fsql-server-2016-columnstore-index-on-memory-optimized-in-memory-oltp-tables%2F&amp;linkname=SQL%20Server%202016%3A%20Columnstore%20Index%20on%20Memory%20Optimized%20In%20Memory%20OLTP%20Tables" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2018%2F01%2Fsql-server-2016-columnstore-index-on-memory-optimized-in-memory-oltp-tables%2F&amp;linkname=SQL%20Server%202016%3A%20Columnstore%20Index%20on%20Memory%20Optimized%20In%20Memory%20OLTP%20Tables" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2018%2F01%2Fsql-server-2016-columnstore-index-on-memory-optimized-in-memory-oltp-tables%2F&amp;linkname=SQL%20Server%202016%3A%20Columnstore%20Index%20on%20Memory%20Optimized%20In%20Memory%20OLTP%20Tables" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2018%2F01%2Fsql-server-2016-columnstore-index-on-memory-optimized-in-memory-oltp-tables%2F&amp;linkname=SQL%20Server%202016%3A%20Columnstore%20Index%20on%20Memory%20Optimized%20In%20Memory%20OLTP%20Tables" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2018%2F01%2Fsql-server-2016-columnstore-index-on-memory-optimized-in-memory-oltp-tables%2F&amp;linkname=SQL%20Server%202016%3A%20Columnstore%20Index%20on%20Memory%20Optimized%20In%20Memory%20OLTP%20Tables" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2018%2F01%2Fsql-server-2016-columnstore-index-on-memory-optimized-in-memory-oltp-tables%2F&amp;linkname=SQL%20Server%202016%3A%20Columnstore%20Index%20on%20Memory%20Optimized%20In%20Memory%20OLTP%20Tables" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2018%2F01%2Fsql-server-2016-columnstore-index-on-memory-optimized-in-memory-oltp-tables%2F&#038;title=SQL%20Server%202016%3A%20Columnstore%20Index%20on%20Memory%20Optimized%20In%20Memory%20OLTP%20Tables" data-a2a-url="https://www.dbrnd.com/2018/01/sql-server-2016-columnstore-index-on-memory-optimized-in-memory-oltp-tables/" data-a2a-title="SQL Server 2016: Columnstore Index on Memory Optimized In Memory OLTP Tables"></a></p><p>Microsoft SQL Server 2016 comes with a variety of new additions and I am happy for exploring the new features of SQL Server 2016.</p>
<p>Microsoft SQL Server 2014 introduced Hekaton engine which used for In-Memory Database objects.</p>
<blockquote class="wp-embedded-content" data-secret="dA5hDdDtd2"><p><a href="https://www.dbrnd.com/2016/01/sql-server-2014-create-memory-optimized-file-group-and-table/">SQL Server 2014: Create Memory Optimized File Group and Table</a></p></blockquote>
<p><iframe class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  src="https://www.dbrnd.com/2016/01/sql-server-2014-create-memory-optimized-file-group-and-table/embed/#?secret=dA5hDdDtd2" data-secret="dA5hDdDtd2" width="600" height="338" title="&#8220;SQL Server 2014: Create Memory Optimized File Group and Table&#8221; &#8212; Database Research &amp; Development" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<blockquote><p>SQL Server 2016 introduced Columnstore index for Memory-Optimized Table which was not possible previously.<br />
If you are planning to store large amount of data In Memory, you can apply Columnstore Index on that In Memory OLTP Table.</p></blockquote>
<blockquote><p>It comes with one condition: you can not apply Columnstore Index on the particular column. It must apply to all the columns of In-Memory Table.</p></blockquote>
<p><strong>Small demonstration with all the possible errors:</strong></p>
<p><strong>Create a sample memory optimized table with column store index:</strong></p>
<pre class="crayon-plain-tag">CREATE TABLE tbl_Employees
(
	EmpID INT
	,EmpName VARCHAR(50)
	,EmpSalary INT
	,EmpDOJ DATETIME
	,INDEX idx_tbl_Employees_columnstore CLUSTERED COLUMNSTORE 
)
WITH (MEMORY_OPTIMIZED = ON)
GO</pre> </p>
<p><strong>You will get a below error:</strong></p>
<pre class="crayon-plain-tag">Msg 41321, Level 16, State 7, Line 1
The memory optimized table 'tbl_Employees' with DURABILITY=SCHEMA_AND_DATA must have a primary key.</pre> </p>
<p><strong>Add primary key on script and execute it:</strong></p>
<pre class="crayon-plain-tag">CREATE TABLE tbl_Employees
(
	EmpID INT PRIMARY KEY
	,EmpName VARCHAR(50)
	,EmpSalary INT
	,EmpDOJ DATETIME
	,INDEX idx_tbl_Employees_columnstore CLUSTERED COLUMNSTORE 
)
WITH (MEMORY_OPTIMIZED = ON)
GO</pre> </p>
<p><strong>You will get a below error:</strong></p>
<pre class="crayon-plain-tag">Msg 12317, Level 16, State 78, Line 3
Clustered indexes, which are the default for primary keys, are not supported with memory optimized tables. Specify a NONCLUSTERED index instead.</pre> </p>
<p><strong>Apply Non Clustered Primary key and execute it:</strong></p>
<pre class="crayon-plain-tag">CREATE TABLE tbl_Employees
(
	EmpID INT PRIMARY KEY NONCLUSTERED
	,EmpName VARCHAR(50)
	,EmpSalary INT
	,EmpDOJ DATETIME
	,INDEX idx_tbl_Employees_columnstore CLUSTERED COLUMNSTORE 
)
WITH (MEMORY_OPTIMIZED = ON)
GO</pre> </p>
<p><strong>If you have not created Memory Optimized File group and related files, you may get a below error:</strong></p>
<pre class="crayon-plain-tag">Msg 41337, Level 16, State 100, Line 1
Cannot create memory optimized tables. To create memory optimized tables, the database must have a MEMORY_OPTIMIZED_FILEGROUP that is online and has at least one container.</pre> </p>
<p><strong>Create memory optimized file group and data files:<br />
</strong></p><pre class="crayon-plain-tag">USE [master]
GO
ALTER DATABASE [Database_Name] 
ADD FILEGROUP [Memory_Optimized] CONTAINS MEMORY_OPTIMIZED_DATA 
GO
ALTER DATABASE [Database_Name] 
ADD FILE ( NAME = N'HekatonMemory', FILENAME = N'C:\Hekaton\hek.mdf' ) 
TO FILEGROUP [Memory_Optimized]
GO</pre><p> </p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL Server 2014: Monitor Memory Optimized Tables which stored in Memory</title>
		<link>https://www.dbrnd.com/2018/01/sql-server-2014-monitor-memory-optimized-tables-which-stored-in-memory-dm_db_xtp_table_memory_stats/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Wed, 03 Jan 2018 16:16:43 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server DBA Script]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[Hekaton]]></category>
		<category><![CDATA[In-Memory Database]]></category>
		<category><![CDATA[Memory Optimized Table]]></category>
		<category><![CDATA[monitor memory table]]></category>
		<category><![CDATA[SQL Query]]></category>
		<category><![CDATA[SQL Server Administrator]]></category>
		<category><![CDATA[SQL Server Monitoring]]></category>
		<category><![CDATA[SQL Server Performance Tunning]]></category>
		<category><![CDATA[SQL Server Tips and Tricks]]></category>
		<category><![CDATA[TSQL]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=4169</guid>

					<description><![CDATA[<div><img width="442" height="293" src="https://www.dbrnd.com/wp-content/uploads/2017/12/SQLMemory.jpg" class="attachment-post-image size-post-image wp-post-image" alt="SQL Memory" decoding="async" loading="lazy" /></div>SQL Server 2014 introduced the concept of In-Memory Database which provides the best combination of RDBMS + In-Memory Database. SQL DBA is monitoring the size of tables, indexes and other fragmentation related information. When we say that SQL Server tables stored in memory, we should also keep our eyes open on the utilization of memory. [&#8230;]]]></description>
										<content:encoded><![CDATA[<div><img width="442" height="293" src="https://www.dbrnd.com/wp-content/uploads/2017/12/SQLMemory.jpg" class="attachment-post-image size-post-image wp-post-image" alt="SQL Memory" decoding="async" loading="lazy" /></div><p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2018%2F01%2Fsql-server-2014-monitor-memory-optimized-tables-which-stored-in-memory-dm_db_xtp_table_memory_stats%2F&amp;linkname=SQL%20Server%202014%3A%20Monitor%20Memory%20Optimized%20Tables%20which%20stored%20in%20Memory" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2018%2F01%2Fsql-server-2014-monitor-memory-optimized-tables-which-stored-in-memory-dm_db_xtp_table_memory_stats%2F&amp;linkname=SQL%20Server%202014%3A%20Monitor%20Memory%20Optimized%20Tables%20which%20stored%20in%20Memory" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2018%2F01%2Fsql-server-2014-monitor-memory-optimized-tables-which-stored-in-memory-dm_db_xtp_table_memory_stats%2F&amp;linkname=SQL%20Server%202014%3A%20Monitor%20Memory%20Optimized%20Tables%20which%20stored%20in%20Memory" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2018%2F01%2Fsql-server-2014-monitor-memory-optimized-tables-which-stored-in-memory-dm_db_xtp_table_memory_stats%2F&amp;linkname=SQL%20Server%202014%3A%20Monitor%20Memory%20Optimized%20Tables%20which%20stored%20in%20Memory" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2018%2F01%2Fsql-server-2014-monitor-memory-optimized-tables-which-stored-in-memory-dm_db_xtp_table_memory_stats%2F&amp;linkname=SQL%20Server%202014%3A%20Monitor%20Memory%20Optimized%20Tables%20which%20stored%20in%20Memory" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2018%2F01%2Fsql-server-2014-monitor-memory-optimized-tables-which-stored-in-memory-dm_db_xtp_table_memory_stats%2F&amp;linkname=SQL%20Server%202014%3A%20Monitor%20Memory%20Optimized%20Tables%20which%20stored%20in%20Memory" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2018%2F01%2Fsql-server-2014-monitor-memory-optimized-tables-which-stored-in-memory-dm_db_xtp_table_memory_stats%2F&#038;title=SQL%20Server%202014%3A%20Monitor%20Memory%20Optimized%20Tables%20which%20stored%20in%20Memory" data-a2a-url="https://www.dbrnd.com/2018/01/sql-server-2014-monitor-memory-optimized-tables-which-stored-in-memory-dm_db_xtp_table_memory_stats/" data-a2a-title="SQL Server 2014: Monitor Memory Optimized Tables which stored in Memory"></a></p><p>SQL Server 2014 introduced the concept of In-Memory Database which provides the best combination of RDBMS + In-Memory Database.</p>
<blockquote><p>SQL DBA is monitoring the size of tables, indexes and other fragmentation related information.</p></blockquote>
<blockquote><p>When we say that SQL Server tables stored in memory, we should also keep our eyes open on the utilization of memory. </p></blockquote>
<blockquote><p>SQL Server 2014 also introduced one DMV (sys.dm_db_xtp_table_memory_stats) to check the memory utilization of Memory Optimized Tables.<br />
Using this view, you can find memory information like allocated memory and used memory for tables and indexes.</p></blockquote>
<p><strong>Executed below query on AdventureWorks2016ctp3:</strong></p><pre class="crayon-plain-tag">SELECT  
	OBJECT_ID 
	,OBJECT_SCHEMA_NAME(object_id) + '.' + OBJECT_NAME(object_id) AS TableName
	,memory_allocated_for_table_kb 
	,memory_used_by_table_kb 
	,memory_allocated_for_indexes_kb 
	,memory_used_by_indexes_kb
FROM sys.dm_db_xtp_table_memory_stats
GO</pre><p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-4172 size-full" title="sql server memory optimized table" src="https://www.dbrnd.com/wp-content/uploads/2016/12/SQLServerMemoryOptimizedTable.png" alt="sqlservermemoryoptimizedtable" width="974" height="213" srcset="https://www.dbrnd.com/wp-content/uploads/2016/12/SQLServerMemoryOptimizedTable.png 974w, https://www.dbrnd.com/wp-content/uploads/2016/12/SQLServerMemoryOptimizedTable-300x66.png 300w, https://www.dbrnd.com/wp-content/uploads/2016/12/SQLServerMemoryOptimizedTable-750x164.png 750w, https://www.dbrnd.com/wp-content/uploads/2016/12/SQLServerMemoryOptimizedTable-150x33.png 150w" sizes="auto, (max-width: 974px) 100vw, 974px" /></p>
<p><strong>Please visit other related articles:</strong></p>
<blockquote class="wp-embedded-content" data-secret="qk9b7WZejK"><p><a href="https://www.dbrnd.com/2016/01/sql-server-2014-what-is-hekaton/">SQL Server 2014: What is Hekaton?</a></p></blockquote>
<p><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  src="https://www.dbrnd.com/2016/01/sql-server-2014-what-is-hekaton/embed/#?secret=qk9b7WZejK" data-secret="qk9b7WZejK" width="600" height="338" title="&#8220;SQL Server 2014: What is Hekaton?&#8221; &#8212; Database Research &amp; Development" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<blockquote class="wp-embedded-content" data-secret="QSMDGThw7G"><p><a href="https://www.dbrnd.com/2016/01/sql-server-2014-create-memory-optimized-file-group-and-table/">SQL Server 2014: Create Memory Optimized File Group and Table</a></p></blockquote>
<p><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  src="https://www.dbrnd.com/2016/01/sql-server-2014-create-memory-optimized-file-group-and-table/embed/#?secret=QSMDGThw7G" data-secret="QSMDGThw7G" width="600" height="338" title="&#8220;SQL Server 2014: Create Memory Optimized File Group and Table&#8221; &#8212; Database Research &amp; Development" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<blockquote class="wp-embedded-content" data-secret="yYFvB4889G"><p><a href="https://www.dbrnd.com/2016/04/sql-server-find-the-total-row-count-and-size-of-the-tables/">SQL Server: Find the total row count and size of the Tables</a></p></blockquote>
<p><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  src="https://www.dbrnd.com/2016/04/sql-server-find-the-total-row-count-and-size-of-the-tables/embed/#?secret=yYFvB4889G" data-secret="yYFvB4889G" width="600" height="338" title="&#8220;SQL Server: Find the total row count and size of the Tables&#8221; &#8212; Database Research &amp; Development" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL Server 2016: Create a FOREIGN KEY in Memory optimized Table (In-Memory OLTP)</title>
		<link>https://www.dbrnd.com/2017/02/sql-server-2016-create-a-foreign-key-in-memory-optimized-table-in-memory-oltp/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Thu, 23 Feb 2017 16:16:23 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[foreign key]]></category>
		<category><![CDATA[Hekaton]]></category>
		<category><![CDATA[In-Memory OLTP]]></category>
		<category><![CDATA[Memory Optimized Table]]></category>
		<category><![CDATA[MEMORY_OPTIMIZED_DATA]]></category>
		<category><![CDATA[SQL Query]]></category>
		<category><![CDATA[SQL Server 2014]]></category>
		<category><![CDATA[SQL Server 2016]]></category>
		<category><![CDATA[SQL Server Administrator]]></category>
		<category><![CDATA[SQL Server Error]]></category>
		<category><![CDATA[SQL Server Monitoring]]></category>
		<category><![CDATA[SQL Server Performance Tuning]]></category>
		<category><![CDATA[SQL Server Programming]]></category>
		<category><![CDATA[SQL Server Tips and Tricks]]></category>
		<category><![CDATA[TSQL]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=4619</guid>

					<description><![CDATA[If you don&#8217;t know about the Hekaton engine of SQL Server 2014, please visit below an article. SQL Server 2014: What is Hekaton? I am very surprised with the feature list of SQL Server 2016 because it came with lots of features and improvements. Whenever I explored SQL Server 2016, I got something new. SQL [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fsql-server-2016-create-a-foreign-key-in-memory-optimized-table-in-memory-oltp%2F&amp;linkname=SQL%20Server%202016%3A%20Create%20a%20FOREIGN%20KEY%20in%20Memory%20optimized%20Table%20%28In-Memory%20OLTP%29" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fsql-server-2016-create-a-foreign-key-in-memory-optimized-table-in-memory-oltp%2F&amp;linkname=SQL%20Server%202016%3A%20Create%20a%20FOREIGN%20KEY%20in%20Memory%20optimized%20Table%20%28In-Memory%20OLTP%29" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fsql-server-2016-create-a-foreign-key-in-memory-optimized-table-in-memory-oltp%2F&amp;linkname=SQL%20Server%202016%3A%20Create%20a%20FOREIGN%20KEY%20in%20Memory%20optimized%20Table%20%28In-Memory%20OLTP%29" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fsql-server-2016-create-a-foreign-key-in-memory-optimized-table-in-memory-oltp%2F&amp;linkname=SQL%20Server%202016%3A%20Create%20a%20FOREIGN%20KEY%20in%20Memory%20optimized%20Table%20%28In-Memory%20OLTP%29" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fsql-server-2016-create-a-foreign-key-in-memory-optimized-table-in-memory-oltp%2F&amp;linkname=SQL%20Server%202016%3A%20Create%20a%20FOREIGN%20KEY%20in%20Memory%20optimized%20Table%20%28In-Memory%20OLTP%29" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fsql-server-2016-create-a-foreign-key-in-memory-optimized-table-in-memory-oltp%2F&amp;linkname=SQL%20Server%202016%3A%20Create%20a%20FOREIGN%20KEY%20in%20Memory%20optimized%20Table%20%28In-Memory%20OLTP%29" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fsql-server-2016-create-a-foreign-key-in-memory-optimized-table-in-memory-oltp%2F&#038;title=SQL%20Server%202016%3A%20Create%20a%20FOREIGN%20KEY%20in%20Memory%20optimized%20Table%20%28In-Memory%20OLTP%29" data-a2a-url="https://www.dbrnd.com/2017/02/sql-server-2016-create-a-foreign-key-in-memory-optimized-table-in-memory-oltp/" data-a2a-title="SQL Server 2016: Create a FOREIGN KEY in Memory optimized Table (In-Memory OLTP)"></a></p><p>If you don&#8217;t know about the Hekaton engine of SQL Server 2014, please visit below an article.</p>
<blockquote class="wp-embedded-content" data-secret="2OEobqI4m5"><p><a href="https://www.dbrnd.com/2016/01/sql-server-2014-what-is-hekaton/">SQL Server 2014: What is Hekaton?</a></p></blockquote>
<p><iframe loading="lazy" class="wp-embedded-content" sandbox="allow-scripts" security="restricted"  src="https://www.dbrnd.com/2016/01/sql-server-2014-what-is-hekaton/embed/#?secret=2OEobqI4m5" data-secret="2OEobqI4m5" width="600" height="338" title="&#8220;SQL Server 2014: What is Hekaton?&#8221; &#8212; Database Research &amp; Development" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe></p>
<blockquote><p>I am very surprised with the feature list of SQL Server 2016 because it came with lots of features and improvements. Whenever I explored SQL Server 2016, I got something new.<br />
SQL Server 2016 already enhanced In-Memory OLTP by introducing the list of features. Let me share one of the features here.</p></blockquote>
<p>In the previous version, you cannot create a FOREIGN KEY in memory optimized table. Now, SQL Server 2016 introduced a feature to store the reference of a table in memory so you can create a FOREIGN KEY in memory optimized tables.</p>
<blockquote><p>You can create a reference between memory optimized tables; you cannot give reference of a Non-memory optimized table to a memory optimized table.</p></blockquote>
<p>Below is a full demonstration on this.</p>
<p>If you do not configure Memory optimized file group and data file, use below script to configure it.</p>
<p><strong>Add Memory optimized file group:</strong></p>
<pre class="crayon-plain-tag">ALTER DATABASE Database_Name
ADD Filegroup OLTP_InMemory CONTAINS MEMORY_OPTIMIZED_DATA</pre> </p>
<p><strong>Add data file into created Memory optimized file group:</strong></p>
<pre class="crayon-plain-tag">ALTER DATABASE Database_Name
ADD FILE (NAME = OLTP_InMemory, FILENAME = N'C:\SQLBackup\Hekaton')
TO FILEGROUP OLTP_InMemory</pre> </p>
<p><strong>Create a sample In-Memory table:</strong></p>
<pre class="crayon-plain-tag">CREATE TABLE tbl_Departments
(
	DeptID INT PRIMARY KEY NONCLUSTERED
	,DeptName VARCHAR(20)	
)WITH ( MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA)
GO</pre> </p>
<p><strong>Create a another In-Memory child table:</strong></p>
<pre class="crayon-plain-tag">CREATE TABLE tbl_Employee
(
	EmpID INT PRIMARY KEY NONCLUSTERED
	,EmpName VARCHAR(20)
	,DeptID INT
	,CONSTRAINT fk_tbl_Employee_EmpID FOREIGN KEY (DeptID) REFERENCES tbl_Departments(DeptID)
) WITH ( MEMORY_OPTIMIZED = ON, DURABILITY = SCHEMA_AND_DATA);
GO</pre> </p>
<p><strong>Try to give reference of Non-Memory optimized table to Memory optimized table:</strong></p>
<pre class="crayon-plain-tag">CREATE TABLE tbl_EmpSalary
(
	EmpSalaryID INT PRIMARY KEY 
	,EmpID INT
	,EmpSalary INT
	,EmpSalaryMonth INT
	,CONSTRAINT fk_tbl_EmpSalary_EmpID FOREIGN KEY (EmpID) REFERENCES tbl_Employee(EmpID)
)
GO</pre> </p>
<p><strong>You will get below errors:</strong></p>
<pre class="crayon-plain-tag">Msg 10778, Level 16, State 0, Line 1
Foreign key relationships between memory optimized tables and non-memory optimized tables are not supported.
Msg 1750, Level 16, State 1, Line 1
Could not create constraint or index. See previous errors.</pre> </p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL Server: Error &#8211; &#8216;The operation &#8216;AUTO_CLOSE&#8217; is not supported with databases that have a MEMORY_OPTIMIZED_DATA filegroup&#8217;</title>
		<link>https://www.dbrnd.com/2017/02/sql-server-error-the-operation-auto_close-is-not-supported-with-databases-that-have-a-memory_optimized_data-filegroup/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Tue, 21 Feb 2017 16:16:34 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[Auto_Close]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[In-Memory Table]]></category>
		<category><![CDATA[In-Memory tbale]]></category>
		<category><![CDATA[Memory Optimized Table]]></category>
		<category><![CDATA[SQL Query]]></category>
		<category><![CDATA[SQL Server 2014]]></category>
		<category><![CDATA[SQL Server Administrator]]></category>
		<category><![CDATA[SQL Server Error]]></category>
		<category><![CDATA[SQL Server Monitoring]]></category>
		<category><![CDATA[SQL Server Performance Tuning]]></category>
		<category><![CDATA[SQL Server Programming]]></category>
		<category><![CDATA[SQL Server Tips and Tricks]]></category>
		<category><![CDATA[TSQL]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=4599</guid>

					<description><![CDATA[If you don&#8217;t about the option AUTO_CLOSE, please visit the previous post. &#8216;The operation &#8216;AUTO_CLOSE&#8217; is not supported with databases that have a MEMORY_OPTIMIZED_DATA filegroup&#8217; You are getting this error because your database set to AUTO_CLOSE ON that&#8217;s why you were unable to create a memory-optimized file group or data file. If you are planning [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><a class="a2a_button_facebook" href="https://www.addtoany.com/add_to/facebook?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fsql-server-error-the-operation-auto_close-is-not-supported-with-databases-that-have-a-memory_optimized_data-filegroup%2F&amp;linkname=SQL%20Server%3A%20Error%20%E2%80%93%20%E2%80%98The%20operation%20%E2%80%98AUTO_CLOSE%E2%80%99%20is%20not%20supported%20with%20databases%20that%20have%20a%20MEMORY_OPTIMIZED_DATA%20filegroup%E2%80%99" title="Facebook" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_twitter" href="https://www.addtoany.com/add_to/twitter?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fsql-server-error-the-operation-auto_close-is-not-supported-with-databases-that-have-a-memory_optimized_data-filegroup%2F&amp;linkname=SQL%20Server%3A%20Error%20%E2%80%93%20%E2%80%98The%20operation%20%E2%80%98AUTO_CLOSE%E2%80%99%20is%20not%20supported%20with%20databases%20that%20have%20a%20MEMORY_OPTIMIZED_DATA%20filegroup%E2%80%99" title="Twitter" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_linkedin" href="https://www.addtoany.com/add_to/linkedin?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fsql-server-error-the-operation-auto_close-is-not-supported-with-databases-that-have-a-memory_optimized_data-filegroup%2F&amp;linkname=SQL%20Server%3A%20Error%20%E2%80%93%20%E2%80%98The%20operation%20%E2%80%98AUTO_CLOSE%E2%80%99%20is%20not%20supported%20with%20databases%20that%20have%20a%20MEMORY_OPTIMIZED_DATA%20filegroup%E2%80%99" title="LinkedIn" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fsql-server-error-the-operation-auto_close-is-not-supported-with-databases-that-have-a-memory_optimized_data-filegroup%2F&amp;linkname=SQL%20Server%3A%20Error%20%E2%80%93%20%E2%80%98The%20operation%20%E2%80%98AUTO_CLOSE%E2%80%99%20is%20not%20supported%20with%20databases%20that%20have%20a%20MEMORY_OPTIMIZED_DATA%20filegroup%E2%80%99" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_reddit" href="https://www.addtoany.com/add_to/reddit?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fsql-server-error-the-operation-auto_close-is-not-supported-with-databases-that-have-a-memory_optimized_data-filegroup%2F&amp;linkname=SQL%20Server%3A%20Error%20%E2%80%93%20%E2%80%98The%20operation%20%E2%80%98AUTO_CLOSE%E2%80%99%20is%20not%20supported%20with%20databases%20that%20have%20a%20MEMORY_OPTIMIZED_DATA%20filegroup%E2%80%99" title="Reddit" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fsql-server-error-the-operation-auto_close-is-not-supported-with-databases-that-have-a-memory_optimized_data-filegroup%2F&amp;linkname=SQL%20Server%3A%20Error%20%E2%80%93%20%E2%80%98The%20operation%20%E2%80%98AUTO_CLOSE%E2%80%99%20is%20not%20supported%20with%20databases%20that%20have%20a%20MEMORY_OPTIMIZED_DATA%20filegroup%E2%80%99" title="Pocket" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.dbrnd.com%2F2017%2F02%2Fsql-server-error-the-operation-auto_close-is-not-supported-with-databases-that-have-a-memory_optimized_data-filegroup%2F&#038;title=SQL%20Server%3A%20Error%20%E2%80%93%20%E2%80%98The%20operation%20%E2%80%98AUTO_CLOSE%E2%80%99%20is%20not%20supported%20with%20databases%20that%20have%20a%20MEMORY_OPTIMIZED_DATA%20filegroup%E2%80%99" data-a2a-url="https://www.dbrnd.com/2017/02/sql-server-error-the-operation-auto_close-is-not-supported-with-databases-that-have-a-memory_optimized_data-filegroup/" data-a2a-title="SQL Server: Error – ‘The operation ‘AUTO_CLOSE’ is not supported with databases that have a MEMORY_OPTIMIZED_DATA filegroup’"></a></p><p>If you don&#8217;t about the option AUTO_CLOSE, please visit the previous post. </p>
<blockquote><p>&#8216;The operation &#8216;AUTO_CLOSE&#8217; is not supported with databases that have a MEMORY_OPTIMIZED_DATA filegroup&#8217; You are getting this error because your database set to AUTO_CLOSE ON that&#8217;s why you were unable to create a memory-optimized file group or data file. </p></blockquote>
<p>If you are planning to use In-Memory OLTP tables, you must set to AUTO_CLOSE OFF. </p>
<p><strong>Using SSMS, Set Auto Close OFF:</strong></p>
<pre class="crayon-plain-tag">Right-click on database -&gt; Properties -&gt; Options -&gt; Automatice Section -&gt; Auto Close</pre>
<strong>Using TSQL, Set AUTO_CLOSE OFF:</strong></p>
<pre class="crayon-plain-tag">USE [master]
GO
ALTER DATABASE [DatabaseName] SET AUTO_CLOSE OFF;
GO</pre> </p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
