繁体   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