各位前輩好
目前小弟使用的資料庫是SQL Server
最近遇到一個很弔詭的問題是某一個TABLE的固定幾筆資料的某一個欄位居然會莫名其妙的被修改成別的資料,但資料都相同
而且每天都會被修改個幾次,時間則不固定
已經翻遍了相關系統、排程與預存程序都查不到有哪段程式可以修改那個欄位
現在只有用trigger調查出修改的執行時間點
但是實在是太沒規律了所以還是不夠
原本是想請機房管理員幫忙用SQL Server Profiler調查是哪隻SQL程式有在修改
但是因為發生時間不固定故沒有辦法一直監測
所以想請教還有沒有什麼其他方法可以知道這TABLE是如何被修改的?
感謝各位前輩了!
T-SQL筆記16_如何查詢最近一次Table的異動以及DB各Table創建時間資訊
https://coolmandiary.blogspot.com/2021/04/t-sql16tabledbtable.html
T-SQL筆記36_如何側錄軟體背後執行的SQL
https://coolmandiary.blogspot.com/2022/12/t-sql36sql.html
T-SQL筆記48_實用的腳本part2_如何去得知某table的來源或更新刪除源頭來自哪個sp或trigger_sp_depends
https://coolmandiary.blogspot.com/2023/07/t-sql48part2tablesptriggerspdepends.html
T-SQL筆記54_盤查某SP是掛在哪個JOB_JOB的排程清單查詢
https://coolmandiary.blogspot.com/2023/09/t-sql54spjobjob.html
已經翻遍了相關系統、排程與預存程序都查不到有哪段程式可以修改那個欄位
如果確定的話
就把該欄位的名字改掉
然後等著看那隻程式會跳出錯誤(update失敗)
時間不固定,代表是人為啟動程式 或是 某個行為 觸發有問題的程式。
你可以針對那固定幾筆的錯誤欄位 寫個監控程式。
紀錄錯誤資料的發生時間。這樣就有跡可尋。
再來,
你提到:最近遇到一個很弔詭的問題是某一個TABLE的固定幾筆資料的某一個欄位居然會莫名其妙的被修改成別的資料,但資料都相同。
可以先查 何種情況會寫入或讀取 那幾筆固定資料。這樣應該會比較容易排查。