Answer Posted / arunyadav007
Actually rollbacks are automatic. MS SQL Server is fully
ACID compliant.
ROLLBACK { TRAN | TRANSACTION }
[ transaction_name | @tran_name_variable
| savepoint_name | @savepoint_variable ]
[ ; ]
Arguments:
transaction_name
Is the name assigned to the transaction on BEGIN
TRANSACTION. transaction_name must conform to the rules for
identifiers, but only the first 32 characters of the
transaction name are used. When nesting transactions,
transaction_name must be the name from the outermost BEGIN
TRANSACTION statement.
@ tran_name_variable
Is the name of a user-defined variable containing a valid
transaction name. The variable must be declared with a
char, varchar, nchar, or nvarchar data type.
savepoint_name
Is savepoint_name from a SAVE TRANSACTION statement.
savepoint_name must conform to the rules for identifiers.
Use savepoint_name when a conditional rollback should
affect only part of the transaction.
@ savepoint_variable
Is name of a user-defined variable containing a valid
savepoint name. The variable must be declared with a char,
varchar, nchar, or nvarchar data type.
Remarks
ROLLBACK TRANSACTION erases all data modifications made
from the start of the transaction or to a savepoint. It
also frees resources held by the transaction.
ROLLBACK TRANSACTION without a savepoint_name or
transaction_name rolls back to the beginning of the
transaction. When nesting transactions, this same statement
rolls back all inner transactions to the outermost BEGIN
TRANSACTION statement. In both cases, ROLLBACK TRANSACTION
decrements the @@TRANCOUNT system function to 0. ROLLBACK
TRANSACTION savepoint_name does not decrement @@TRANCOUNT.
A ROLLBACK TRANSACTION statement specifying a
savepoint_name releases any locks acquired beyond the
savepoint, with the exception of escalations and
conversions. These locks are not released, and they are not
converted back to their previous lock mode.
ROLLBACK TRANSACTION cannot reference a savepoint_name in
distributed transactions started either explicitly with
BEGIN DISTRIBUTED TRANSACTION or escalated from a local
transaction.
A transaction cannot be rolled back after a COMMIT
TRANSACTION statement is executed.
Within a transaction, duplicate savepoint names are
allowed, but a ROLLBACK TRANSACTION using the duplicate
savepoint name rolls back only to the most recent SAVE
TRANSACTION using that savepoint name.
In stored procedures, ROLLBACK TRANSACTION statements
without a savepoint_name or transaction_name roll back all
statements to the outermost BEGIN TRANSACTION. A ROLLBACK
TRANSACTION statement in a stored procedure that causes
@@TRANCOUNT to have a different value when the stored
procedure completes than the @@TRANCOUNT value when the
stored procedure was called produces an informational
message. This message does not affect subsequent processing.
| Is This Answer Correct ? | 2 Yes | 6 No |
Post New Answer View All Answers
Why do you want to join software field as you have done your BE in Electronics?
Explain error and transaction handling in sql server?
How to count duplicated values in a column in ms sql server?
How do I find the transaction log size in sql server?
How to skip remaining statements in a loop block using continue statements?
How do I port a number to sql server?
What is precedence constraint?
What is the maximum size of column in sql server?
What are the 2 types of classifications of constraints in the sql server?
What are clustered and non-clustered index?
What does it mean to normalize data?
Explain the characteristics of a transaction server for example atomicity, consistency, isolation, durability?
Can we store videos inside the sql server table?
What command do we use to rename a db, a table and a column?
you have couple of stored procedures that depend on a table you dropped the table and recreated it what do you have to do to reestablish those stored procedure dependencies?