簡體   English   中英

我如何知道 SQL 數據庫在一段時間內發生了什么變化?

[英]How can I know what changed in a SQL database for a certain time?

我有一個管理公司打印機的系統,我需要通過了解用戶每次交互在數據庫中添加/更改的內容來了解網站和數據庫之間的工作流程是如何工作的。 有沒有辦法為數據庫甚至整個 SQL 服務器查找或創建某種日志,可以向我展示我需要什么?

我認為您正在尋找的是觸發器。 您可以制作表格來記錄當前更新或更改的數據,並使用觸發器在任何更改時自動在日志表中提供數據

CREATE OR REPLACE TRIGGER [trigger_name]
BEFORE DELETE OR INSERT OR UPDATE ON [table_name] 
  FOR EACH ROW 
  WHEN [some condition] 
  DECLARE 
  [variable declaration]
  BEGIN 
     [create an entry in the log table here]
  END; 

您可以使用 NEW 和 OLD 關鍵字來引用數據(new 指的是最近更新的數據)

只是為了記錄,存在一個用於該目的的工具,並與 SQL 服務器一起安裝,它被稱為 SQL 服務器分析器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM