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

  

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

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

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

有什么好理由吗?

有帮助吗?

解决方案

不是答案,只是意见:

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

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top