SQL Server审计跟踪的最佳实践

我今天面临的情况是,如果我们知道谁已经login到SQL并执行了一些删除操作,那对我和我的公司将是非常有利的。

我们有一种情况,至less有2(有时是3)人使用SQL Server Management Studiologin到SQL,并执行各种function。

我们需要的是审计线索。 如果有人删除logging(错误或其他),我想知道做了什么。

有什么办法可以做到这一点?

有几个不同的工具可以使用。 如果您拥有SQL Server 2008或更高版本,则内置审计function可以捕获此信息。

如果您无法使用SQL事件探查器或服务器端跟踪捕获信息。

如果数据库处于完全恢复状态,则可以使用Log Explorer或LiteSpeed for SQL Server挖掘事务日志。 如果你想写自己的东西,可以使用一些未公开的命令。

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

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

或使用第三方工具

ApexSQL有两个审计工具 – ApexSQL日志和ApexSQL审计。 使用其中一个一些优点 ,例如:

  • 审核所需的时间 – 无论是在安装工具之前还是之后
  • 可以审计的业务范围
  • 自动化,审计信息的存储方式以及如何查询

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

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

正如@mrdenny所说的那样,2008年推出了一个内置的审计function。 你可以从这个和这篇文章开始。

你也可以看看这个白皮书: SQL Server 2008审计和了解SQL Server审计

请记住,SQL分析器与它有很大的关联。