SQL Server執行指令碼後怎麼回滾
SQL Server伺服器,一直處於所謂的自動提交模式,而且這種模式是預設的。
由於操作資料庫批量修改資料出錯的話,修復資料是相當的痛苦,如果沒有備份的情況下,那有可能就是滅頂之災了。
---該命令關閉SQL Server的自動提交模式
SET IMPLICIT_TRANSACTIONS ON
---開始一個事務,該命令可要可不要。(預設是開始一個事務)
Begin TRANSACTION;
---查詢表中資料
select * from SysBpmIProc where TaskId = 245692;
--對資料進行修改
update SysBpmIProc set FlowCatName = '其他部門' where TaskId = 245692;
--修改的資料準確無誤的話就提交事務
Commit TRANSACTION
--修改的資料有毛病的話就進行回滾
Rollback TRANSACTION
---開啟SQL Server的自動提交模式
SET IMPLICIT_TRANSACTIONS OFF
個人認為在SQL Server上批量修改資料時建一個事務,如果操作不當可以回滾。
如果平常修改單行資料沒必要關閉自動提交模式,只要做好備份,即使出錯也可以很容易的修改過來。
相關推薦
SQL Server執行指令碼後怎麼回滾
SQL Server伺服器,一直處於所謂的自動提交模式,而且這種模式是預設的。由於操作資料庫批量修改資料出錯的話,修復資料是相當的痛苦,如果沒有備份的情況下,那有可能就是滅頂之災了。---該命令關閉SQL Server的自動提交模式 SET IMPLICIT_TRANSA
SQL Server新增Delete操作回滾日誌
我們在操作表的時候難免會遇到誤刪除,或者刪掉的資料還想恢復的情況。也許細心的朋友會用begin tran rollback/commit 這種事務來避免出現失誤,但這並不是最保險的。如果提交了事物發現刪錯了或者忘記提交從而導致表被鎖,這些問題總是不可避免的。廢話不多說了,下
sql server 執行上100mb sql sql sql server 無法執行指令碼 沒有足夠的記憶體繼續執行
最近遇到一個問題,在sqlserver的查詢分析器裡面執行一個超過100MB的資料庫指令碼,發現老是報“引發型別為“System.OutOfMemoryException”的異常”,上網查了一下,主要是因為.sql的指令碼檔案過大(一般都超過100M)造成記憶體無法處理這麼
SQL Server 執行計劃利用統計信息對數據行的預估原理二(為什麽復合索引列順序會影響到執行計劃對數據行的預估)
pan new statistic 細心 參考 gin 技術分享 重建 target 本文出處:http://www.cnblogs.com/wy123/p/6008477.html 關於統計信息對數據行數做預估,之前寫過對非相關列(單獨或者單獨的索
Spring事務只對執行時異常回滾
我們在使用Spring時候一般都知道事務在遇到異常的時候會回滾,豈不知Spring的事務預設只有在發生執行時異常即:RunTimeException時才會發生事務,如果一個方法丟擲Exception或者Checked異常Spring的事務並不會回滾。下面我們來看看異常的分類,異常一般分為Checked異常和R
SQL Server 執行狀況監控SQL語句 SQL Server 執行狀況監控SQL語句
SQL Server 執行狀況監控SQL語句 Microsoft SQL Server 2005 提供了一些工具來監控資料庫。方法之一是動態管理檢視。動態管理檢視 (DMV) 和動態管理函式 (DMF) 返回的伺服器狀態資訊可用於監控伺服器例項的執行狀況、診斷問題和優化效
SQL Server安裝完成後,沒有顯示連線資料庫的客戶端圖示,這是怎麼回事?少一個元件!!!
SQL Server安裝完成後,沒有顯示連線資料庫的客戶端圖示,這是怎麼回事?少一個元件!!! 1、話不多說,下載這個元件,路徑安裝選擇和剛開始沒完全安裝SQL Server的路徑保持一致,即可 2、缺少一個Microsoft SQL Server Management Stu
SQL Server GROUP BY 後 拼接 字串
原文地址:https://blog.csdn.net/u010673842/article/details/79637618 select ID, STUFF((select ',' + name from class where ID = a.ID for xml path('
SQL Server 執行T-SQL提示:將截斷字串或二進位制資料[SQLSTATE 22001] (錯誤 8152)
今天在執行以前寫的將增量同步到全量的作業過程中報如下錯誤: 訊息 已以使用者 NT SERVICE\SQLSERVERAGENT 的身份執行。 將截斷字串或二進位制資料。 [SQLSTATE 22001] (錯誤 8152) 語句已終止。 [SQLSTATE 01000] (錯誤 36
SQL Server 執行計劃快取
概述 瞭解執行計劃對資料庫效能分析很重要,其中涉及到了語句效能分析與儲存,這也是寫這篇文章的目的,在瞭解執行計劃之前先要了解一些基礎知識,所以文章前面會講一些概念,學起來會比較枯燥,但是這些基礎知識非常重要。 基礎概念 SQL Server 有一個用於儲存執行計劃和資料緩衝區的記憶體池。池內分配給執行計
SQL Server 執行計劃利用統計資訊對資料行的預估原理以及SQL Server 2014中預估策略的改變
前提 本文僅討論SQL Server查詢時, 對於非複合統計資訊,也即每個欄位的統計資訊只包含當前列的資料分佈的情況下, 在用多個欄位進行組合查詢的時候,如何根據統計資訊去預估行數的。 利用不同欄位的統計資訊做資料行數預估的演算法原理,以及SQL Server 2012和S
SQL Server 執行計劃利用統計資訊對資料行的預估原理二(為什麼複合索引列順序會影響到執行計劃對資料行的預估)
關於統計資訊對資料行數做預估,之前寫過對非相關列(單獨或者單獨的索引列)進行預估時候的演算法,參考這裡。 今天來寫一下統計資訊對於複合索引在預估時候的計算方法和潛在問題。 本文原形來自於是個實際業務問題,某SQL在利用一個符合索引做查詢的時候,發現始終會出現預估誤差較大的情況, 而改變複合索
svn commit後回滾撤銷修改
在團隊合作開發中,如果用錯命令提交(commit)了一個不該提交的程式碼檔案的話,那就進行程式碼回滾吧,我當時就使用svn commit -m "fix onebug" \誤操作將所有檔
在Spring中發生的SQL異常可以觸發事務回滾的原因
在對Spring的事務回滾捕獲的異常型別進行測試,發現當出現SQL異常時可以觸發事務回滾,但是通過檢視文件發現,Java.lang.SQLExcepetion是Java.lang.Excepetion的子類,在沒有對事務設定rollbackfor=Exception.clas
SQL Server執行計劃教會我如何建立索引?
因為對索引不是很熟悉,所以測試得到結果沒有任何價值,甚至有些誤導人,這邊說聲抱歉,在哪跌倒在哪爬起來。 應用場景 還是用商品表(Product)作為示例,表結構如下: 存在這樣一種業務場景:獲取某個供應商(ProviderID),狀態為已售(State 為 1)的商品列表
SQL Server執行計劃的理解
要理解執行計劃,怎麼也得先理解,那各種各樣的名詞吧。鑑於自己還不是很瞭解。本文打算作為只寫懂的,不懂的懂了才寫。 在開頭要先說明,第一次看執行計劃要注意,SQL Server的執行計劃是從右向左看的。 名詞解析: 掃描:逐行遍歷資料。 先建立一張表,並給大家看看大概是
在只有MySQL資料庫的情況下,如何把SQL Server 資料指令碼(.sql檔案)匯入Mysql的表中。
圖片被抽了,醉了。。反正大概的解決辦法就是找出二者的不同(可以在MySQL中建立一個同SQL Server 一樣的資料庫,然後匯出,對比指令碼的不同),然後利用Notepad++的【查詢再替換】的功能,把SQL Server指令碼逐步替換成MySQL的指令碼一步步替換就行。先
sql server開啟電腦後發現數據庫找不到了
先看這張圖片看一下你下邊的這個服務是否啟動,開啟配置管理器檢視,我的原因是因為下邊的服務沒有啟動啟動後重新進行sql server會發現資料庫可以找到,如果此服務開啟失敗可先把上邊的服務關掉開開這個
SQL Server執行計劃 解析
當需要分析某個查詢的效能時,最好的方式之一檢視這個查詢的執行計劃。執行計劃描述SQL Server查詢優化器如何實際執行(或者將會如何執行)一個特定的查詢。 檢視查詢的執行計劃有幾種不同的方式。它們包括: SQL Server查詢分析器裡有一個叫做”顯示實際執行計劃”的
查詢SQL Server執行過的SQL語句(執行次數)
SELECT TOP 2000 ST.text AS '執行的SQL語句', QS.execution_count AS '執行次數', QS.total_elapsed_time AS '耗時', QS.total_