Сценарий сохраненного процесса, обеспечение / изменение параметров SET, запуск ALTER PROC, чтобы убедиться, что установлено SET QUOTED IDENTIFIER ON.
Почему?
Настройка «УСТАНОВИТЬ ИДЕНТИФИКАТОР ЦИТАТЫ» определяется во время создания для сохраненных процедур и всегда «ВКЛ» для таблиц. Источник, BOL .
Когда таблица создана, котируется
Опция IDENTIFIER всегда сохраняется как
ON в метаданных таблицы, даже если
опция выключена, когда таблица
создано.
Когда создается хранимая процедура,
SET QUOTED_IDENTIFIER и SET
Настройки ANSI_NULLS фиксируются и
используется для последующих вызовов
эта хранимая процедура.
Значение по умолчанию для соединений может быть определено на уровне сервера (sp_configure 'user options') или на уровне базы данных (ALTER DATABASE). Для SSMS он находится в разделе «Инструменты .. Опции. Выполнение запроса. Сервер SQL. ANSI». Это также по умолчанию для клиентских библиотек (кроме DB-LIb).
Теперь, если вы откроете окно запроса SSMS и начнете набирать «CREATE PROC ..», то при запуске кода будут использоваться настройки SSMS.
И SET QUOTED IDENTIFIER нельзя установить во время выполнения внутри сохраненного процесса. Покажите мне ссылку, прежде чем вы не согласны ... Из ссылки MS BOL выше:
При исполнении внутри хранимой
процедура, настройка SET
QUOTED_IDENTIFIER не изменяется.
Вы должны усердно работать, чтобы выполнить любой код с этим OFF ... так что наиболее вероятное исправление - это ALTER или воссоздание сохраненного процесса.