作为我上一个问题的后续行动:
有没有办法需要找出在我的数据库中创建给定过程时的设置ANSI_NULLS
?ANSI_PADDING
似乎我的客户有几个存储过程和一些触发器已经“调整” - 但不幸的是,使用了这些数据库设置的“错误”集。我可以找出受影响的触发和触发器,还是需要使用正确的设置重新创建它们?
作为我上一个问题的后续行动:
有没有办法需要找出在我的数据库中创建给定过程时的设置ANSI_NULLS
?ANSI_PADDING
似乎我的客户有几个存储过程和一些触发器已经“调整” - 但不幸的是,使用了这些数据库设置的“错误”集。我可以找出受影响的触发和触发器,还是需要使用正确的设置重新创建它们?
这可以通过以下方式确定
sys.sql_modules
:结果:
其他一些有用的列:
请注意,某些设置(例如
arithabort
、ansi_warnings
、ansi_padding
)不与对象一起存储。此外,对于任何被识别为“错误”的程序,您还需要使用正确的设置重新编译程序。关于问题的ANSI_PADDING部分,您可以使用
sys.columns
来自ANSI_PADDING MSDN 文章:
这是一个查询,用于检查受影响数据类型的对象列的 ANSI 填充值: