MSDN's documentation on SET
statements包含以下段落:
在计算列或索引视图上创建和操作索引时,必须将SET选项ARITHABORT,CONCAT_NULL_YIELDS_NULL,QUOTED_IDENTIFIER,ANSI_NULLS,ANSI_PADDING和ANSI_WARNINGS设置为ON。必须将选项NUMERIC_ROUNDABORT设置为OFF。
设置这些选项可以这样做:
SET ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, ANSI_PADDING, ANSI_WARNINGS ON
SET NUMERIC_ROUNDABORT OFF
我的问题是 - 有没有办法默认设置这些值,这样我们就不必每次打开连接时都手动设置它们?系统范围内,还是特定用户/登录?这样做会有任何缺点吗?
答案 0 :(得分:2)
它们已由SSMS设定。通常由客户。我没有必要为很长的时间明确设置这些。
但是,如果需要,您可以使用sp_configure指定“user options”。
顺便说一句:我没有,也不会这样做。我建议你不要触摸和改变任何设置,除非你已经证明你需要这样做......最终用户也不需要这些选项。只有ALTER INDEX和CREATE INDEX(在此上下文中)语句才需要它们,这些语句不是日常的最终用户命令。
答案 1 :(得分:1)
我想这种方法的一个缺点是,如果有人稍后更改它并且您的脚本依赖于某个集合,那么脚本将会中断。
答案 2 :(得分:0)