Параметры проекта базы данных
Параметры проекта базы данных служат для управления разными аспектами базы данных и конфигураций отладки и сборки. Эти параметры можно разделить на следующие категории.
Настройка свойств проекта базы данных
В обозревателе решений щелкните правой кнопкой мыши проект базы данных, для которого необходимо настроить свойства, и выберите пункт Свойства.
Кроме того, дважды щелкните узел Свойства проекта в Обозреватель решений.
Отобразится список свойств проекта базы данных.
Перейдите на вкладку Параметры проекта . На ней можно выбрать конфигурацию общих свойств для свойств проекта базы данных. Обратите внимание на различные вкладки (представляющие разные категории) на левой панели.
Параметры проекта
Параметры в следующей таблице применимы ко всем конфигурациям этого проекта базы данных.
Поле | Значение по умолчанию | Описание |
---|---|---|
Целевая платформа | 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), в которой предусмотрен параметр Create additional down-level .dacpac file (v2.0) (Создать дополнительный DACPAC-файл низкого уровня (2.0)), выберите его, чтобы обеспечить совместимость пакета со средой SQL Server Management Studio или порталом управления платформой SQL Azure. Можно развернуть пакет DACPAC непосредственно из (SSDT), однако на момент выпуска SQL Server Data Tools можно развертывать только DACPAC-файл версии 2.0 с помощью среды 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.
Служба Transact-SQL Compiler Service
Служба Transact-SQL — это компонент, основанный на ядре СУБД Microsoft SQL Server 2012. Эта служба позволяет проверять синтаксис и семантику инструкций DDL с той же достоверностью, что и ядро СУБД Microsoft SQL Server 2012. Это автоматически означает, что служба компилятора не поддерживает синтаксические конструкции или функции, которые стали устаревшими в Microsoft SQL Server 2012. Дополнительные сведения об устаревших функциях см. в разделе Неподдерживаемые функциональные возможности ядра СУБД в 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.
Включение или отключение расширенной проверки на уровне проекта
В обозревателе решений щелкните правой кнопкой мыши файл проекта и выберите Свойства.
В окне Параметры проекта, в разделе Целевая платформа установите или снимите флажок Включить расширенную проверку Transact-SQL для общих объектов.
Включение расширенной проверки на уровне файлов
Дважды щелкните правой кнопкой мыши SQL-файл в обозревателе решений.
Примечание
Чтобы отключить средства расширенной проверки Transact-SQL на уровне файлов, задайте для свойства Действие сборки значение Сборка.
В окне Свойства измените значение свойства Расширенная проверка T-SQL на False.
Особые замечания, касающиеся параметров сортировки
Дополнительные сведения о параметрах сортировки в частично автономных базах данных см. в разделе Параметры сортировки в автономной базе данных.
SQLCLR
Дополнительные сведения о параметрах сборки см. в диалоговом окне «Свойства отчета».
Дополнительные сведения о подписывании см. в разделе Подписывание сборки в разделе Страница подписывания, конструктор проектов .
SQLCLR и сборка SQLCLR
На страницах свойств SQLCLR и сборки SQLCLR имеется множество параметров, относящихся к использованию объектов SQL CLR в конкретном проекте. В частности, на странице свойств SQLCLR имеется настройка уровня разрешений, которая определяет разрешения для сборки SQLCLR. На ней также находится параметр "Формировать DDL", указывающий, должен ли формироваться код языка DDL для объектов SQLCLR, добавленных к проекту. Страница свойств сборки SQLCLR содержит все параметры компилятора, которые можно задать для настройки компиляции кода SQLCLR в проекте.
На странице свойств сборки SQLCLR содержатся дополнительные параметры сборки для построения объектов SQL CLR. Различные параметры предоставляются в зависимости от языка (VB или C#), используемого для создания объектов SQL CLR.
Если объект написан на языке C#, то для доступа к параметрам нужно нажать кнопку Дополнительно на странице свойств сборки SQLCLR. Описание параметров C# см. в статье Диалоговое окно "Дополнительные параметры компилятора" (C#).
Если объект построен с использованием VB, можно сперва выбрать VB в раскрывающемся списке Язык , а затем нажать кнопку Дополнительно . Описания параметров для Visual Basic см. в статье Диалоговое окно "Дополнительные параметры компилятора" (Visual Basic).
Сборка
Можно выбрать конфигурацию сборки для каждого проекта базы данных в решении. По умолчанию существует единственная конфигурация, но можно добавить пользовательские конфигурации. Это можно сделать, например, если требуется пользовательская конфигурация, в которой пользователь всегда удаляет базу данных, а затем создает ее повторно. В решениях, содержащих проекты различных типов, можно подготовить пользовательскую конфигурацию решения, которая содержит особую конфигурацию сборки для каждого проекта.
Указание конфигурации сборки для решения
В обозревателе решенийщелкните узел решения, для которого требуется указать конфигурацию сборки.
В меню Сборка выберите Диспетчер конфигураций. Откроется диалоговое окноConfigurationManager (Диспетчер конфигураций).
Укажите параметры конфигурации, которые необходимо использовать для каждого проекта в решении.
Указание конфигурации сборки для проекта базы данных
В обозревателе решений щелкните правой кнопкой мыши проект базы данных, для которого требуется задать конфигурацию сборки, и выберите пункт Свойства.
На вкладке Сборка используйте раскрывающийся список Конфигурация , чтобы задать параметры конфигурации, которые вы хотите использовать для данного проекта.
Параметры в следующей таблице применимы ко всем конфигурациям сборки этого проекта базы данных.
Поле | Значение по умолчанию | Описание |
---|---|---|
Выходной путь сборки | bin\Debug|Указывает, где будут формироваться выходные данные сборки при создании или развертывании проекта базы данных. Если задать относительный путь, то он должен быть задан относительно пути проекта базы данных. Если путь не существует, он будет создан. | |
Имя выходного файла сборки | имя_проекта_базы_данных | Определяет имя, которое необходимо присвоить выводу при построении проекта базы данных |
Обрабатывать предупреждения Transact-SQL как ошибки | Нет | Определяет, должны ли предупреждения Transact-SQL вызывать отмену сборки или развертывания. Если этот флажок снят, предупреждения появляются, но процесс сборки и развертывания продолжается. Этот параметр относится к проекту, а не пользователю, и хранится в файле SQLPROJ. |
Отключить предупреждения Transact-SQL | Пусто | Задает список номеров подавляемых предупреждений, которые перечисляются через запятую или точку с запятой. Отключенные предупреждения не выводятся в окне Список ошибок и не отражаются на степени успешности сборки, даже если установлен флажок Обрабатывать предупреждения Transact-SQL как ошибки. |
Переменные SQLCMD
В проектах базы данных SQL Server можно задействовать переменные SQLCMD, чтобы обеспечить динамическую замену в ходе отладки или публикации. Введите имя переменной и значения. Во время построения будет произведена замена значений. Если локальных значений нет, то будет использоваться значение по умолчанию. В результате ввода этих переменных в свойства проекта они будут автоматически предлагаться при публикации и сохраняться в профилях публикации. Можно извлечь значения проекта из переменных в публикацию по нажатию кнопки «Загрузить значения».
Убедитесь, что переменные введены в свойства проекта правильно, так как эти переменные не проверяются для скрипта в проекте, а переменные, используемые в скрипте, не заполняются автоматически.
Кроме того, публикация из командной строки позволяет переопределить эти значения в командной строке или с помощью профиля.
События сборки
С помощью этих параметров можно указать командную строку, которая будет выполняться перед началом операции сборки, а также командную строку для выполнения по завершении операции построения.
Поле | Значение по умолчанию | Описание |
---|---|---|
Командная строка события перед построением | None | Задает командную строку для выполнения перед построением проекта. Чтобы изменить эту командную строку, щелкните Edit Pre-build (Правка до сборки). |
Командная строка события после построения | None | Задает командную строку для выполнения после построением проекта. Чтобы изменить эту командную строку, нажмите кнопку Edit Post-build (Правка после сборки). |
Выполнить событие после сборки | При успешной сборке | Определяет, должна ли командная строка, выполняемая после построения, выполняться всегда, только при успешном построении или только в случае, когда построение обновило выходные данные проекта (скрипт построения). |
Отладка
Эти параметры можно использовать для управления отладкой проекта базы данных.
Поле | Значение по умолчанию | Описание |
---|---|---|
Запуск действия | None | Указывает скрипт или внешнюю программу, запускаемую при отладке проекта. |
Целевая строка подключения | Data Source=(localdb)\SolutionName;Initial Catalog=DatabaseProjectName;Integrated Security=True;Pooling=False;Connect Timeout=30 | Определяет сведения о подключении к серверу баз данных, для которого предназначена выбранная конфигурация построения. Строка подключения по умолчанию для динамически созданного экземпляра SQL Server LocalDB и базы данных. |
Развертывать свойства базы данных | Да | Определяет, будут ли развертываться или обновляться параметры DatabaseProperties.DatabaseProperties при развертывании проекта базы данных. |
Всегда воссоздавать базу данных | Нет | Определяет, следует ли удалить и создать заново базу данных вместо выполнения инкрементального обновления. Можно установить этот флажок, если требуется выполнить модульные тесты базы данных для чистого развертывания базы данных. Если этот флажок снят, существующая база данных будет обновлена, а не удалена и создана заново. |
Блокировать добавочное развертывание при возможности потери данных | Да | Определяет, остановится ли развертывание, если обновление вызовет потерю данных. Если этот флажок установлен, изменения, приводящие к потере данных, вызовут остановку развертывания с ошибкой, предотвращая потерю данных. Например, развертывание будет остановлено, если столбец типа varchar(50) будет изменен на varchar(30) .ПРИМЕЧАНИЕ. Развертывание блокируется, только если таблицы, где может произойти потеря информации, содержат данные. Развертывание продолжится, если потери данных нет. |
Выполнение операции DROP над объектами в целевой базе данных, но не в проекте | Нет | Определяет, следует ли в рамках скрипта развертывания удалять объекты целевой базы данных, отсутствующие в ее проекте. Вы можете исключить некоторые файлы проекта, чтобы временно удалить их из скрипта построения. Однако вам может потребоваться оставить существующие версии этих объектов в целевой базе данных. Этот флажок не действует, когда установлен флажок Всегда воссоздавать базу данных, так как база данных будет удалена. |
Не использовать инструкции ALTER ASSEMBLY для обновления типов CLR | Нет | Указывает, используются ли инструкции ALTER ASSEMBLY для обновления типов среды CLR или должен ли объект, создающий экземпляр типа CLR, вместо этого удаляться и создаваться заново при развертывании изменений. |
Дополнительно... | Нет | Командная кнопка, с помощью которой можно задать параметры, управляющие событиями и поведением при развертывании. |
Пути ссылок
Эту страницу можно использовать для определения переменных базы данных, связанных с межбазовой ссылкой. Кроме того, можно указать значения этих переменных. Дополнительные сведения см. в разделе Использование ссылок в проектах баз данных.
Анализ кода
С помощью анализа кода можно обнаруживать потенциальные проблемы в скриптах, например ошибки проектирования, именования и проблемы с производительностью. Правила для проектов баз данных организованы в заранее заданные наборы правил, которые указывают на конкретные области, и можно включить или отключить любое правило на вкладке Анализ кода на странице свойств Свойства проекта . На этой же вкладке можно указать, чтобы анализ кода выполнялся автоматически каждый раз при построении проекта, а также указать, следует ли обрабатывать предупреждения как ошибки.
Чтобы проанализировать код вручную, щелкните правой кнопкой мыши проект в обозревателе решений и выберите Выполнить анализ кода. Предупреждения, относящиеся к анализу кода, выводятся в окне Список ошибок . Чтобы перейти к фрагменту исходного кода, содержащему ошибку, вы можете дважды щелкнуть предупреждение. Просмотреть дополнительные сведения и возможные пути решения для предупреждения можно с помощью контекстного меню Показать справочные сведения об ошибке. Дополнительные сведения по анализу кода см. в статье Analyzing Database Code to Improve Code Quality (Анализ кода базы данных для улучшения качества кода).