Почему 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 может удалить внутреннее дополнение.