Почему SQL Server не поддерживает SET ANSI_PADDING OFF?

Согласно MSDN BOL (Books Online) на SET ANSI_PADDING,

В будущей версии Microsoft SQL Server ANSI_PADDING всегда будет включен, и любые приложения, которые явно установят опцию на OFF, будут выдавать ошибку. Избегайте использования этой функции в новых разработках и планируйте модифицировать приложения, которые в настоящее время используют эту функцию.

Я никогда не использовал эту опцию, но похоже, что она может сэкономить много места для базы данных char а также varbinary поля, если используются правильно.

Почему SET ANSI_PADDING устареет, кроме того факта, что он не соответствует ANSI?

Есть ли веские причины, почему?

2 ответа

Решение

Не ответ, просто мнение

Я лично хотел бы полагать, что они удаляют это, потому что это ноль боль в нуле. Если один объект базы данных создается, используется, на него ссылаются или что-то еще, если он включен, второй выполняется так, когда он выключен, и вы пытаетесь работать с обоими одновременно (две таблицы, таблица ссылок на процедуры и т. Д.), Ваши результаты могут быть противоречивыми или не иметь смысла, и вам понадобится навсегда, чтобы понять, что происходит.

(Существуют и другие настройки SET, подобные этому, и хуже. Надеюсь, они все их не поддерживают.)

Эта функция вообще не использовалась и не соответствует ANSI, поэтому они ее удалят. Экономия места на может быть выполнена независимо от ansi_padding, сервер SQL может удалить внутреннее дополнение.

Другие вопросы по тегам