sql 回滾語句
這種情況的數據恢復只能利用事務日志的備份來進行,所以如果你的SQL沒有進行相應的全庫備份
或不能備份日志(truncate log on checkpoint選項為1),那么就無法進行數據的恢復了,或者
只能恢復到最近一次的備份的數據了。
以下簡單說明恢復數據方法:
1,如果誤操作之前存在一個全庫備份(或已有多個差異備份或增量備份),首先要做的事就是進
進行一次日志備份(如果為了不讓日志文件變大而置trunc. log on chkpt.選項為1那你就死翹了)
backup log dbName to disk='fileName'
2,恢復一個全庫備份,注意需要使用with norecovery,如果還有其他差異或增量備份,則逐個恢
復
restore database dbName from disk='fileName' with norecovery
3,恢復最后一個日志備份即剛做的日志備份,指定恢復時間點到誤操作之前的時刻
restore log dbName from disk='fileName'
with stopat='date_time'
以上這些操作都可以在SQL SERVER企業管理器里完成,難度不大。
當然,如果誤操作是一些不記日志的操作比如truncate table,select into等操作,那么是無法利
用上述方法來恢復數據的。
sql 回滾語句
這種情況的數據恢復只能利用事務日志的備份來進行,所以如果你的SQL沒有進行相應的全庫備份或不能備份日志(truncate log on checkpoint選項為1),那么就無法進行數據的恢復了,或者只能恢復到最近一次的備份的數據了。
以下簡單說明恢復數據方法:1,如果誤操作之前存在一個全庫備份(或已有多個差異備份或增量備份),首先要做的事就是進進行一次日志備份(如果為了不讓日志文件變大而置trunc. log on chkpt.選項為1那你就死翹了)backup log dbName to disk='fileName'2,恢復一個全庫備份,注意需要使用with norecovery,如果還有其他差異或增量備份,則逐個恢復restore database dbName from disk='fileName' with norecovery3,恢復最后一個日志備份即剛做的日志備份,指定恢復時間點到誤操作之前的時刻restore log dbName from disk='fileName'with stopat='date_time'以上這些操作都可以在SQL SERVER企業管理器里完成,難度不大。
。當然,如果誤操作是一些不記日志的操作比如truncate table,select into等操作,那么是無法利用上述方法來恢復數據的。
sql 語句回滾的問題幫幫忙
用事務處理(比如事務名稱是UpdatePrintBill,可以隨便起名稱)
BEGIN TRANSACTION UpdatePrintBill
--中間寫你的代碼
insert into T_BHS_OrderList(OrderList_OrderNum,OrderList_ProId,
OrderList_ProName,OrderList_Pubish_Id,OrderList_SortId,
OrderList_UserID,OrderList_Price,OrderList_Count,
OrderList_CommonPrice,OrderList_Down,OrderList_Time)
select @OrderNumber,Cart_ProId,Cart_ProName,Cart_Pubish_Id,Cart_Status,Cart_UserId,
Cart_Price,Cart_Count,Cart_CommonPrice,Cart_Down,getdate()
from dbo.T_BHS_Cart where Cart_UserId=@userID
--結束你的代碼
IF @@ERROR > 0
BEGIN
rollback TRANSACTION UpdatePrintBill
return -1
END
else
begin
COMMIT TRANSACTION UpdatePrintBill
return 1
end