iT邦幫忙

0

SQL Server 2008 R2有辦法追踪到修改的資料嗎?

ping9 2014-03-27 10:20:4310080 瀏覽

請問某一筆資料作修改
SQL Server 2008 R2
有辦法追踪到修改的資料嗎?
要如何查呢?
謝謝

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
2
summertw
iT邦好手 1 級 ‧ 2014-03-27 16:02:35
最佳解答

SQL Server 本身已含有一個完整的交易記錄檔..
該檔案透過設定,可以完整記錄所有資料表的讀、寫記錄。
但只可惜,它是用來還原用,如果要在這裡查詢交易記錄,可能要花很大的功夫才行..
......
樓上的【select】兄回答的方法可行,但觸發器的應用不能阻撓你要監控的資料表原本的作業行為..
select 兄的方法只說了一半,用此法將會阻撓你要監控的資料表原本的作業行為。
....
首先,你要建立一個與你要監控的資料表有相關的監控記錄表。
或是建立一個你自己定義的記錄表。
觸發器內容,應再簡化如下段程式..

insert into 你自建的監按表 (Column1 , Column2 ....)
Select inserted.Column1 , inserted.column2......
From inserted

若是你不想作任何除錯管控,上段程式就夠用了..
如果你想要作出一些有關你自己的除錯功能..
那請配合 @@Error 共用變數、 RaisError 系統函數來處理...
若要強迫還原被修改的資料,那就使用 RollBack tran 即可。

祝你成功啦

一尾 iT邦研究生 1 級 ‧ 2014-03-28 12:16:23 檢舉

的確
如果期望insert的資料是經過判斷的
加上rollback會比較理想一點

我要發表回答

立即登入回答