Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SET ANSI_NULLS OFF как сделать по-умолчанию?  [new]
Турист
Member

Откуда:
Сообщений: 506
В настройках у меня стоит:
SET ANSI_NULLS OFF
SET QUOTED_IDENTIFIER OFF

в дереве объектов кликаю правой кнопкой по хранимой процедуре -> modify, открывается скрипт, где вверху стоит:
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

хотя в свойствах этой хранимой процедуры эти параметры стоят в OFF.
Как сделать, чтобы при modify процедуры в скрипте вверху значения этих параметров автоматически проставлялись в OFF ?
7 фев 12, 09:13    [12044778]     Ответить | Цитировать Сообщить модератору
 Re: SET ANSI_NULLS OFF как сделать по-умолчанию?  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

> хотя в свойствах этой хранимой процедуры эти параметры стоят в OFF.

то есть, вот запрос возвращает нули?
select uses_ansi_nulls, uses_quoted_identifier
from sys.sql_modules where object_id = object_id('ИмяПроцедуры')


Posted via ActualForum NNTP Server 1.5

7 фев 12, 09:34    [12044861]     Ответить | Цитировать Сообщить модератору
 Re: SET ANSI_NULLS OFF как сделать по-умолчанию?  [new]
Турист
Member

Откуда:
Сообщений: 506
ага. возвращает нули
7 фев 12, 09:54    [12044938]     Ответить | Цитировать Сообщить модератору
 Re: SET ANSI_NULLS OFF как сделать по-умолчанию?  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
Надо приучать себя к работе в режиме ansi_nulls on.

Во-первых, это правильно.
Во-вторых:
BOL
В будущей версии параметр SQL Server ANSI_NULLS всегда будет иметь значение ON, а приложения, явно присваивающие ему значение OFF, будут вызывать ошибку. Избегайте использования этой функции в новых разработках и запланируйте изменение существующих приложений, в которых она применяется.
7 фев 12, 10:11    [12045004]     Ответить | Цитировать Сообщить модератору
 Re: SET ANSI_NULLS OFF как сделать по-умолчанию?  [new]
Турист
Member

Откуда:
Сообщений: 506
автор
Надо приучать себя к работе в режиме ansi_nulls on.

да я бы с радостью. я так всегда и работал. А вот на новом месте все разработчики работают с ansi_nulls off и мне сказали так работать, чтобы у всех было всё одинаково.
7 фев 12, 10:15    [12045020]     Ответить | Цитировать Сообщить модератору
 Re: SET ANSI_NULLS OFF как сделать по-умолчанию?  [new]
daw
Member

Откуда: Муром -> Москва
Сообщений: 7381

а с версией ssms что у вас?
вроде, была такая проблема, но пофиксили давно:

http://connect.microsoft.com/SQLServer/feedback/details/126643/ssms-doesnt-persist-set-ansi-nulls-off-when-you-open-the-stored-procedure-with-modify

Posted via ActualForum NNTP Server 1.5

7 фев 12, 10:18    [12045036]     Ответить | Цитировать Сообщить модератору
 Re: SET ANSI_NULLS OFF как сделать по-умолчанию?  [new]
Турист
Member

Откуда:
Сообщений: 506
9.00.1399.00
да. видимо не хватает сервис-паков
7 фев 12, 10:27    [12045112]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: SET ANSI_NULLS OFF как сделать по-умолчанию?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 56756
invm
Надо приучать себя к работе в режиме ansi_nulls on.

Во-первых, это правильно.
Во-вторых:
BOL
В будущей версии параметр SQL Server ANSI_NULLS всегда будет иметь значение ON, а приложения, явно присваивающие ему значение OFF, будут вызывать ошибку. Избегайте использования этой функции в новых разработках и запланируйте изменение существующих приложений, в которых она применяется.
подскажите, эта будущая версия уже выпущена?
8 апр 20, 21:28    [22113147]     Ответить | Цитировать Сообщить модератору
 Re: SET ANSI_NULLS OFF как сделать по-умолчанию?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31980
andreymx
подскажите, эта будущая версия уже выпущена?
Пока ещё продолжают грозить.
8 апр 20, 22:12    [22113180]     Ответить | Цитировать Сообщить модератору
 Re: SET ANSI_NULLS OFF как сделать по-умолчанию?  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
andreymx,

Если не хотите поиметь проблем в неожиданных местах, при использовании индексированных представлений, индексов по вычисляемым столбцам, xml - не пользуйтесь ansi_nulls = off

Почитайте https://docs.microsoft.com/ru-ru/sql/relational-databases/views/create-indexed-views?view=sql-server-ver15, раздел "Обязательные параметры SET для индексированных представлений"
8 апр 20, 22:33    [22113195]     Ответить | Цитировать Сообщить модератору
 Re: SET ANSI_NULLS OFF как сделать по-умолчанию?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 56756
invm
andreymx,

Если не хотите поиметь проблем в неожиданных местах, при использовании индексированных представлений, индексов по вычисляемым столбцам, xml - не пользуйтесь ansi_nulls = off

Почитайте https://docs.microsoft.com/ru-ru/sql/relational-databases/views/create-indexed-views?view=sql-server-ver15, раздел "Обязательные параметры SET для индексированных представлений"
спасибо, но я спрашивал не совсем об этом
8 апр 20, 22:39    [22113197]     Ответить | Цитировать Сообщить модератору
 Re: SET ANSI_NULLS OFF как сделать по-умолчанию?  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8826
andreymx,

что-то мне подсказывает, что они на это никогда не пойдут.
9 апр 20, 11:38    [22113376]     Ответить | Цитировать Сообщить модератору
 Re: SET ANSI_NULLS OFF как сделать по-умолчанию?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 56756
Владислав Колосов
andreymx,

что-то мне подсказывает, что они на это никогда не пойдут.
я в Оракле сразу привык к стандартному поведению

Хотя иногда и есть желание, чтобы налл равнялся наллу
Но это от лукавого :)
9 апр 20, 11:57    [22113387]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить