Блокировка сравнения схемы SSDT SET QUOTED_IDENTIFIER на OFF

У меня установлена ​​Visual Studio 2012 с установленным SSDT версии 11.1.20627.0.

Одна из проблем, которые меня беспокоят, - это все мои хранимые процедуры в проекте SSDT, когда я пытаюсь отправить его на сервер, используя сравнение схемы. SET QUOTED_IDENTIFIER SP всегда был выключен, и я не могу найти способ изменить это поведение.

Целевая база данных - это моя локальная БД, и ее значение по умолчанию QUOTED_IDENTIFIER было изменено на ON (True);

На странице свойств проекта базы данных флажок «SET QUOTED_IDENTIFIER» был установлен, но весь флажок отключен.

Я попытался изменить некоторые параметры сравнения схемы, такие как «Игнорировать параметры таблицы», и результат тот же: он всегда дает мне какой-нибудь скрипт обновления, как показано ниже:

GO
USE [$(DatabaseName)];


GO
PRINT N'Creating [dbo].[myspname]...';


GO
SET ANSI_NULLS ON;

SET QUOTED_IDENTIFIER OFF;


GO

Любые подсказки прилагаются


person Zee    schedule 05.11.2015    source источник


Ответы (2)


Параметр QUOTED_IDENTIFIER может быть установлен на уровне проекта и на уровне процедуры. Щелкните файл хранимой процедуры -> Свойства и проверьте, включен ли там QUOTED_IDENTIFIER.

Также при использовании сравнения схем проверьте, включена или отключена опция «Игнорировать цитируемые идентификаторы».

person scar80    schedule 05.11.2015
comment
Спасибо за ваш комментарий. Не могли бы вы сообщить мне свою версию SSDT? Для моей версии 11.1.20627.0 в свойствах файла процедуры нет свойства QUOTED_IDENTIFIER. Кроме того, в параметрах сравнения схемы нет флажка Ignore QUOTED IDENTIFIERs. - person Zee; 05.11.2015
comment
У меня эта версия: SQL Server Data Tools 12.0.50730.0 - person scar80; 05.11.2015

Наконец-то разберись. это вызвано старой версией SSDT. Установлен SSDT с надписью SSDT_11.0.50730.0, похоже, теперь работает.

Я должен пожаловаться на странное правило управления версиями SSDT: оно выглядит

  • 11.xxxxx для Visual Studio 2012

  • 12.xxxxx для Visual Studio 2013

  • 14. xxxxx для Visual Studio 2015.

а второй номер версии всегда равен 0 на установочном носителе, но если вы установили его и просматривали в окне «О программе» Visual Studio. он изменится на 1.

Это действительно сбивает с толку, потому что заставляет вас поверить, что версия 11.1.20627.0 новее, чем версия 11.0.50730.0. что не так.

person Zee    schedule 05.11.2015