为什么SQL Server不推荐使用SET ANSI_PADDING?

时间:2009-09-12 17:51:24

标签: sql sql-server dep

根据SET ANSI_PADDING上的MSDN BOL(联机丛书),

  

在Microsoft SQL Server的未来版本中,ANSI_PADDING将始终为ON,并且将选项明确设置为OFF的任何应用程序都将产生错误。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。

我从未使用过此选项,但如果使用正确,它实际上可以为charvarbinary字段保存大量数据库空间。

为什么SET ANSI_PADDING变得过时,除了它不符合ANSI标准这一事实?

有什么好理由吗?

2 个答案:

答案 0 :(得分:10)

不是答案,只是意见:

我个人想要相信他们正在删除它,因为它在null中是一个归零的痛苦。如果一个数据库对象被创建,使用,引用或其他任何一个数据库对象打开,第二个数据库对象是关闭的,你尝试同时使用它们(两个表,过程引用表等),您的结果可能不一致或可能没有意义,您需要永远来弄清楚发生了什么。

(还有其他类似的SET设置,更糟糕的是。我希望他们全部弃用它们。)

答案 1 :(得分:5)

该功能根本没有使用,也不符合ANSI标准,所以他们会删除它。无论ansi_padding如何,都可以节省空间,sql server可以在内部删除填充。