Netwrix Auditor for SQL Server
- 运行 Netwrix Auditor → 选择“Reports”→ 选择“SQL Server”→ 选择“All SQL Server Data Changes”报告 → 单击“View”。
- 订阅此报告,并通过电子邮件接收,或根据你设置的计划将其交付到指定的共享文件夹。
报告示例:
了解更多关于 Netwrix Auditor for SQL Server
原生审计
- 创建一个审计表,其列与被审计数据库的列相同,用于记录更改:例如,我们需要审计名为 Sales 1 的表,其中包含列 ContactID、DateAquired 和 ContactStatus。
create table AuditTable1
(
AuditID integer Identity(1,1) primary key,
ContactID integer,
DateAquired datetime,
ContactStatus varchar(20),
WhoChanged nvarchar(128),
WhenChanged datetime
)
go
- 通过运行以下脚本创建 Audit 触发器:(请注意,我们应按公钥连接表——在本例中为 ContactID)。
create trigger AuditTrigger1 on Sales1
after update, insert
as
begin
insert into AuditTable1
(ContactID, DateAquired, ContactStatus, WhoChanged, WhenChanged)
select i.ContactID, i.DateAquired, i.ContactStatus, SUSER_SNAME(), getdate()
from Sales1 t
inner join inserted i on t.ContactID=i.ContactID
end
go
- 创建触发器之后,所有更改都会记录到新创建的表中。你可以通过执行这条简单查询来查看表(AuditTable1)中的所有更改:
Select * from AuditTable1 order by WhenChanged
报告示例:
不止于为 INSERT 或 UPDATE 表创建 SQL Server 审计触发器:降低对关键数据的威胁
SQL Server 是 IT 基础设施中最关键的系统之一,它存储宝贵数据,并作为许多业务关键型应用程序的后端。由于对包含敏感数据的表执行诸如更新或插入之类的哪怕是微小的不当操作,都可能导致数据完整性中断,因此,跟踪 SQL Server 表的变更必须成为数据库管理员的首要任务。原生工具可以帮助你创建 SQL Server 审计触发器——例如,你可以创建触发器来跟踪表的变更,比如数据插入、更新或删除。然而请注意:要创建任何会将更改记录到审计跟踪(audit trail)的 SQL Server 审计触发器,你需要精通 Transact-SQL。此外,为了满足审计规范,你还需要为每个需要跟踪的表创建类似但不同的触发器。
想要密切关注表、架构以及更多内容的变更,有一种更简单、更好的方法——不必手动创建 SQL Server 数据库审计触发器或 DDL 触发器,也不必费力地在晦涩的数据中逐条爬取排查。Netwrix Auditor for SQL Server 可最大化地提升对您所有 SQL 服务器上正在发生事情的可视性,包括对敏感信息做了哪些更改、由谁在何时完成。无需再去设置多个 SQL Server 审计表触发器——该解决方案会自动从所有表和数据库中收集并汇总变更。内置报告让您可以轻松发现变更,而 Interactive Search 功能则便于调查异常变更,因此您能够在为时已晚之前主动捕捉数据威胁。
分享到