为什么SQL Server不赞成SET ANSI_PADDING OFF?
技术问答
167 人阅读
|
0 人回复
|
2023-09-13
|
根据MSDN BOL(在线图书)的说法SET ANSI_PADDING,$ n/ h0 }! Z9 q |
! y, F0 l+ C7 h; U" h; c在Microsoft SQL2 f! w3 Q2 x; G$ `1 r
Server的将来版本中,ANSI_PADDING将始终为ON,并且任何将选项显式设置为OFF的应用程序都将产生错误。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。
1 Z1 e1 m+ ], x
; @, `' R5 X$ E) E: ~我从未使用过此选项,但如果使用得当,它看起来实际上可以为char和varbinary字段节省很多数据库空间。& Q5 c/ p1 S8 Z" v$ r0 \2 f6 w0 ]
SET ANSI_PADDING除了不符合ANSI的事实之外,为什么会过时?
2 _; n! }. }; `4 Z有什么好的理由吗?; x8 ^" D7 ^! w$ L- A( E3 L/ p
: ?7 \3 u/ k% I
解决方案:4 V) J) j+ a: a. B8 }- V4 M) g
6 K9 C9 M0 {% ]' I: M
4 l$ _( t5 ?! N! m1 U4 e: t% O k) U+ l) l) ~+ H, \8 q8 x
没有答案,只是一个意见:6 O. z' e4 n7 A
我个人想相信他们正在删除它,因为这是null中的消除痛苦。如果创建,使用,引用了一个数据库对象,或者将其打开,则用第二个对象将其关闭,而您尝试同时使用两个数据库对象(两个表,过程引用表等),您的结果可能不一致或没有意义,这将使您2 h( y3 H. ~* j6 T* |# p: ?' l
永远 想知道发生了什么。% V, V% h7 ?6 y9 c! F
(还有其他类似的SET设置,更糟糕的是。我希望它们全部弃用。) |
|
|
|
|
|