#visual-studio-2010 #sql-server-2005 #view #indexing
#visual-studio-2010 #sql-server-2005 #Вид #индексирование
Вопрос:
Я использую проект базы данных VS 2010 SP1 с базой данных SQL Server 2005. Мне нужно создать представление и уникальный кластеризованный индекс для этого представления. Когда Schema Compare генерирует сценарий (с возможностью использования SET QUOTED_IDENTIFIER установлен флажок), он отключает QUOTED_IDENTIFIER , выдает GO, создает view, выдает GO, включает QUOTED_IDENTIFIER , выдает GO, затем создает индекс. Шаг СОЗДАНИЯ ИНДЕКСА завершается с ошибкой:
Не удается создать индекс. Объект ‘MyView’ был создан со следующими ОТКЛЮЧЕННЫМИ параметрами: ‘QUOTED_IDENTIFIER’.
Я попытался отменить проверку опции сравнения схемы, и хотя сгенерированный скрипт больше не устанавливает QUOTED_IDENTIFIER ни включенным, ни выключенным в любом месте, но шаг СОЗДАНИЯ ИНДЕКСА по-прежнему завершается с той же ошибкой.
Для свойства SET QUOTED_IDENTIFIER в базе данных было установлено значение false, поэтому я изменил базу данных, чтобы УСТАНОВИТЬ QUOTED_IDENTIFIER ВКЛЮЧЕННЫМ С НЕМЕДЛЕННЫМ ОТКАТОМ. Однако последующая попытка запустить сгенерированный скрипт по-прежнему завершается неудачей с той же ошибкой.
Как я могу получить сравнение схемы для создания работающего скрипта?
Ответ №1:
Блин, я собираюсь выкопать здесь старый, но, я полагаю, это потому, что вам нужно установить идентификатор в кавычках на уровне объекта. Кроме того, он должен быть включен, если вы имеете дело с вычисляемыми столбцами или индексированными представлениями.