要捕獲已刪除的用戶名,我在我的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. 捕獲數據使用
- 3. 在SQL Server的表中啓用CDC時缺少CDC捕獲作業
- 4. 使用java捕獲DNS數據包
- 5. 使用Java的USB數據包捕獲
- 6. 使用POST或SESSION捕獲數據
- 7. 如何使用netfilter捕獲數據包?
- 8. 如何確定使用熊貓數據框捕獲數據?
- 9. 更改數據捕獲性能損失是否限制在啓用CDC的表中?
- 10. 更改數據捕獲 - 用於捕獲數據更改的Microsoft最佳實踐?
- 11. html表單捕獲數據使url
- 12. 如何使用SQL Server CDC重新加載增量數據?
- 13. 如何在不禁用CDC的情況下激活對新添加的基礎表列的更改數據捕獲(CDC)
- 14. 如何捕獲數據包
- 15. Python GPS數據捕獲
- 16. 捕獲數據流的Java
- 17. wireshark:僅捕獲數據層
- 18. Talend PostgreSQL Chage數據捕獲
- 19. Powershell SQL Server數據庫恢復(與CDC)
- 20. SQL Server CDC(更改數據捕獲)僅用於表數據更改?我可以使用它來跟蹤程序或其他類型的對象更改嗎?
- 21. 如何捕獲用戶數據
- 22. 如何用Asterisk捕獲GTalk數據?
- 23. 如何用Apache捕獲CURL/XML數據?
- 24. 捕獲使用C#
- 25. 如何知道何時從變更數據捕獲(CDC)中刪除表或將其添加到表中?
- 26. 根據請求超時捕獲數據
- 27. 根據URL中的值捕獲數據
- 28. 如何使用Amazon Alexa捕獲小數?
- 29. 在.split()函數中使用捕獲組
- 30. 如何使用Hibernate捕獲數據庫通信失敗
@Sreepathi,請使用標記作爲答案按鈕來獎勵花時間回答您的問題的人。 – rrozema 2017-10-20 11:07:46