Triggers SQL Server 2008 R2:DDL触发器(ALTER_TABLE)和CONCAT_NULL_将生成_NULL OFF

Triggers SQL Server 2008 R2:DDL触发器(ALTER_TABLE)和CONCAT_NULL_将生成_NULL OFF,triggers,sql-server-2008-r2,ddl,Triggers,Sql Server 2008 R2,Ddl,我使用DDL触发器监视表结构的更改(ALTER_table),并将标志更新到表中。我的应用程序已将CONCAT\u NULL\u设置为NULL OFF,我无法更改它。使用此设置关闭,向表中添加新列时,下面的触发器将出错。当它在上设置为时,工作正常 你知道怎么做吗 Msg 1934,第16级,状态1,程序表变更跟踪,第50行 选择失败,因为以下设置选项不正确 设置:“CONCAT_NULL_产生_NULL”。验证设置选项是否正确 适用于索引视图和/或计算列上的索引 和/或筛选索引和/或查询通知和/

我使用DDL触发器监视表结构的更改(
ALTER_table
),并将标志更新到表中。我的应用程序已
将CONCAT\u NULL\u设置为NULL OFF
,我无法更改它。使用此设置
关闭
,向表中添加新列时,下面的触发器将出错。当它在上设置为
时,工作正常

你知道怎么做吗

Msg 1934,第16级,状态1,程序表变更跟踪,第50行
选择失败,因为以下设置选项不正确 设置:“CONCAT_NULL_产生_NULL”。验证设置选项是否正确 适用于索引视图和/或计算列上的索引 和/或筛选索引和/或查询通知和/或XML数据 类型方法和/或空间索引操作

代码:


我解决了这个问题。我补充说

将CONCAT\u NULL\u设置为

起初

设置CONCAT_NULL_产量_NULL关闭

在触发器主体的末端

代码:


我解决了这个问题。我补充说

将CONCAT\u NULL\u设置为

起初

设置CONCAT_NULL_产量_NULL关闭

在触发器主体的末端

代码:

CREATE TRIGGER [TableChangeTracking] 
ON DATABASE 
FOR ALTER_TABLE 
AS 
BEGIN
    SET NOCOUNT ON;

DECLARE @data XML;
DECLARE @object sysname;

SET @data = EVENTDATA();
SET @object = @data.value( N'(/EVENT_INSTANCE/ObjectName)[1]',  N'sysname') 

IF @object IS NOT NULL
    update AUDIT_TABLES set NEED_TRIGGER_UPDATE =  N'Y' where TABLE_NAME = @object
END;
GO
CREATE TRIGGER [TableChangeTracking] 
ON DATABASE 
FOR ALTER_TABLE 
AS 
BEGIN
    SET NOCOUNT ON;
    SET CONCAT_NULL_YIELDS_NULL ON;

    DECLARE @data XML;
    DECLARE @object sysname;

    SET @data = EVENTDATA();
    SET @object = @data.value( N'(/EVENT_INSTANCE/ObjectName)[1]',  N'sysname') 

    IF @object IS NOT NULL
        update RS_AUDIT_TABLES set NEED_TRIGGER_UPDATE =  N'Y' where TABLE_NAME = @object

    SET CONCAT_NULL_YIELDS_NULL OFF;
END;
GO