How do we rollback the table data in SQL Server

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


Please Help Members By Posting Answers For Below Questions

in the physical file layout, where should the transaction log be stored in relation to the data file?

544


How can you tell if a database object is invalid?

624


What are the difference between “where” and “having” clause in sql server?

593


what is package and it uses and how can u call a package

1569


How to recover from sql injection? : sql server security

527






Can you explain powershell included in sql server 2008?

516


Explain the different types of joins?

578


What do you mean by normalisation?

513


Do you know what is sql service broker?

545


What is nested transaction?

542


What are different type of Collation Sensitivity?

565


What is a data source or ds? : sql server analysis services, ssas

577


What is a result set object returned by odbc_exec()?

554


What is a virtual table in sql?

558


How to set the current database in ms sql server?

536