SQL 服务器中的全局审核 Table

Global Audit Table in SQL Server

在查看我的模式中的一些 table 时,我想到了是否可以创建一个全局审计 table,它可能包含所有 [=17= 上的 DML 条目的一些信息]s。我想存储 'Table name', 'Modifier', 'Row Update/Insert/Delete query', 'query result', 'Modifying Instance Information: sql-client, session-info(?)', performance items, timestamp, etc。我还可以通过 table 到 rowcount 上的 insert trigger 限制行数来限制此 table 大小。允许这种构造吗?这是一个坏主意吗?它能达到的最快速度是多少?这样的构造还存在什么问题?基本上,直接登录数据库是个坏主意吗?

在大数据上使用 database level triggerbulk insert/update/delete 记录 DML 存在性能问题,因此还有另外三个选项:

  1. SQL 服务器更改跟踪:more info
  2. 内置数据更改功能(CDC):more info
  3. 数据库级审计日志:more info

我强烈支持选项 1。