我今天面临的情况是,如果我们知道谁已经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:
或使用第三方工具
ApexSQL有两个审计工具 – ApexSQL日志和ApexSQL审计。 使用其中一个有一些优点 ,例如:
免责声明:我在ApexSQL担任产品支持工程师
对于这种事情,我们有Idera Compliance Manager,尽pipe我确信还有其他供应商有类似的产品。
正如@mrdenny所说的那样,2008年推出了一个内置的审计function。 你可以从这个和这篇文章开始。
你也可以看看这个白皮书: SQL Server 2008审计和了解SQL Server审计
请记住,SQL分析器与它有很大的关联。