代码之家  ›  专栏  ›  技术社区  ›  dance2die

为什么sql server不推荐设置ansi_padding off?

  •  10
  • dance2die  · 技术社区  · 15 年前

    根据上的msdn bol(联机丛书) SET ANSI_PADDING ,

    在Microsoft SQL Server的未来版本中,ansi_padding将始终处于打开状态,任何将该选项显式设置为关闭的应用程序都将产生错误。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。

    我从来没有使用过这个选项,但是看起来它实际上可以节省很多数据库空间。 char varbinary 字段(如果使用正确)。

    为什么是 设置ANSI填充 变得过时了,除了它不符合ANSI之外?

    有什么好的理由吗?

    2 回复  |  直到 13 年前
        1
  •  10
  •   Philip Kelley    15 年前

    不是回答,只是一个意见:

    我个人认为他们正在移除它,因为这是一个无效的痛苦。如果创建、使用、引用了一个数据库对象,或者启用了其他数据库对象,则关闭另一个数据库对象,并尝试同时使用这两个数据库对象(两个表、过程引用表等),则结果可能不一致或不合理,这将占用您的时间 永远 弄清楚发生了什么。

    (还有其他类似的设置,更糟的是。我希望他们都不赞成。)

        2
  •  5
  •   Pop Catalin    15 年前

    这个特性根本没有被使用,也不符合ANSI标准,所以他们会删除它。可以节省空间,不考虑ANSIUPPOND,SQLServer可以在内部删除填充。