要捕獲已刪除的用戶名,我在我的CDC表中添加了一個新列(例如: - cdc.dbo_testCDC_CT)以設置記錄的SQL用戶名。 ie; ALTER TABLE cdc.dbo_testCDC_CT ADD username VARCHAR(20)DEFAULT(SUSER_SNAME()))。 該列中的值總是「sa」,但我被記錄爲Windows身份驗證。爲什麼這個哈皮?使用CDC捕獲數據
0
A
回答
1
首先,你不應該修改由cdc生成的系統表。此表是在您的dbo.testCDC表上啓用cdc時生成的,並且將包含源表的列,以及另外5列,其含義如下所述:http://msdn.microsoft.com/en-us/library/bb500305(v=sql.110).aspx。當您禁用表格中的cdc時,它將被自動刪除。
我建議先閱讀cdc和預期的使用模式。良好的開端可能是這篇文章: http://technet.microsoft.com/en-us/magazine/2008.11.sql.aspx
要回答你的問題,爲什麼SA總是分配給您的列:在* _CT表中的所有行通過日誌讀取器過程,發生在sa帳戶下運行填寫你的情況。這不是將審計添加到您的系統的方式。前面提到的文章可以爲您提供一些更好的實施審計方法的指南。
1
您的解決方案應該捕獲'Changed By'或'Inserted By'記錄的用戶名並將其保存到捕獲實例本身的基礎數據表主題中。通過這種方式,您的CDC實例也將爲您捕獲記錄的用戶名。
前面已經提到的,你應該永遠不變的系統生成的表,兩個簡單的原因:1。 當他們恢復因任何原因,您的更改將丟失 2.更改系統表可以爲您提供相當意想不到的後果。
希望這可能有助於。
相關問題
- 1. MYSQL更改數據捕獲(CDC) - Azure服務(Azure數據工廠)
- 2. 爲特定DML操作啓用更改數據捕獲(CDC)
- 3. Google Cloud SQL中的CDC(更改數據捕獲)
- 4. 捕獲數據使用
- 5. 在SQL Server的表中啓用CDC時缺少CDC捕獲作業
- 6. SSDT與CDC - [更改下的數據捕獲控制,不能修改]
- 7. 使用tcpdump捕獲LLDP數據包
- 8. 如何使用netfilter捕獲數據包?
- 9. 使用libpcap捕獲無線數據包
- 10. 使用POST或SESSION捕獲數據
- 11. 使用Java的USB數據包捕獲
- 12. 如何使用FiddlerCore捕獲數據?
- 13. 使用java捕獲DNS數據包
- 14. 使用Express捕獲參數
- 15. 如何確定使用熊貓數據框捕獲數據?
- 16. 更改數據捕獲性能損失是否限制在啓用CDC的表中?
- 17. 如何使用SQL Server CDC重新加載增量數據?
- 18. 更改數據捕獲 - 用於捕獲數據更改的Microsoft最佳實踐?
- 19. 如何在不禁用CDC的情況下激活對新添加的基礎表列的更改數據捕獲(CDC)
- 20. Wireshark的捕獲數據包,但JAVA應用不捕獲
- 21. html表單捕獲數據使url
- 22. Python的數據包嗅探/數據包捕獲 - pcapy不捕獲數據包
- 23. Powershell SQL Server數據庫恢復(與CDC)
- 24. 從cdc表中刪除數據
- 25. SQL Server CDC(更改數據捕獲)僅用於表數據更改?我可以使用它來跟蹤程序或其他類型的對象更改嗎?
- 26. ToscaWidgets2從GrowingGridLayout捕獲數據
- 27. C捕獲ICMP數據包
- 28. 捕獲數據流的Java
- 29. Python GPS數據捕獲
- 30. 捕獲jQuery表單數據
@Sreepathi,請使用標記作爲答案按鈕來獎勵花時間回答您的問題的人。 – rrozema 2017-10-20 11:07:46