我是SQL新手。我的生產數據庫中有大量的存儲過程。我計劃編寫一個審計表,供這些存儲過程用來跟蹤更改(這些存儲過程將寫入此審計表)。但問題是,當事務回滾時,插入到審計表中的行也會回滾。有什麼辦法可以創建一個不受事務回滾影響的表。任何其他的想法,滿足我的要求是值得歡迎的!在SQL Server中創建審計表不受事務回滾影響
0
A
回答
3
不能,一旦會話開始一個事務,該會話中的所有活動都包含在事務中。
你可以做的是打開一個不同的會話,例如一個CLR過程,它作爲一個普通的客戶端(不使用上下文連接)連接,並從這個連接進行審計。
但是回滾的審計操作有點不同尋常,因爲您正在審計事務從未出現從數據庫的角度來看,審計記錄和實際的數據庫狀態將會發生衝突。
1
,如果你想知道什麼是回滾這裏確定爲你做什麼:
讓你exisiting審計過程中處理成功的插入。
將插入的值放入sp中的表變量中。它是一個表變量而不是臨時表是很重要的。現在在事務的catch塊中執行回滾。這不會清除表變量。然後在表格變量中插入值(將一個字段添加到audt表中,以便您可以將記錄標記爲回退,可能還有一個用於出現錯誤消息。)
我們不專門爲審計,但我們已經這樣做來記錄錯誤。
相關問題
- 1. 在SQL Server中創建數據審計
- 2. 在SQL Server中刪除並創建表內事務,影響其他進程
- 3. SQL Server事務回滾
- 4. SQL Server回滾事務
- 5. SQL-Server事務回滾
- 6. sql-server-2008審計表
- 7. 統計SQL Server中受影響的行數
- 8. 受回滾影響的行數
- 9. SQL事務不回滾
- 10. 如何在sql server中創建審計表?我需要創建每個審計表或可以管理單個表全部審計
- 11. SQL Server:爲審計/歷史記錄創建觸發器表
- 12. SQL Server 2005審計
- 13. 有關在SQL Server中實施審計表的建議?
- 14. 創建歷史審計表
- 15. 創建數據庫,1行受影響
- 16. 回滾對SQL Server中表數據類型的影響是什麼?
- 17. 在SQL Server中審計兩個不同的表
- 18. SQL Server:不能在事務中刪除和創建SP
- 19. SQL Server在簡單查詢中返回奇怪的受影響行數
- 20. 在sql server中事務回滾的機制是什麼?
- 21. 如何在sql server中提交和回滾事務?
- 22. 審計數據庫回滾
- 23. SQL Server 2005更改審計
- 24. SharePoint和SQL Server 2008審計
- 25. SQL Server 2016審計功能
- 26. Sequlize.js:.update不返回受影響的行
- 27. SQL Server事務計數
- 28. 使用本機查詢來在jta事務中「創建表」不能被回滾?
- 29. Sql Server在while循環期間打印受影響的行
- 30. 獲取否。受影響的SQL Server 2005中