Netwrix 1Secure 提供跨数据和身份的统一可见性——免费试用14天,享有完全访问权限。开始免费试用

资源中心操作指南

如何在 SQL Server 中查找数据库更改

如何在 SQL Server 中查找数据库更改

Netwrix Auditor for SQL Server

  1. 运行 Netwrix Auditor → 导航到“Search”→ 如果未选择,请单击“Advanced mode”→ 设置以下筛选条件:
    • 筛选条件 = "数据源"
      运算符 = "等于"
      值 = "SQL Server"
    • 筛选条件 = "对象类型"
      运算符 = "等于"
      值 = "数据库"
    • 筛选条件 = "操作"
      运算符 = "等于"
      值 = "已修改"
  2. 单击“搜索”按钮,然后查看对数据库进行了哪些更改。
a screenshot of the search page in microsoft sql server

了解更多:Netwrix Auditor for SQL Server

原生审计

  • 运行 MS SQL Management Studio → 连接到要审计的数据库 → 单击“New Query”→ 将以下代码复制到“New Query”框中:
      DECLARE @RC int, @TraceID int, @on BIT
EXEC @rc = sp_trace_create @TraceID output, 2, N'C:\path\file'
SELECT RC = @RC, TraceID = @TraceID
-- Follow Common SQL trace event list and common sql trace
-- tables to define which events and table you want to capture
SELECT @on = 1
EXEC sp_trace_setevent @TraceID, 128, 1, @on
-- (128-Event Audit Database Management Event, 1-TextData table column)
EXEC sp_trace_setevent @TraceID, 128, 11, @on
EXEC sp_trace_setevent @TraceID, 128, 14, @on
EXEC sp_trace_setevent @TraceID, 128, 35, @on 
EXEC @RC = sp_trace_setstatus @TraceID, 1
GO
      
  • 定义文件跟踪位置(标红),然后点击“Execute”以开始新的跟踪。
  • 当你想审计数据时,执行此查询以停止跟踪:
      sp_trace_setstatus @traceid = 1, @status = 0
      
  • 执行此查询以将跟踪导入到数据库表中:
      USE DBname
SELECT * INTO tablename FROM ::fn_trace_gettable('C:\path\file.trc', DEFAULT)
GO
      
  • 执行此查询以查看跟踪(trace)数据的前 1000 行:
      SELECT TOP 1000 [TextData] ,[HostName] ,[LoginName] ,[StartTime] ,[EndTime] ,[ServerName] ,[EventClass]
FROM [DBname].[dbo].[tablename]
WHERE DBname.dbo.tablename.TextData IS NOT NULL
      
  • 查看 "TextData" 列中的事件:CREATE DATABASE、DROP DATABASE、ALTER DATABASE,以了解更改的是哪个数据库。要查明是谁进行了更改以及更改发生在何时,请分别参考 "LoginName" 和 "StartTime" 列。
a row of text data is displayed in a table

在关键数据面临风险之前,检测整个 SQL Server 中的数据库变更

为什么需要在 SQL Server 中查找数据库变更?因为任何未经授权的 SQL Server 数据库变更(例如删除、修改或创建数据库及其对象)都可能危及您的数据安全。例如,删除或修改可能导致数据丢失或系统不可用。即使是创建新的数据库也可能带来麻烦,因为这会减少服务器上的可用空闲空间。

Netwrix Auditor for SQL Server 便于可靠地进行数据库变更跟踪与审计,包括检测架构变更、数据变更等。您不再需要花费数小时在 Transact-SQL 中编写和设置查询,例如,用于查明是谁更改了表。Netwrix Auditor for SQL Server 提供预定义和可自定义的仪表板与报告,以易于阅读的格式呈现每一次数据库变更的所有关键信息。此外,Interactive Search 功能可让您在几分钟内找到问题的根本原因,而对关键活动的告警可确保您最先了解可能存在的威胁。

分享到