我有一个字典,其中包含我的数据库中更新的表和字段,我保留这些表和字段来构建查询和其他内容。
每次创建或更改表时,我都想刷新此字典。
我的解决方案是创建一个 sql 作业来更新具有布尔值的表,称为 IsDBDictionaryUpdated 每次更改。
我如何通过跳转每个数据库结构更改的通用触发器来激活此作业?
我有一个字典,其中包含我的数据库中更新的表和字段,我保留这些表和字段来构建查询和其他内容。
每次创建或更改表时,我都想刷新此字典。
我的解决方案是创建一个 sql 作业来更新具有布尔值的表,称为 IsDBDictionaryUpdated 每次更改。
我如何通过跳转每个数据库结构更改的通用触发器来激活此作业?
最简单的方法是创建一个在更改或创建表时触发的 DDL 触发器。然后,使用 exec 语句,您可以执行要更新字典的作业。
CREATE TRIGGER safety
ON DATABASE
FOR CREATE_TABLE, DROP_TABLE, ALTER_TABLE
AS
EXEC msdb..sp_start_job
@job_name = 'JobName';
GO
这是 MS 文章的链接:http: //msdn.microsoft.com/en-us/library/ms175941.aspx