【问题标题】:Default SET statements when creating/manipulating with indexes?使用索引创建/操作时的默认 SET 语句?
【发布时间】:2011-05-02 15:38:25
【问题描述】:

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

我的问题是——有没有办法默认设置这些值,这样我们就不必每次打开连接时都手动设置它们?是系统范围的,还是针对特定用户/登录的?这样做会有什么缺点吗?

【问题讨论】:

    标签: sql sql-server tsql sql-server-2008


    【解决方案1】:

    它们已经由 SSMS 设置。并由客户通常。我不必在很长时间时间内明确设置这些。

    但是,如果需要,您可以使用sp_configure 指定“user options”。

    顺便说一句:我没有也不会设置这个。我建议你不要触摸和更改任何设置,除非你证明你需要这样做......

    最终用户也不需要这些选项。它们仅用于 ALTER INDEX 和 CREATE INDEX(在此上下文中)语句,它们不是日常最终用户命令。

    【讨论】:

      【解决方案2】:

      试试sp_configure

      我想这种方法的一个缺点是,如果有人稍后更改它并且您的脚本依赖于某个集合,那么您的脚本将会中断。

      【讨论】:

        【解决方案3】:

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-12-24
          • 2014-03-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多