<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Is it time for SQL Server to have Isolated Transactions?</title><link>http://sqlblog.com/blogs/arnie_rowland/archive/2009/03/09/is-it-time-for-sql-server-to-have-isolated-transactions.aspx</link><description>SQL Server allows nesting of Transactions –in a sense. In truth, there is only one Transaction, with each ‘nested transaction’ serving to increase (and decrease) the @@TRANCOUNT indicator. The transaction can be committed or rolled back at any point that</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>re: Is it time for SQL Server to have Isolated Transactions?</title><link>http://sqlblog.com/blogs/arnie_rowland/archive/2009/03/09/is-it-time-for-sql-server-to-have-isolated-transactions.aspx#12516</link><pubDate>Tue, 10 Mar 2009 00:51:55 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:12516</guid><dc:creator>jacobsebastian</dc:creator><description>&lt;p&gt;I will certainly support this feature request. Two of the use cases Arnie listed (Logging and SB Messages) are very much true in my environment. &lt;/p&gt;
&lt;p&gt;I think if an Isolated transaction fails, it should not break the parent transaction. If an error occurs and it is not handled, the execution should jump to the next statement after the END block of the Isolated Transaction. &lt;/p&gt;
</description></item><item><title>re: Is it time for SQL Server to have Isolated Transactions?</title><link>http://sqlblog.com/blogs/arnie_rowland/archive/2009/03/09/is-it-time-for-sql-server-to-have-isolated-transactions.aspx#12522</link><pubDate>Tue, 10 Mar 2009 02:44:55 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:12522</guid><dc:creator>Mike C</dc:creator><description>&lt;p&gt;I've had plenty of problems like you mention trying to log errors in transactions, and that would be my #1 use case for this feature. &amp;nbsp;I'm 100% for it!&lt;/p&gt;
</description></item><item><title>re: Is it time for SQL Server to have Isolated Transactions?</title><link>http://sqlblog.com/blogs/arnie_rowland/archive/2009/03/09/is-it-time-for-sql-server-to-have-isolated-transactions.aspx#12526</link><pubDate>Tue, 10 Mar 2009 10:28:07 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:12526</guid><dc:creator>MontyMole</dc:creator><description>&lt;p&gt;Here's the connect item to vote for:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=296870"&gt;http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=296870&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: Is it time for SQL Server to have Isolated Transactions?</title><link>http://sqlblog.com/blogs/arnie_rowland/archive/2009/03/09/is-it-time-for-sql-server-to-have-isolated-transactions.aspx#12528</link><pubDate>Tue, 10 Mar 2009 10:31:18 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:12528</guid><dc:creator>TiborKaraszi</dc:creator><description>&lt;p&gt;Hi Arnie,&lt;/p&gt;
&lt;p&gt;I think it is time for this functionality. I'm all for the KISS approach. We do not need more complex transaction semantice in SQL Server. It is bad enough as it is (sometimes I wish MS could begin from a blank piece of paper with their transaction handling commands and semantics).&lt;/p&gt;
&lt;p&gt;Btw, I think a more common term for the functionality is &amp;quot;autonomous transactions&amp;quot; (which I probably can't spell).&lt;/p&gt;
</description></item><item><title>re: Is it time for SQL Server to have Isolated Transactions?</title><link>http://sqlblog.com/blogs/arnie_rowland/archive/2009/03/09/is-it-time-for-sql-server-to-have-isolated-transactions.aspx#12534</link><pubDate>Tue, 10 Mar 2009 13:14:27 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:12534</guid><dc:creator>Linchi Shea</dc:creator><description>&lt;p&gt;The other reason is that Oracle has had the feature for a long time. This feature is very useful for writing administrative scripts. You got my vote.&lt;/p&gt;
</description></item><item><title>re: Is it time for SQL Server to have Isolated Transactions?</title><link>http://sqlblog.com/blogs/arnie_rowland/archive/2009/03/09/is-it-time-for-sql-server-to-have-isolated-transactions.aspx#12536</link><pubDate>Tue, 10 Mar 2009 13:26:25 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:12536</guid><dc:creator>Andrew Kelly</dc:creator><description>&lt;p&gt;Yes sir, this would be welcomed by most for sure.&lt;/p&gt;
</description></item><item><title>re: Is it time for SQL Server to have Isolated Transactions?</title><link>http://sqlblog.com/blogs/arnie_rowland/archive/2009/03/09/is-it-time-for-sql-server-to-have-isolated-transactions.aspx#12545</link><pubDate>Tue, 10 Mar 2009 20:54:58 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:12545</guid><dc:creator>RobertDavis</dc:creator><description>&lt;p&gt;I agree with your suggestion for the isolated transaction. Perhaps it could have support for calling ROLLBACK/COMMIT ISOLATED TRANSACTION to only rollback/commit the isolated transaction and ROLLBACK/COMMIT PARENT TRANSACTION to rollback/commit the parent as well.&lt;/p&gt;
&lt;p&gt;The caveat would be that if there are other isolated transactions nested within the same parent when the parent rolls back, any already committed isolated transactions are not rolled back and any isolated transactions not started do not start.&lt;/p&gt;
&lt;p&gt;Just a thought.&lt;/p&gt;
</description></item><item><title>re: Is it time for SQL Server to have Isolated Transactions?</title><link>http://sqlblog.com/blogs/arnie_rowland/archive/2009/03/09/is-it-time-for-sql-server-to-have-isolated-transactions.aspx#12623</link><pubDate>Sat, 14 Mar 2009 18:12:25 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:12623</guid><dc:creator>BinaryCoder</dc:creator><description>&lt;p&gt;For some time, I have wished that SQL Server were more flexible in its transaction handling. More specifically, it would be useful if it were possible to begin and commit independent transactions nested in parent transactions regardless of whether or not the parent transactions commit or rollback (this enables logging scenarios). It would also be useful for this to be designed in a general-purpose way that allows the programmer fine-grained control over what transactions are committed or rolled back when multiple transactions are in progress (this enables scenarios where a part of the high-level transaction needs to be retried or recovery is to be attempted after part of the high-level transaction has failed).&lt;/p&gt;
&lt;p&gt;I have a writeup on some ideas here: &lt;a rel="nofollow" target="_new" href="http://www.binarycoder.net/misc/nestedtransactions.html"&gt;http://www.binarycoder.net/misc/nestedtransactions.html&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>re: Is it time for SQL Server to have Isolated Transactions?</title><link>http://sqlblog.com/blogs/arnie_rowland/archive/2009/03/09/is-it-time-for-sql-server-to-have-isolated-transactions.aspx#12632</link><pubDate>Sun, 15 Mar 2009 09:01:32 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:12632</guid><dc:creator>oj_n</dc:creator><description>&lt;p&gt;You do not have &amp;quot;autonomous transaction&amp;quot; in SQL yet but you can fake one by using loopback linked server. This is one of the tricks to persist data outside of the current tranx. &lt;/p&gt;
&lt;p&gt;Works great for older SQL versions too.&lt;/p&gt;
</description></item><item><title>re: Is it time for SQL Server to have Isolated Transactions?</title><link>http://sqlblog.com/blogs/arnie_rowland/archive/2009/03/09/is-it-time-for-sql-server-to-have-isolated-transactions.aspx#12741</link><pubDate>Wed, 18 Mar 2009 14:25:26 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:12741</guid><dc:creator>bfrasca</dc:creator><description>&lt;p&gt;I can only give a luke-warm endorsement as I think this violates the principles laid out in the ACID model, specifically, the Isolation component of that model. Yes, I know it would be a separate transaction but it could potentially impact the parent transaction negatively. &amp;nbsp;I would probably be on board if these isolated transactions could be fired off asynchronously or pseudo-asynchronously, i.e. via a spawned process. &amp;nbsp;I would hate to tell my boss that business transactions were failing because I was trying to create log entries. &lt;/p&gt;
&lt;p&gt;One of the issues that must be overcome with this would be implementing an isolated transaction within the two and three-phase commit protocols. &amp;nbsp;Distributed transactions of all types would need to be considered.&lt;/p&gt;
&lt;p&gt;I think of it more as a nice-to-have although I've never really had any issues logging. &amp;nbsp;It's easy enough to log as part of your rollback &amp;quot;handler&amp;quot;, deadlock re-try logging comes to mind, although the need for log entries to persist for a failed transaction seems counter-intuitive to me except for logging problems. &amp;nbsp;I guess I'd need to hear a more specific logging use case where the log entries need to persist even though the transaction failed. &amp;nbsp;(I don't know enough about Service Broker to comment on that use case.) &amp;nbsp;It would certainly make a great debugging tool but I'm not sure it would add a lot of value to justify the added complexity that would be required to use the capability.&lt;/p&gt;
</description></item></channel></rss>