SQL SERVER – Difference Between ROLLBACK IMMEDIATE and WITH NO_WAIT during ALTER DATABASE

Posted by pinaldave on SQL Authority See other posts from SQL Authority or by pinaldave
Published on Wed, 17 Mar 2010 01:30:27 +0000 Indexed on 2010/03/17 2:11 UTC
Read the original article Hit count: 843

Today, we are going to discuss about something very simple, but quite commonly confused two options of ALTER DATABASE.

The first one is ALTER DATABASE …ROLLBACK IMMEDIATE and the second one is WITH NO_WAIT.

Many people think they are the same or are not sure of the difference between these two options. Before we continue our explaination, let us go through the explanation given by Book On Line.

ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMEDIATE

Specifies whether to roll back after a specified number of seconds or immediately.

NO_WAIT

Specifies that if the requested database state or option change cannot complete immediately without waiting for transactions to commit or roll back on their own, then the request will fail.

If you have understood the difference by now, there is no need to proceed further. If you are still confused, continue with the rest of the post.

There is one big difference between ROLLBACK and NO_WAIT. In case incomplete Transaction ALTER DATABASE … ROLLBACK rollbacks those incomplete transaction immediately, where as ALTER DATABASE … NO_WAIT will terminate and rollback the transaction of ALTER DATABASE … NO_WAIT itself.

I think it can be clearly explained with the help of the following images.

Option 1: ALTER DATABASE … ROLLBACK

Connection 1 – Simulating some operation using WAITFOR DELAY
WAITFOR DELAY '1:00:00'

Connection 2
ALTER DATABASE TestDb
SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

Option 2: ALTER DATABASE … NO_WAIT

Connection 1 – Simulating some operation using WAITFOR DELAY
WAITFOR DELAY '1:00:00'

Connection 2
ALTER DATABASE TestDb
SET SINGLE_USER WITH NO_WAIT;

Let me know if this example was simple enough.

Reference : Pinal Dave (http://blog.SQLAuthority.com)


Filed under: Pinal Dave, SQL, SQL Authority, SQL Documentation, SQL Query, SQL Scripts, SQL Server, SQL Tips and Tricks, T SQL, Technology

© SQL Authority or respective owner

Related posts about Pinal Dave

Related posts about sql