Не уверен, считается ли это ответом или бесполезным отсутствием ответа, но, как предположил Damien_The_Unbeliever , вы абсолютно не хотите, чтобы SSMS прекратил сценарии этих строк .Поскольку они находятся в таблице sql_modules, они составляют неотъемлемую часть определения хранимой процедуры вместе с самим кодом SQL.Таким образом, они не могут быть «отключены» больше, чем ваш код SQL.
Если вы создаете / изменяете хранимую процедуру из соединения, которое имеет значение параметра ANSI_NULLS
, отличное от того, которое использовалось при сохранениипроцедура была создана / определена, затем вы измените поведение этой хранимой процедуры навсегда!
Именно по этой причине SSMS (и любой полуприличный инструмент для создания сценариев объектов SQL) будет всегда выводит эти строки - потому что, если вы удалите их или измените их, вы измените определение хранимой процедуры (удаление их, в частности, плохо, потому что это означает, что поведение хранимой процедуры, в зависимости от того, чтосоединение, из которого оно публикуется, может различаться).
При быстром поиске в Google по запросу «хранимая процедура ANSI_NULLS QUOTED_IDENTIFIER» лучшим результатом является следующая статья, которая, как представляется, очень четко объясняет параметры и их влияние:http://ranjithk.com/2010/01/10/understanding-set-quoted_identifier-onoff/