CodeSmith 生成的审计日志触发器






2.56/5 (3投票s)
2005年4月8日
1分钟阅读

62089

887
CodeSmith 模板,用于在 SQL 表上创建审计日志触发器。
引言
我认为我无需赘述 CodeSmith 的优点。 如果你还没有尝试过,请访问该链接体验一下。
背景
我需要记录对 SQL Server 表所做的更改,但由于我已经编写了应用程序,所以我需要一个快速且简单的解决方案,而无需对我的应用程序进行全新的单元和系统测试。 我知道 CodeSmith 有一些模板可以生成 SQL 脚本,并允许开发人员创建他们自己的脚本,而无需编写数百行代码。 结果就是 AuditTriggers CodeSmith 模板。
使用代码
安装 CodeSmith 后,你可以将脚本运行在你需要审计日志的 SQL Server 数据库表上。 它将生成一个 SQL 脚本,你可以安装到数据库中,或者修改后安装。
如果你查看生成的脚本中的注释,你将看到 Create Table
脚本。
-- Audit Table looks like this
-- CREATE TABLE [dbo].[<%= AuditTableName %>] (
-- [ChangeLogID] [int] IDENTITY (1, 1) ,
-- [OperationType] [varchar] (10) NOT NULL ,
-- [ChangeTimestamp] [datetime] NOT NULL ,
-- [MadeBy] [varchar] (6) NOT NULL ,
-- [TableChanged] [varchar] (50) NOT NULL
-- ) ON [PRIMARY]
-- Detail Table looks like this
-- CREATE TABLE [dbo].[<%= AuditFieldTableName %>] (
-- [FieldName] [varchar] (50) NOT NULL ,
-- [ChangeLogID] [int] NOT NULL ,
-- [BeforeValue] [sql_variant] NOT NULL ,
-- [AfterValue] [sql_variant] NOT NULL
-- ) ON [PRIMARY]
上面的脚本是日志表,所有审计日志都将插入到其中。 注意:AuditTrigger 脚本不会为 BLOB
数据类型生成审计日志。
关注点
对于任何类型的代码,CodeSmith 都是一个快速且简单的解决方案,堪称一流。