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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE 死事務的回滾Oracle
- SQL Server 事務及回滾事務SQLServer
- java 事務提交/回滾Java
- oracle檢視回滾的事務Oracle
- 客戶端登陸logout操作,事務回滾客戶端Go
- 回滾操作、回滾段的理解
- Spring事務回滾情況Spring
- Oracle vs PostgreSQL,研發注意事項(3)- 事務回滾之UPDATE操作解析OracleSQL
- 不能回滾的Redis事務還能用嗎Redis
- MySQL實現事務的提交和回滾MySql
- DBUNITS的單元測試事務回滾
- WebForm中C#事務回滾的例子WebORMC#
- 關於事務回滾註解@Transactional
- MySql事務無法回滾的原因有哪些MySql
- 關於Spring事務回滾的問題Spring
- long長事務回滾的模擬與定位
- T-SQL——關於事務回滾的方式SQL
- JDBC 事務(二)回滾到儲存點JDBC
- Spring事務不能回滾的深層次原因Spring
- 關於ORACLE大型事務回滾的幾個點Oracle
- 在SQL SERVER中實現事務的部分回滾SQLServer
- Spring Transaction詳解 – 手動回滾事務Spring
- zt_Oracle事務rollback回滾時間估算Oracle
- Spring Data JPA中事務回滾意外RollbackExceptionSpringException
- 使用FLASHBACK_TRANSACTION_QUERY查詢回滾事務SQLSQL
- Spring中@Transactional事務回滾例項及原始碼Spring原始碼
- openGauss 子事務併發回滾流程最佳化
- 命令(XA ROLLBACK) 讓儲存叢集回滾GT 的事務分支
- sqlserver 異常 事務SQLServer
- spring事務增強,事務回滾如何判斷?希望在前端上有個提示Spring前端
- 【web】Spring中使用DataSourceTransactionManager手動提交或回滾事務WebSpring
- Spring Transaction詳解 – 異常發生時的事務回滾機制Spring
- 關於操作駁回遇到的問題
- spring事務不回滾Spring
- 日常Bug排查-應用Commit報錯事務並沒有回滾MIT
- mongodb 的事務性操作MongoDB
- Redis事務操作Redis
- MySQL 事務操作MySql