更改存储过程和函数时出错

时间:2014-06-06 07:08:05

标签: sql-server stored-procedures sql-server-2012 ddl stored-functions

使用SQL Server Management Studio,当我尝试更改存储过程或用户定义的函数时,我收到以下错误:

  

Msg 9455,Level 16,State 1,Procedure AuditDDLChanges,Line 18
  XML解析:第34行,第28个字符,非法限定名字符

即使我没有对代码进行任何更改,也会发生此错误。我所做的只是右键单击对象资源管理器中的存储过程或UDF,然后选择"修改" (或者#34;脚本存储过程为">" ALTER To">"新查询编辑器窗口")。

如果不对生成的脚本进行任何更改,我就会收到上述错误。

现在这里有一个非常幽灵般的部分:我的所有对象都不会发生这种情况,而且,如果我自己执行存储过程中的代码,一切正常。

任何建议都非常感谢!感谢。

1 个答案:

答案 0 :(得分:0)

原来另一位管理员用户创建了一个名为“AuditDDLChanges”的数据库触发器。此触发器将侦听DDL_PROCEDURE_EVENTS,DDL_TABLE_VIEW_EVENTS,DDL_TRIGGER_EVENTS和DDL_FUNCTION_EVENTS,并将记录插入到每个此类事件的日志表中。

由于某种原因,此触发器的代码无法解析从EVENTDATA()函数返回的某些XML。

禁用触发器后,我不再收到上述错误,这就是我将此问题标记为已回答的原因。