Вопрос

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

  

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

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

Почему SET ANSI_PADDING становится устаревшим, за исключением того факта, что он не совместим с ANSI?

Есть ли веские причины для этого?

Это было полезно?

Решение

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

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top