SQL Server 审计跟踪的最佳实践

SQL Server 审计跟踪的最佳实践

我今天面临的情况是,如果我们知道谁登录了 SQL 并执行了一些删除操作,那么对我和我的公司来说将非常有益。

我们遇到的情况是至少有 2 个人(有时是 3 个人)使用 SQL Server Management Studio 登录 SQL,并执行各种功能。

我们需要的是审计线索。如果有人删除了记录(无论是误删还是其他原因),我想知道做了什么。

有什么办法可以实现这一点吗?

答案1

您可以使用一些不同的工具。如果您有 SQL Server 2008 或更高版本,则内置的审核功能可以捕获此信息。

如果失败,您可以使用 SQL Profiler 或服务器端跟踪来捕获信息。

如果您的数据库处于完全恢复状态,您可以使用 Log Explorer 或 LiteSpeed for SQL Server 挖掘事务日志。如果您想编写自己的内容,可以使用一些未记录的命令。

答案2

您可以设置 DML 触发器、使用数据库事务日志读取事务(DELETE)信息、使用本机 SQL Server 功能:

  • SQL Server 更改跟踪
  • SQL Server 变更数据捕获
  • SQL Server 审计

或使用第三方工具

ApexSQL 有两个审计工具 - ApexSQL Log 和 ApexSQL Audit。使用其中一种方式比使用另一种方式有一定的优势,例如:

  • 审核所需的时间段——是在工具安装之前还是之后
  • 可审计的业务范围
  • 自动化、审计信息的存储方式以及事后查询方式

免责声明:我在 ApexSQL 担任产品支持工程师

答案3

对于这种事情,我们有Idera Compliance Manager,尽管我确信还有其他供应商也有类似的产品。

答案4

正如 @mrdenny 所说,2008 年引入了一项用于审计的内置功能。你可以从文章。

您还可以查看这份白皮书:SQL Server 2008 中的审计了解SQL Server审计

请记住,SQL 事件探查器具有很大的相关开销。

相关内容