sqlserver遇到回滾事務的操作策略
參考https://blog.sqlauthority.com/2015/08/31/sql-server-spid-is-killedrollback-state-what-to-do-next/
select * from sys.sysprocesses where cmd='KILLED/ROLLBACK'可以查到回滾的資訊
有時我們會使用“KILL”命令來結束處於掛起狀態的程式。一旦發生這種情況,如果SQL知道如何回滾該工作,它將啟動“真正的”回滾過程,並撤消所做的工作。有些情況下,SQL不知道並且無法控制已完成的工作,也無法回滾工作,在這些情況下,它將永遠處於終止/回滾狀態。
你如何決定採取什麼行動?這完全取決於被殺死的SPID所採取的行動。你只能做幾件事:
1、耐心等待回滾完成。一些大型操作可能需要很長時間才能回滾。這樣的SPID在sys.sysprocesses會顯示CPU、記憶體和IO列大小的變化。
2、如果SPID在CPU、記憶體和IO列中沒有顯示任何變化,那麼它什麼也不做,找到spid來自哪臺客戶端機器,進入這臺客戶端機器,在工作管理員裡面結束這個程式。
3、如果這個客戶端程式在客戶端機器已經殺死了,但是資料庫伺服器還是顯示這個程式資訊,並且不執行任何操作,則只能重新啟動SQL服務
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2664573/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 客戶端登陸logout操作,事務回滾客戶端Go
- Oracle vs PostgreSQL,研發注意事項(3)- 事務回滾之UPDATE操作解析OracleSQL
- MySQL實現事務的提交和回滾MySql
- 不能回滾的Redis事務還能用嗎Redis
- 關於事務回滾註解@Transactional
- Spring事務不能回滾的深層次原因Spring
- T-SQL——關於事務回滾的方式SQL
- MySql事務無法回滾的原因有哪些MySql
- Spring Data JPA中事務回滾意外RollbackExceptionSpringException
- 關於ORACLE大型事務回滾的幾個點Oracle
- openGauss 子事務併發回滾流程最佳化
- 命令(XA ROLLBACK) 讓儲存叢集回滾GT 的事務分支
- spring事務增強,事務回滾如何判斷?希望在前端上有個提示Spring前端
- [20181222]如何找出回滾操作.txt
- 關於操作駁回遇到的問題
- 為什麼catch了異常,但事務還是回滾了?
- 日常Bug排查-應用Commit報錯事務並沒有回滾MIT
- MySQL 事務操作MySql
- Redis事務操作Redis
- spring事務裡面開啟執行緒插入,報錯了是否會回滾?Spring執行緒
- spring boot 顯示處理事務回滾Spring Boot
- Postgresqlddl在事務中可以回滾,truncate時relfilenode在當前會話會改變SQL會話
- SQLSERVER 事務日誌的 LSN 到底是什麼?SQLServer
- 詳解command設計模式,解耦操作和回滾設計模式解耦
- Oracle查詢回滾大事務所需時間Oracle
- SqlServer事務詳解(事務隔離性和隔離級別詳解)SQLServer
- SqlServer 操作 JSONSQLServerJSON
- Python操作SQLServerPythonSQLServer
- oracle回滾溯源Oracle
- 1.2.11. 任務11: 回滾到其它主機
- 事務基本定義操作
- 【SQLServer備份策略】透過Windows任務計劃程式清理SQLServer歷史備份SQLServerWindows
- Go 語言操作 MySQL 之 事務操作GoMySql
- SQLServer 難以接受的安全策略SQLServer
- Spring的事物回滾問題Spring
- SQLSERVER 的四個事務隔離級別到底怎麼理解?SQLServer
- 入門Kubernetes - 滾動升級/回滾
- 深入UNDO回滾段,檢視爭用以及回滾段使用量的估算