<?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>Outer transaction &#8211; Database Research &amp; Development</title>
	<atom:link href="https://www.dbrnd.com/tag/outer-transaction/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>Mon, 15 May 2017 19:21:21 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0.6</generator>
	<item>
		<title>SQL Server: Committed Inner transactions never releases the log disk space</title>
		<link>https://www.dbrnd.com/2017/05/sql-server-committed-inner-transactions-never-releases-the-log-disk-space/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Sat, 27 May 2017 16:16:29 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[COMMIT]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[Inner transaction]]></category>
		<category><![CDATA[Log]]></category>
		<category><![CDATA[Outer transaction]]></category>
		<category><![CDATA[SQL Query]]></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[transaction]]></category>
		<category><![CDATA[TSQL]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=5336</guid>

					<description><![CDATA[In this post, I am sharing a demonstration in which you can get to know that committed inner transactions are not releasing any log disk space in SQL Server. One of our developers was telling me like when we commit the transaction it will release the occupied log space, but it is not entirely correct. [&#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%2F05%2Fsql-server-committed-inner-transactions-never-releases-the-log-disk-space%2F&amp;linkname=SQL%20Server%3A%20Committed%20Inner%20transactions%20never%20releases%20the%20log%20disk%20space" 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%2F05%2Fsql-server-committed-inner-transactions-never-releases-the-log-disk-space%2F&amp;linkname=SQL%20Server%3A%20Committed%20Inner%20transactions%20never%20releases%20the%20log%20disk%20space" 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%2F05%2Fsql-server-committed-inner-transactions-never-releases-the-log-disk-space%2F&amp;linkname=SQL%20Server%3A%20Committed%20Inner%20transactions%20never%20releases%20the%20log%20disk%20space" 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%2F05%2Fsql-server-committed-inner-transactions-never-releases-the-log-disk-space%2F&amp;linkname=SQL%20Server%3A%20Committed%20Inner%20transactions%20never%20releases%20the%20log%20disk%20space" 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%2F05%2Fsql-server-committed-inner-transactions-never-releases-the-log-disk-space%2F&amp;linkname=SQL%20Server%3A%20Committed%20Inner%20transactions%20never%20releases%20the%20log%20disk%20space" 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%2F05%2Fsql-server-committed-inner-transactions-never-releases-the-log-disk-space%2F&amp;linkname=SQL%20Server%3A%20Committed%20Inner%20transactions%20never%20releases%20the%20log%20disk%20space" 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%2F05%2Fsql-server-committed-inner-transactions-never-releases-the-log-disk-space%2F&#038;title=SQL%20Server%3A%20Committed%20Inner%20transactions%20never%20releases%20the%20log%20disk%20space" data-a2a-url="https://www.dbrnd.com/2017/05/sql-server-committed-inner-transactions-never-releases-the-log-disk-space/" data-a2a-title="SQL Server: Committed Inner transactions never releases the log disk space"></a></p><p>In this post, I am sharing a demonstration in which you can get to know that committed inner transactions are not releasing any log disk space in SQL Server. </p>
<blockquote><p>One of our developers was telling me like when we commit the transaction it will release the occupied log space, but it is not entirely correct.<br />
If you are dealing with nested transactions, it is true only for outer committed transactions.</p></blockquote>
<p>Please check the below demonstration of this.</p>
<p><strong>Create a sample database:</strong></p>
<pre class="crayon-plain-tag">CREATE DATABASE Test_Tran;
GO
USE Test_Tran
GO</pre> </p>
<p><strong>Check the log size:</strong></p>
<pre class="crayon-plain-tag">CHECKPOINT
GO
DBCC SQLPERF ('LOGSPACE')
GO
-- the result
-- 4.557673</pre> </p>
<p><strong>Create a sample table:</strong></p>
<pre class="crayon-plain-tag">CREATE TABLE tbl_TestTrans(ID INT)
GO</pre> </p>
<p><strong>Open outer and inner transaction and insert few sample records:</strong></p>
<pre class="crayon-plain-tag">BEGIN TRANSACTION OuterTrans
GO
	BEGIN TRANSACTION InnerTrans
	GO
		INSERT INTO tbl_TestTrans VALUES(88)
		GO 1000
	COMMIT TRANSACTION InnerTrans
	GO</pre> </p>
<p><strong>Check the log size:</strong><br />
The inner transaction is committed, but log size is increased, and it didn&#8217;t release the logs.</p>
<pre class="crayon-plain-tag">CHECKPOINT;
GO
DBCC SQLPERF ('LOGSPACE');
GO

-- the result:
-- 8.767107</pre> </p>
<p><strong>Now, commit outer transaction:</strong></p>
<pre class="crayon-plain-tag">COMMIT TRANSACTION OuterTrans
GO</pre> </p>
<p><strong>Check the log size:</strong><br />
Once you commit your outer transaction, it releases the log size.</p>
<pre class="crayon-plain-tag">CHECKPOINT;
GO
DBCC SQLPERF ('LOGSPACE');
GO

-- the result:
-- 5.08</pre> </p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>SQL Server Interview: If Outer transaction ROLLBACK, what happens to Inner transaction</title>
		<link>https://www.dbrnd.com/2017/05/sql-server-interview-if-outer-transaction-rollback-what-happens-to-inner-transaction/</link>
		
		<dc:creator><![CDATA[Anvesh Patel]]></dc:creator>
		<pubDate>Fri, 26 May 2017 16:16:36 +0000</pubDate>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[SQL Server Interview]]></category>
		<category><![CDATA[Anvesh Patel]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[database research and development]]></category>
		<category><![CDATA[dbrnd]]></category>
		<category><![CDATA[Inner transaction]]></category>
		<category><![CDATA[Outer transaction]]></category>
		<category><![CDATA[SQL Query]]></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[T-SQL Developer]]></category>
		<category><![CDATA[transaction]]></category>
		<category><![CDATA[TSQL]]></category>
		<guid isPermaLink="false">https://www.dbrnd.com/?p=5333</guid>

					<description><![CDATA[I hope you know that we can create nested transactions in SQL Server. If you are giving a SQL Server developer interview, an interviewer may ask a question like If Outer transaction ROLLBACK, what happens to an Inner transaction in SQL Server. The interviewer can also write code in paper and can ask a developer [&#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%2F05%2Fsql-server-interview-if-outer-transaction-rollback-what-happens-to-inner-transaction%2F&amp;linkname=SQL%20Server%20Interview%3A%20If%20Outer%20transaction%20ROLLBACK%2C%20what%20happens%20to%20Inner%20transaction" 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%2F05%2Fsql-server-interview-if-outer-transaction-rollback-what-happens-to-inner-transaction%2F&amp;linkname=SQL%20Server%20Interview%3A%20If%20Outer%20transaction%20ROLLBACK%2C%20what%20happens%20to%20Inner%20transaction" 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%2F05%2Fsql-server-interview-if-outer-transaction-rollback-what-happens-to-inner-transaction%2F&amp;linkname=SQL%20Server%20Interview%3A%20If%20Outer%20transaction%20ROLLBACK%2C%20what%20happens%20to%20Inner%20transaction" 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%2F05%2Fsql-server-interview-if-outer-transaction-rollback-what-happens-to-inner-transaction%2F&amp;linkname=SQL%20Server%20Interview%3A%20If%20Outer%20transaction%20ROLLBACK%2C%20what%20happens%20to%20Inner%20transaction" 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%2F05%2Fsql-server-interview-if-outer-transaction-rollback-what-happens-to-inner-transaction%2F&amp;linkname=SQL%20Server%20Interview%3A%20If%20Outer%20transaction%20ROLLBACK%2C%20what%20happens%20to%20Inner%20transaction" 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%2F05%2Fsql-server-interview-if-outer-transaction-rollback-what-happens-to-inner-transaction%2F&amp;linkname=SQL%20Server%20Interview%3A%20If%20Outer%20transaction%20ROLLBACK%2C%20what%20happens%20to%20Inner%20transaction" 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%2F05%2Fsql-server-interview-if-outer-transaction-rollback-what-happens-to-inner-transaction%2F&#038;title=SQL%20Server%20Interview%3A%20If%20Outer%20transaction%20ROLLBACK%2C%20what%20happens%20to%20Inner%20transaction" data-a2a-url="https://www.dbrnd.com/2017/05/sql-server-interview-if-outer-transaction-rollback-what-happens-to-inner-transaction/" data-a2a-title="SQL Server Interview: If Outer transaction ROLLBACK, what happens to Inner transaction"></a></p><p>I hope you know that we can create nested transactions in SQL Server. If you are giving a SQL Server developer interview, an interviewer may ask a question like If Outer transaction ROLLBACK, what happens to an Inner transaction in SQL Server.</p>
<p>The interviewer can also write code in paper and can ask a developer to solve it. </p>
<p>You can find the answer in below demonstration so test it yourself. </p>
<p><strong>Create a sample table:</strong></p>
<pre class="crayon-plain-tag">CREATE TABLE tbl_TestTrans(ID INT)
GO</pre> </p>
<p><strong>Open outer and inner transaction and insert few sample records:</strong></p>
<pre class="crayon-plain-tag">BEGIN TRANSACTION OuterTrans
GO
	BEGIN TRANSACTION InnerTrans
	GO
		INSERT INTO tbl_TestTrans VALUES(88)
		GO 1000
	COMMIT TRANSACTION InnerTrans
	GO</pre> </p>
<p><strong>Check the count of your table:</strong></p>
<pre class="crayon-plain-tag">SELECT COUNT(1) FROM tbl_TestTrans
GO
--The result is:
-- 1000</pre> </p>
<p><strong>Now, Rollback your Outer transactions:</strong></p>
<pre class="crayon-plain-tag">ROLLBACK TRANSACTION OuterTrans
GO</pre> </p>
<p><strong>Now, Check the count of your table:</strong><br />
Which is 0 now. Although you committed inner transaction for those 1000 records, outer transaction was not committed, so it rollbacked all transactions.</p>
<pre class="crayon-plain-tag">SELECT COUNT(1) FROM tbl_TestTrans
GO
--The result is:
-- 0</pre> </p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
