Поделиться через


Параметры проекта базы данных

 

Параметры проекта базы данных служат для управления разными аспектами базы данных и конфигураций отладки и сборки. Эти параметры можно разделить на следующие категории.

  • Параметры проекта

  • Расширенная проверка Transact-SQL

  • SQLCLR

  • SQLCLR и сборка SQLCLR

  • Сборка

  • Переменные SQLCMD

  • События построения

  • Отладка

  • Пути ссылок

  • Анализ кода

Настройка свойств проекта базы данных

  1. В обозревателе решений щелкните правой кнопкой мыши проект базы данных, для которого необходимо настроить свойства, и выберите пункт Свойства.

    Можно также дважды щелкнуть узел Свойства проекта в обозревателе решений.

  2. Отобразится список свойств проекта базы данных.

  3. Перейдите на вкладку Параметры проекта. На ней можно выбрать конфигурацию общих свойств для свойств проекта базы данных. Обратите внимание на различные вкладки (представляющие разные категории) на левой панели.

Параметры проекта

Параметры в следующей таблице применимы ко всем конфигурациям этого проекта базы данных.

Поле Значение по умолчанию Описание
Целевая платформа Microsoft SQL Server 2012 Определяет версию SQL Server, для которой предназначен этот проект базы данных.
Включает расширенную проверку Transact-SQL для общих объектов. Не включено при создании нового проекта.

Включается при создании проекта из обозревателя объектов SQL Server, подключенного к SQL Azure, при импорте базы данных SQL Azure в проект или при изменении целевой платформы проекта на SQL Azure.
Если включен этот параметр, то выводятся сообщения об ошибках, обнаруженных в проекте, который не прошел проверку компилятора SQL Server. После изменения целевой платформы на SQL Azure расширенная проверка становится включенной. Этот параметр не будет выключаться, если изменить целевую платформу.

Этот параметр можно включить для других версий SQL Server, но проверка будет частично ограничена автономными базами данных Microsoft SQL Server 2012 и SQL Azure. Не все элементы синтаксиса Transact-SQL поддерживаются для всех версий SQL Server.

Дополнительные сведения см. Расширенная проверка Transact-SQL далее в этом разделе.
Типы вывода
Приложение уровня данных (DACPAC-файл) Включено и блокировано. В результате построения проекта базы данных всегда создается пакет DACPAC. Если используется версия SQL Server Data Tools (SSDT), в которой предусмотрен параметр «Создать дополнительный DACPAC-файл низкого уровня (2.0)», выберите его, чтобы обеспечить совместимость пакета со средой SQL Server Management Studio или порталом управления платформой SQL Azure. Можно развернуть пакет DACPAC непосредственно из (SSDT), однако на момент выпуска SQL Server Data Tools можно разворачивать только версию 2.0 DACPAC-файла с помощью среды SQL Server Management Studio.
Создать скрипт (файл с расширением SQL) Указывает, создается ли полный SQL-скрипт с инструкциями CREATE для всех объектов в проекте (скрипт помещается в папку bin\debug во время построения проекта). Можно создать скрипт добавочного обновления с использованием команды Опубликовать проект или программы SQL Compare.
Универсальный шаблон
Схема по умолчанию dbo Указывает схему по умолчанию, в которой создаются как объекты SQLCLR, так и объекты Transact-SQL. Этот параметр можно переопределить, указывая схему непосредственно на объектах».
Включить имя схемы в имя файла нет Указывает, будет ли в именах файлов в качестве префикса значиться имя схемы (например, dbo.Products.table.sql). Если этот флажок снят, то имена файлов объектов будут иметь формат «ИмяОбъекта.ТипОбъекта.sql» (например, Products.table.sql).
Проверить регистр идентификаторов да Указывает, проверяется ли регистр идентификаторов в объектах SQL в проекте во время построения. Этот параметр применяется к проектам базы данных, указывающим сортировку с учетом регистра для базы данных.
Параметры базы данных Параметры по умолчанию на основании стандартных настроек конфигурации для базы данных Среди параметров, которые можно задать, — метод сортировки и настройки уровня базы данных для базы данных SQL Server.

Расширенная проверка Transact-SQL

Важно!


Функция расширенной проверки Transact-SQL будет удалена из следующей версии SQL Server Data Tools и следующей основной версии Visual Studio.

Расширенная проверка Transact-SQL — это средство системы проекта базы данных, которое позволяет разработчикам передавать свои проекты базы данных в службу Transact-SQL Compiler Service во время построения для проверки их кода с помощью синтаксического анализатора и интерпретатора SQL Server Engine.

Служба Transact-SQL Compiler Service

Служба Transact-SQL — это компонент, основанный на Microsoft SQL Server 2012 Database Engine. Эта служба позволяет проверять синтаксис и семантику инструкций DDL с той же достоверностью, что и Microsoft SQL Server 2012 Database Engine. По сути это означает, что служба Compiler Service не поддерживает синтаксические конструкции или средства, которые стали устаревшими в Microsoft SQL Server 2012. Дополнительные сведения об устаревших средствах см. в разделе Неподдерживаемые функциональные возможности Database Engine в SQL Server 2012.

В целях проверки проекта базы данных служба Compiler Service создает частично автономную базу данных и имитирует выполнение инструкций DDL применительно к этой базе данных. Дополнительные сведения см. в разделе Частично автономные базы данных.

На службу Compiler Service распространяются ограничения двух категорий.

Средства, которые зависят от конфигурации базы данных или экземпляра, включая следующие:

  • ссылки на трех- или четырехкомпонентные объекты

  • Таблицы FileTable

  • Отслеживание изменений

  • Функции набора строк — OPENROWSET, OPENQUERY, OPENDATASOURCE

  • Полнотекстовый семантический поиск

Средства, которые в настоящее время не поддерживаются для проверки, включая следующие:

  • Компонент Service Broker

  • Секционированные схемы с определяемыми пользователем группами FileGroups

  • Параметры сортировки метаданных SQL Azure (в службах Compiler Service используются параметры сортировки метаданных частично автономных баз данных SQL Server 2012 — Latin1_General_100_CI_AS_KS_WS_SC)

Включение и отключение расширенной проверки

Расширенная проверка Transact-SQL включена по умолчанию в проекте базы данных, который создан непосредственно из базы данных SQL Azure, или в проекте, для которого в качестве целевой платформы задана SQL Azure. Рекомендуется использовать расширенную проверку при разработке для SQL Azure или при создании базы данных уровня приложения, предназначенной для SQL Server 2012. Дополнительные сведения о базах данных уровня приложения см. в разделе Частично автономные базы данных.

Средства расширенной проверки можно также использовать при разработке базы данных уровня приложения для SQL Server 2008/R2 в целях достижения совместимости с Microsoft SQL Server 2012 и SQL Azure.

Включение или отключение расширенной проверки на уровне проекта
  1. В обозревателе решений щелкните правой кнопкой мыши файл проекта и выберите Свойства.

  2. В окне Параметры проекта, в разделе Целевая платформа, установите или снимите флажок Включить расширенную проверку Transact-SQL для общих объектов.

Включение расширенной проверки на уровне файлов
  1. Дважды щелкните правой кнопкой мыши файл SQL в обозревателе решений.

    System_CAPS_ICON_note.jpg Примечание


    Чтобы отключить средства расширенной проверки Transact-SQL на уровне файлов, задайте свойство Действие сборки файла равным Сборка.

  2. В окне Свойства измените значение свойства Расширенная проверка T-SQL на False.

Свойства файла

Особые замечания, касающиеся параметров сортировки

Дополнительные сведения о параметрах сортировки в частично автономных базах данных см. в разделе Параметры сортировки в автономной базе данных.

SQLCLR

Дополнительные сведения о параметрах сборки см. в диалоговом окне «Свойства отчета».

Дополнительные сведения о подписывании см. в разделе Подписывание сборки в разделе Страница подписывания, конструктор проектов.

SQLCLR и сборка SQLCLR

На страницах свойств SQLCLR и сборки SQLCLR имеется множество параметров, относящихся к использованию объектов SQL CLR в конкретном проекте. В частности, на странице свойств SQLCLR имеется настройка уровня разрешений, которая определяет разрешения для сборки SQLCLR. На ней также имеется параметр «Формировать DDL», указывающий, должен ли формироваться код языка описания данных (DDL) для объектов SQLCLR, добавленных к проекту. Страница свойств сборки SQLCLR содержит все параметры компилятора, которые можно задать для настройки компиляции кода SQLCLR в проекте.

На странице свойств сборки SQLCLR содержатся дополнительные параметры сборки для построения объектов SQL CLR. Различные параметры предоставляются в зависимости от языка (VB или C#), используемого для создания объектов SQL CLR.

  1. Если объект написан на языке C#, то для доступа к параметрам нужно нажать кнопку Дополнительно на странице свойств сборки SQLCLR. Описание параметров C# можно найти по адресу Диалоговое окно «Дополнительные параметры построения» (C#).

  2. Если объект построен с использованием VB, можно сперва выбрать VB в раскрывающемся списке Язык, а затем нажать кнопку Дополнительно. Описания параметров для языка VB можно найти по адресу Диалоговое окно «Дополнительные параметры компилятора» (Visual Basic).

Дополнительные сведения см. в разделе Свойства конфигурации сборки.

Сборка

Можно выбрать конфигурацию сборки для каждого проекта базы данных в решении. По умолчанию существует единственная конфигурация, но можно добавить пользовательские конфигурации. Это можно сделать, например, если требуется пользовательская конфигурация, в которой пользователь всегда удаляет базу данных, а затем создает ее повторно. В решениях, содержащих проекты различных типов, можно подготовить пользовательскую конфигурацию решения, которая содержит особую конфигурацию сборки для каждого проекта.

Указание конфигурации сборки для решения

  1. В обозревателе решений щелкните узел решения, для которого требуется указать конфигурацию сборки.

  2. В меню Сборка выберите Диспетчер конфигураций. Откроется диалоговое окно Диспетчер конфигураций.

    Укажите параметры конфигурации, которые необходимо использовать для каждого проекта в решении.

Указание конфигурации сборки для проекта базы данных

  1. В обозревателе решений щелкните правой кнопкой мыши проект базы данных, для которого требуется задать конфигурацию сборки, и выберите пункт Свойства.

  2. На вкладке Сборка используйте раскрывающийся список Конфигурация, чтобы задать параметры конфигурации, которые вы хотите использовать для данного проекта.

Параметры в следующей таблице применимы ко всем конфигурациям сборки этого проекта базы данных.

Поле Значение по умолчанию Описание
Выходной путь сборки bin\Debug\ Указывает, где будет формироваться вывод построения при создании или развертывании проекта базы данных. Если задать относительный путь, то он должен быть задан относительно пути проекта базы данных. Если путь не существует, он будет создан.
Имя выходного файла сборки DatabaseProjectName Определяет имя, которое необходимо присвоить выводу при построении проекта базы данных
Рассматривать предупреждения Transact-SQL как ошибки Нет Определяет, должны ли предупреждения Transact-SQL вызывать отмену сборки или развертывания. Если этот флажок снят, предупреждения появляются, но процесс сборки и развертывания продолжается. Этот параметр относится к проекту, а не пользователю, и хранится в файле SQLPROJ.
Подавлять предупреждения Transact-SQL Пусто Задает список номеров подавляемых предупреждений, которые перечисляются через запятую или точку с запятой.

Подавляемые предупреждения не выводятся в окне Список ошибок и не отражаются на степени успешности сборки, даже если установлен флажок Рассматривать предупреждения Transact-SQL как ошибки.

Переменные SQLCMD

В проектах базы данных SQL Server можно задействовать переменные SQLCMD, чтобы обеспечить динамическую замену в ходе отладки или публикации. Введите имя переменной и значения. Во время построения будет произведена замена значений. Если локальных значений нет, то будет использоваться значение по умолчанию. В результате ввода этих переменных в свойства проекта они будут автоматически предлагаться при публикации и сохраняться в профилях публикации. Можно извлечь значения проекта из переменных в публикацию по нажатию кнопки «Загрузить значения».

Убедитесь, что переменные введены в свойства проекта правильно, так как эти переменные не проверяются для скрипта в проекте, а переменные, используемые в скрипте, не заполняются автоматически.

Кроме того, публикация из командной строки позволяет переопределить эти значения в командной строке или с помощью профиля.

События построения

С помощью этих параметров можно указать командную строку, которая будет выполняться перед началом операции сборки, а также командную строку для выполнения по завершении операции построения.

Поле Значение по умолчанию Описание
Командная строка события перед построением None Задает командную строку для выполнения перед построением проекта. Чтобы изменить эту командную строку, нажмите Правка до сборки.
Командная строка события после построения None Задает командную строку для выполнения после построением проекта. Чтобы изменить эту командную строку, нажмите кнопку Правка после сборки.
Выполнить событие после сборки При успешной сборке Определяет, должна ли командная строка, выполняемая после построения, выполняться всегда, только при успешном построении или только в случае, когда построение обновило выходные данные проекта (скрипт построения).

Отладка

Эти параметры можно использовать для управления отладкой проекта базы данных.

Поле Значение по умолчанию Описание
Запуск действия None Указывает скрипт или внешнюю программу, запускаемую при отладке проекта.
Целевая строка подключения Data Source=(localdb)\SolutionName;Initial Catalog=DatabaseProjectName;Integrated Security=True;Pooling=False;Connect Timeout=30 Определяет сведения о подключении к серверу баз данных, для которого предназначена выбранная конфигурация построения. Строка подключения по умолчанию для динамически созданного экземпляра SQL Server LocalDB и базы данных.
Развертывать свойства базы данных Да Определяет, будут ли развертываться или обновляться параметры DatabaseProerties.DatabaseProperties при развертывании проекта базы данных.
Всегда воссоздавать базу данных Нет Определяет, следует ли удалить и создать заново базу данных вместо выполнения инкрементального обновления. Можно установить этот флажок, если требуется выполнить модульные тесты базы данных для чистого развертывания базы данных. Если этот флажок снят, существующая база данных будет обновлена, а не удалена и создана заново.
Блокировать добавочное развертывание при возможности потери данных Да Определяет, остановится ли развертывание, если обновление вызовет потерю данных. Если этот флажок установлен, изменения, приводящие к потере данных, вызовут остановку развертывания с ошибкой, предотвращая потерю данных. Например, развертывание будет остановлено, если столбец типа varchar(50) будет изменен на varchar(30). Warning: Развертывание блокируется, только если таблицы, где может произойти потеря информации, содержат данные. Развертывание продолжится, если потери данных нет.
Выполнение операции DROP над объектами в целевой базе данных, но не в проекте Нет Определяет, следует ли в рамках скрипта развертывания удалять объекты целевой базы данных, отсутствующие в ее проекте. Вы можете исключить некоторые файлы проекта, чтобы временно удалить их из скрипта построения. Однако вам может потребоваться оставить существующие версии этих объектов в целевой базе данных. Данный флажок не действует, когда установлен флажок Всегда воссоздавать базу данных, поскольку база данных будет удалена.
Не использовать инструкции ALTER ASSEMBLY для обновления типов CLR Нет Указывает, используются ли инструкции ALTER ASSEMBLY для обновления типов среды CLR или должен ли объект, создающий экземпляр типа CLR, вместо этого удаляться и создаваться заново при развертывании изменений.
Дополнительно... Нет Командная кнопка, с помощью которой можно задать параметры, управляющие событиями и поведением при развертывании.

Пути ссылок

Эту страницу можно использовать для определения переменных базы данных, связанных с межбазовой ссылкой. Кроме того, можно указать значения этих переменных. Дополнительные сведения см. в разделе Использование ссылок в проектах баз данных.

Анализ кода

С помощью анализа кода можно обнаруживать потенциальные проблемы в скриптах, например ошибки проектирования, именования и проблемы с производительностью. Правила для проектов баз данных организованы в заранее заданные наборы правил, которые указывают на конкретные области, и можно включить или отключить любое правило на вкладке Анализ кода на странице свойств Свойства проекта. На этой же вкладке можно указать, чтобы анализ кода выполнялся автоматически каждый раз при построении проекта, а также указать, следует ли обрабатывать предупреждения как ошибки.

Для использования анализа кода вручную щелкните правой кнопкой мыши проект в обозревателе решений и выберите Выполнение анализа кода. Предупреждения, относящиеся к анализу кода, выводятся в окне Список ошибок. Для перехода к фрагменту исходного кода, содержащего ошибку, можно дважды щелкнуть предупреждение, а просмотреть дополнительные сведения и возможные пути решения для предупреждения можно с помощью контекстного меню Показать справочные сведения об ошибке. Дополнительные сведения по анализу кода см. в разделе Анализ кода базы данных для улучшения качества кода.