所謂事務(wù)是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全做要么全不做,是一個不可分割的工作單位。例如,在關(guān)系數(shù)據(jù)庫中,一個事務(wù)可以是一條SQL語句、一組SQL語句或整個程序。
公司主營業(yè)務(wù):網(wǎng)站建設(shè)、成都做網(wǎng)站、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出芙蓉免費(fèi)做網(wǎng)站回饋大家。
簡單舉個例子就是你要同時(shí)修改數(shù)據(jù)庫中兩個不同表的時(shí)候,如果它們不是一個事務(wù)的話,當(dāng)?shù)谝粋€表修改完,可是第二表改修出現(xiàn)了異常而沒能修改的情況下,就只有第二個表回到未修改之前的狀態(tài),而第一個表已經(jīng)被修改完畢。
而當(dāng)你把它們設(shè)定為一個事務(wù)的時(shí)候,當(dāng)?shù)谝粋€表修改完,可是第二表改修出現(xiàn)了異常而沒能修改的情況下,第一個表和第二個表都要回到未修改的狀態(tài)!這就是所謂的事務(wù)回滾。
sqlserver 的編輯器一般都是默認(rèn)自動提交,也就是說你刪除后,就自動提交了;不能回滾。
當(dāng)然如果你設(shè)置成不是默認(rèn)提交的話,那么你在提交之前可以回滾。
而如果是程序代碼中刪除的話,看你有沒有啟用事務(wù),如果沒有啟用事務(wù),那么一般也是默認(rèn)提交的,如果啟用事務(wù),那么再提交前可以回滾,如果已經(jīng)提交了,那么就回滾不了了。
begin tran
。。。。。。
在存儲過程后面加上:
if @@error0
rollback tran
else
commit tran
使用Transact-SQL。1.連接到您要還原數(shù)據(jù)庫的服務(wù)器實(shí)例。2.執(zhí)行使用 NORECOVERY 選項(xiàng)的 RESTORE DATABASE 語句。如果部分還原順序不包括任何 FILESTREAM 文件組,則不支持時(shí)間點(diǎn)還原。 可以強(qiáng)制該還原順序以繼續(xù)執(zhí)行操作。 但在 RESTORE 語句中省略的 FILESTREAM 文件組將永遠(yuǎn)無法還原。 若要強(qiáng)制執(zhí)行時(shí)點(diǎn)還 原,請指定 CONTINUE_AFTER_ERROR 選項(xiàng)以及 STOPAT、STOPATMARK 或 STOPBEFOREMARK 選項(xiàng),還必須在隨后的 RESTORE LOG 語句中指定后面的三個選項(xiàng)。 如果指定 CONTINUE_AFTER_ERROR,則部分還原順序?qū)⒊晒?,?FILESTREAM 文件組將不可恢復(fù)。3.還原上次差異數(shù)據(jù)庫備份(如果有),而不恢復(fù)數(shù)據(jù)庫 (RESTORE DATABASE database_name FROM backup_device WITH NORECOVERY)。4.應(yīng)用每個事務(wù)日志備份中相同的順序在其中創(chuàng)建了它們,指定想要停止還原日志的時(shí)間 (RESTORE DATABASE database_name FROM WITH STOPAT = time , 恢復(fù))。
如何啟動Transaction; 共有三種方式
1.自動transaction
每句statement都是一個transaction.例一個update指令更新多筆紀(jì)錄, 要就全部成功, 只要失敗,全部會回復(fù)原值.
2.ExplicitTransaction
以Begin Transaction開始(開啟)
3.ImplicitTransaction (建議不要用)
以Set Implicit_Transaction ON
如何結(jié)束Transaction; 共有三種方式
1. COMMIT Transaction(提交)
Transaction期間的任何修改,都會保證到數(shù)據(jù)庫中
2. ROLLBACK Transaction(回滾)
數(shù)據(jù)會回復(fù)Transaction前狀態(tài)
3. KILL SPID 強(qiáng)迫停止, 會rollback
sql server和MYSQL在數(shù)據(jù)庫操作的時(shí)候,據(jù)說我所知都是自動提交事務(wù)的。
文章名稱:sqlserver回滾點(diǎn),oracle回滾sql
分享路徑:http://jinyejixie.com/article40/dsechho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開發(fā)、網(wǎng)站建設(shè)、企業(yè)建站、網(wǎng)頁設(shè)計(jì)公司、標(biāo)簽優(yōu)化、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)