Вы должны записать все процедуры и заново создать их с включенным ANSI_NULLS.
Если бы у меня было много , я мог бы добавить функцию в мое клиентское приложение.
псевдокод:
procedure FixAllStoredProcedureAnsiNullness(connection)
{
Strings spNames = GetStoredProcedureNames(connection);
foreach spName in spNames
{
String sql = GetStoredProcedureSQL(connection, spName);
//turn on option for remainder of connection
connection.ExecuteNoRecords("SET ANSI_NULLS ON");
BeginTransaction(connection);
try
connection.ExecuteNoRecords("DROP PROCEDURE "+spName);
connection.ExecuteNoRecords(sql);
CommitTranasction(connection);
except
RollbackTransaction(connection);
raise;
end;
}
}
У меня был код, как программно получить SQL хранимой процедуры на SQL Server: Как генерировать объектные сценарии без DMO / SMO?
Но обычно я просто использую Enterprise Manager , начиная с верхней части списка хранимых процедур:
- Возвращение
- Ctrl + Главная
- Ctrl + * +1031 * V * ** 1033 тысяча тридцать-дв *
- Нажмите OK
- Авансовый
- Перейти к 1
Где мой буфер обмена содержит:
SET ANSI_NULLS ON
GO
Если вы достаточно неудачливы, чтобы застрять в SSMS, то вы SOL с этим POS, IIRC. TWSS.