2009-09-12 59 views
10

根據MSDN BOL(聯機叢書)上SET ANSI_PADDING爲什麼SQL Server不建議關閉SET ANSI_PADDING?

在Microsoft SQL Server ANSI_PADDING的未來版本將永遠是和該選項明確設置爲OFF的任何應用程序都將產生錯誤。避免在新開發工作中使用此功能,並計劃修改當前使用此功能的應用程序。

我從來沒有使用這個選項,但是看起來它實際上可以節省大量的數據庫空間的charvarbinary領域如果正確使用。

爲什麼SET ANSI_PADDING會變得過時,除了它不符合ANSI標準?

爲什麼有什麼好的理由?

回答

10

不是一個答案,只是一個觀點:

我個人願意相信他們是因爲它是在零歸零的痛苦中刪除。如果一個數據庫對象被創建,使用,引用或其他任何數據庫對象都打開,那麼第二個數據庫對象關閉,並且您嘗試同時使用兩個數據庫對象(兩個表,過程引用表等),你的結果可能不一致或者可能沒有意義,並且需要你Forever來弄清楚發生了什麼。

(。有這樣的其他SET設置,更糟的是我希望他們貶低他們全部)

+0

嗯,你的意見是有道理的,我作爲一個答案;)感謝菲利普 – Sung 2009-09-17 20:38:16

5

該功能根本沒有使用,它也不符合ANSI標準,因此它們將刪除它。無論ansi_padding如何,可以節省空間,sql server可以在內部刪除填充。