如何監控資料庫內容是否被更改 - 工作
By Daph Bay
at 2009-04-24T00:00
at 2009-04-24T00:00
Table of Contents
請問各位大大!小弟想針對資料庫內容做監控,當資料有被刪除時,便記錄在另一個資料庫中,請問小弟能夠記錄是哪一筆資料被刪除嗎?(資料庫內大約有20萬筆資料會持續增加)
現在小弟只能依照資料庫筆數的比對來做是否被刪除的記錄
Update:
感謝大大們的建議。。我是用SQL2005 監控軟體為intuch,主要是因為操作員會直接開啟資料庫表格偷偷將異常紀錄刪除,所以小弟才想防堵他
Update 2:
利用VB寫一個監控資料庫動作的程式。。來幫助USER端的工程師釐清紀錄是否被刪除或是電腦未紀錄
Update 3:
Glory 大大不好意思..我是第一次用SQL所以您說的小弟有模糊,您所說的觸發程序是那哪呼叫呢??
Update 4:
我在REPORT4的所有工作中管理->管理觸發程序的對話方塊中
輸入如大大提示的已成功記錄一筆訊息到另一個資料表中
但觸發時間要如何填??
Update 5:
CREATE TRIGGER [DELCHECK] ON [REPORT4]
FOR DELETE
AS
BEGIN
INSERT INTO EQ_REPORT (S_STIME, S_ETIME, S_COMM)
VALUES ('發生日期','發生時間','人為移除資料列')
END
Update 6:
如上 日期及時間該如何應用?
Update 7:
YA~~~時間放入成功了!!就剩下被砍的訊息怎麼轉寫了
Update 8:
經由測試及爬文小弟想通了..與其記錄被他刪除的資料,不如讓他刪不掉,並記錄人員試圖刪除資料庫內容,所以觸發程序如下
Update 9:
CREATE TRIGGER [DELCHECK] ON [REPORT4]
instead of DELETE
AS
ROLLBACK TRANSACTION
BEGIN
INSERT INTO EQ_REPORT (S_STIME, S_ETIME, S_COMM)
VALUES (getdate(),' ','人為試圖移除資料')
END
Update 10:
以上~~請問大大還有關於這方面其他好的建議嗎?
現在小弟只能依照資料庫筆數的比對來做是否被刪除的記錄
Update:
感謝大大們的建議。。我是用SQL2005 監控軟體為intuch,主要是因為操作員會直接開啟資料庫表格偷偷將異常紀錄刪除,所以小弟才想防堵他
Update 2:
利用VB寫一個監控資料庫動作的程式。。來幫助USER端的工程師釐清紀錄是否被刪除或是電腦未紀錄
Update 3:
Glory 大大不好意思..我是第一次用SQL所以您說的小弟有模糊,您所說的觸發程序是那哪呼叫呢??
Update 4:
我在REPORT4的所有工作中管理->管理觸發程序的對話方塊中
輸入如大大提示的已成功記錄一筆訊息到另一個資料表中
但觸發時間要如何填??
Update 5:
CREATE TRIGGER [DELCHECK] ON [REPORT4]
FOR DELETE
AS
BEGIN
INSERT INTO EQ_REPORT (S_STIME, S_ETIME, S_COMM)
VALUES ('發生日期','發生時間','人為移除資料列')
END
Update 6:
如上 日期及時間該如何應用?
Update 7:
YA~~~時間放入成功了!!就剩下被砍的訊息怎麼轉寫了
Update 8:
經由測試及爬文小弟想通了..與其記錄被他刪除的資料,不如讓他刪不掉,並記錄人員試圖刪除資料庫內容,所以觸發程序如下
Update 9:
CREATE TRIGGER [DELCHECK] ON [REPORT4]
instead of DELETE
AS
ROLLBACK TRANSACTION
BEGIN
INSERT INTO EQ_REPORT (S_STIME, S_ETIME, S_COMM)
VALUES (getdate(),' ','人為試圖移除資料')
END
Update 10:
以上~~請問大大還有關於這方面其他好的建議嗎?
All Comments
By Valerie
at 2009-04-28T04:20
at 2009-04-28T04:20
CREATE TRIGGER [TABLE_NAME].[TRI_NAME] ON [TABLE_NAME]
FOR DELETE
AS
BEGIN
/* 以下寫入被刪除的資料,再轉寫到另一個表格 */
..
..
..
END
GO
(以上是MS SQL的範例)
By James
at 2009-04-25T22:45
at 2009-04-25T22:45
By Dorothy
at 2009-04-25T19:25
at 2009-04-25T19:25
用 MS SQL可以用SqlDependency , 不過,這玩意兒真的很難用 ~"~
2009-04-27 23:12:09 補充:
看起來用Trigger是最好的了..我一開始誤會了你的意思.
2009-04-27 23:46:19 補充:
幻想:
要更機車還可以加一樣,寫一個小的主控台程式,用Delete Trigger去啟動它,例如會讓電腦發出聲音(ex:偷偷刪除資料會導致電腦爆炸) ,或是會傳Message到另外一台電腦警示之類的..
2009-04-30 00:34:05 補充:
1.啟用 SQL Server XP_cmdShell的功能 [在功能的介面區組態設定]
2009-04-30 00:39:52 補充:
Set @Cmd='d:\aaa\bbb.exe
execute xp_cmdshell @Cmd
Trigger大概是像這樣呼叫
2009-04-30 00:40:07 補充:
Set @Cmd='d:\aaa\bbb.exe'
By Jack
at 2009-04-26T02:43
at 2009-04-26T02:43
使用者是用何種介面。
By Olivia
at 2009-04-27T22:11
at 2009-04-27T22:11
Related Posts
我臺灣人與香港女友考慮結婚但結婚後就可以工作了嗎?我需要工作
By Vanessa
at 2009-04-23T00:00
at 2009-04-23T00:00
就業補助怎麼(可以)申請?
By James
at 2009-04-23T00:00
at 2009-04-23T00:00
有關速食業工作問題!!麥當勞肯德基漢堡王
By Vanessa
at 2009-04-23T00:00
at 2009-04-23T00:00
全聯員工離職問題
By Yuri
at 2009-04-23T00:00
at 2009-04-23T00:00
哪個桃園公車會經過蘆竹鄉厚生路(近南工路)
By Iris
at 2009-04-23T00:00
at 2009-04-23T00:00