2009-09-12 13 views
10

Zgodnie z MSDN Bol (Books Online) na SET ANSI_PADDING,Dlaczego SQL Server przestaje używać SET ANSI_PADDING OFF?

W przyszłej wersji programu Microsoft SQL Server ANSI_PADDING zawsze będzie ON i wszelkie aplikacje, które jawnie ustawić opcję OFF będzie produkować błąd. Unikaj korzystania z tej funkcji w nowych pracach programistycznych i planuj modyfikowanie aplikacji, które obecnie używają tej funkcji.

Nigdy nie stosować tej opcji, ale wygląda na to, że rzeczywiście można zaoszczędzić sporo przestrzeni bazy danych dla char i varbinary pól jeżeli są stosowane prawidłowo.

Dlaczego SET ANSI_PADDING staje się przestarzały, poza tym, że nie jest zgodny z ANSI?

Czy istnieją jakieś dobre powody, dla których?

Odpowiedz

10

nie odpowiedź, tylko opinia:

osobiście chciałby wierzyć oni usunięcie go bo to Nulling bólu w null. Jeśli jeden obiekt bazy danych zostanie utworzony, użyty, odniesiony lub cokolwiek z nim włączony, drugi zostanie zrobiony przy wyłączonym, i spróbujesz pracować z obydwoma w tym samym czasie (dwie tabele, tabela odwołań procedur itp.), Twoje wyniki mogą być niekonsekwentne lub mogą nie mieć sensu i zajmie Ci to Forever, aby dowiedzieć się, co się dzieje.

(.. Są jeszcze inne ustawienia określone jak ten, a co gorsza mam nadzieję, że je wszystkie potępiać)

+0

Dobrze twoja opinia ma sens dla mnie jako odpowiedź;) Dzięki Philip – Sung

5

Ta funkcja nie była w ogóle używana i nie jest zgodna z ANSI, więc zostanie usunięta. Oszczędność miejsca można wykonać niezależnie od ansi_padding, serwer sql może wewnętrznie usunąć wypełnienie.