SQL Server 2005变更审计

17 浏览
0 Comments

SQL Server 2005变更审计

SQL Server 2005中是否有内置的方法来审计特定操作,例如删除存储过程?是否有可以查询的历史表?我们有一个神秘的存储过程已经消失了几次了。

0
0 Comments

SQL Server 2005 Change Auditing问题的出现原因是使用DDL触发器或使用Profiler跟踪文本"%DROP%PROC%procname%"。

解决方法是使用DDL触发器或Profiler跟踪文本"%DROP%PROC%procname%"。

0
0 Comments

在SQL Server 2005中,由于缺乏适当的审计功能,导致了一个需求:需要一种方法来监控和记录数据库中的更改操作。为了解决这个问题,一种解决方法是使用SQL Server 2008中引入的AUDIT功能来代替Profiler Traces进行审计活动。

SQL Server 2008中的AUDIT功能类似于Profiler Traces,但具有自己的配置UI和查看结果的UI。通过使用AUDIT功能,可以轻松地配置和管理审计活动,并查看生成的结果。

AUDIT功能提供了一种灵活的方法来监视数据库的更改操作。可以定义审计规范,以指定要监视的操作类型(如INSERT、UPDATE、DELETE)以及要监视的表和列。此外,还可以指定将审计结果存储在哪个文件或表中,以便日后查看。

使用AUDIT功能的示例代码如下所示:

-- 创建一个审计规范
USE master;
CREATE SERVER AUDIT MyServerAudit
TO FILE 
( FILEPATH = 'C:\Audit\'
  ,MAXSIZE = 0 MB
  ,MAX_ROLLOVER_FILES = 2147483647
  ,RESERVE_DISK_SPACE = OFF
)
WITH
( QUEUE_DELAY = 1000
  ,ON_FAILURE = CONTINUE
);
-- 启用审计规范
ALTER SERVER AUDIT MyServerAudit
WITH (STATE = ON);
-- 创建一个审计规范规则
USE AdventureWorks;
CREATE DATABASE AUDIT SPECIFICATION MyDatabaseAuditSpec
FOR SERVER AUDIT MyServerAudit
ADD (SELECT, INSERT, UPDATE, DELETE
     ON Person.Address
     BY dbo)
WITH (STATE = ON);

通过以上代码,我们可以创建一个名为MyServerAudit的服务器审计规范,并将审计结果存储在C:\Audit\目录下。然后,我们创建了一个名为MyDatabaseAuditSpec的数据库审计规范,并指定要监视的操作类型和表。

使用AUDIT功能,我们可以轻松地满足对数据库更改操作的审计需求。它提供了一个方便的方式来配置和管理审计活动,并且生成的结果可以随时查看和分析。

0
0 Comments

SQL Server 2005 Change Auditing问题的原因是需要对数据库进行更改的操作进行审计,以便能够跟踪和监控数据库中的变化。这种审计可以用于安全性、合规性和故障排除等方面。

解决方法是使用DDL触发器来构建审计功能。DDL触发器是一种特殊类型的触发器,它可以在数据库中的DDL(数据定义语言)操作发生时自动触发。通过在DDL触发器中编写适当的代码,可以捕获和记录数据库中的变化操作。

以下是一个使用DDL触发器实现SQL Server 2005 Change Auditing的示例:

CREATE TRIGGER Audit_DDLChanges

ON DATABASE

FOR DDL_DATABASE_LEVEL_EVENTS

AS

BEGIN

-- 捕获和记录变化操作

DECLARE @EventData XML

SET @EventData = EVENTDATA()

INSERT INTO dbo.AuditTable (EventType, EventData)

VALUES ('DDL_CHANGE', @EventData)

END

在上面的示例中,创建了一个名为"Audit_DDLChanges"的DDL触发器,它在数据库级别的DDL事件发生时触发。触发器的代码将事件数据插入名为"AuditTable"的审计表中,以记录变化操作的详细信息。

通过使用DDL触发器,可以实现对SQL Server 2005数据库中的变化操作进行审计。这种审计功能可以帮助数据库管理员和安全团队跟踪和监控数据库中的变化,从而提高数据库的安全性和合规性。

0