Развертывание приложения уровня данных

Применяется к:SQL ServerAzure SQL DatabaseAzure, управляемому экземпляру SQL Azure

Приложение уровня данных можно развернуть из пакета приложения уровня данных в существующем экземпляре ядра СУБД или в базе данных SQL Azure с помощью мастера или скрипта Powershell.

Процесс развертывания регистрирует экземпляр DAC, сохраняя определение DAC в msdb системной базе данных (master в базе данных SQL); создает базу данных, а затем заполняет ее всеми объектами базы данных, определенными в DAC.

Развертывание одного пакета приложения уровня данных несколько раз

Один и тот же пакет уровня данных можно развернуть в одном экземпляре ядра СУБД несколько раз, но одновременно выполнять развертывания. Имя экземпляра DAC, указанное для каждого развертывания, должно быть уникальным в экземпляре ядра СУБД.

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

По умолчанию база данных, созданная при развертывании, получит все параметры по умолчанию из инструкции CREATE DATABASE, кроме следующих.

  • Параметры сортировки и уровень совместимости базы данных устанавливаются в соответствии со значениями, заданными в пакете DAC. Пакет приложения уровня данных (DAC), созданный на основе проекта базы данных в средствах разработчика SQL Server (SQL Server Developer Tools), использует значения, заданные в проекте базы данных. Пакет, извлеченный из существующей базы данных, использует значения этой базы данных.

  • Некоторые параметры баз данных, например имя базы данных и пути к файлам, можно изменять на странице Обновление конфигурации . Невозможно задать пути к файлам при развертывании в базе данных SQL.

Некоторые параметры базы данных, такие как TRUSTWORTHY, DB_CHAINING и HONOR_BROKER_PRIORITY, не могут быть скорректированы в рамках процесса развертывания. Физические свойства, такие как количество файловых групп или числа и размеры файлов, не могут быть изменены в процессе развертывания. После завершения развертывания можно использовать инструкцию ALTER DATABASE, SQL Server Management Studio или SQL Server PowerShell для настройки базы данных.

ограничения

DAC можно развернуть в базе данных SQL или экземпляр ядра СУБД под управлением SQL Server 2005 (9.x) с пакетом обновления 4 (SP4) или более поздней версии. Если вы создаете DAC с помощью более поздней версии, DAC может содержать объекты, не поддерживаемые SQL Server 2005 (9.x). Вы не можете развернуть эти daCs в экземплярах SQL Server 2005 (9.x).

Безопасность и разрешения

Имена входа, использующие проверку подлинности SQL Server, хранятся в пакете приложения уровня данных без пароля. При развертывании или обновлении пакета имя входа создается как отключенное имя входа с созданным паролем. Чтобы включить имена входа, войдите в систему под учетной записью с разрешением ALTER ANY LOGIN и с помощью команды ALTER LOGIN включите имя входа и присвойте ему новый пароль, который можно передать пользователю. Это не обязательно для входа проверки подлинности Windows, так как их пароли не управляются SQL Server.

Развертывать приложения уровня данных могут только члены предопределенных ролей сервера sysadmin или serveradmin либо члены предопределенной роли сервера dbcreator с разрешениями ALTER ANY LOGIN. Встроенная учетная запись системного администратора SQL Server с именем sa также может развернуть DAC.

Для развертывания DAC с именами входа в базу данных SQL требуется членство в ролях loginmanager или serveradmin. Для развертывания DAC без входа в базу данных SQL требуется членство в ролях dbmanager или serveradmin.

Развертывание приложения уровня данных с помощью мастера

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

  2. Щелкните правой кнопкой мыши узел Базы данных и выберите Развернуть приложение уровня данных….

  3. Завершите диалоговые окна мастера и нажмите кнопку "Готово".

Дополнительные сведения о некоторых диалоговых окнах мастера см. ниже.

Выберите страницу пакета DAC

Укажите пакет приложения уровня данных, содержащий приложение уровня данных для развертывания. Страница проходит через три состояния.

Выбор пакета DAC

Выберите пакет приложения уровня данных для развертывания. Пакет DAC должен представлять собой работоспособный файл пакета DAC с расширением DACPAC.

Пакет приложения уровня данных — указание пути и имени файла пакета приложения уровня данных, содержащего приложение уровня данных для развертывания. Чтобы указать расположение пакета DAC, можно нажать кнопку Обзор в правой части окна.

Имя приложения — доступное только для чтения поле, в котором отображается имя, присвоенное пакету приложения уровня данных при создании или извлечении из базы данных.

Версия — доступное только для чтения поле, в котором отображается версия, присвоенная пакету DAC при создании или извлечении из базы данных.

Описание — доступное только для чтения поле, в котором отображается описание, сделанное при создании или извлечении пакета DAC из базы данных.

Проверка пакета DAC

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

Страница «Просмотр политики»

Просмотрите результаты проверки политики выбора приложения уровня данных на сервере, если у приложения уровня данных есть политика. Политика выбора сервера DAC является необязательной и назначается DAC при его создании в Visual Studio. Политика использует аспекты политики выбора сервера для указания условий, которые должен соответствовать экземпляру ядра СУБД для размещения DAC.

Evaluation results of policy conditions (Результаты оценки условий политики). Здесь сообщается о том, удовлетворены ли условия политики развертывания приложения уровня данных. Результаты проверки каждого из условий выводятся отдельной строкой.

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

Игнорировать нарушения политики — установите этот флажок, чтобы приступить к развертыванию, если не удалось соблюсти одно или несколько условий политики. Выберите этот параметр только в том случае, если вы уверены, что все условия, которые не удалось предотвратить успешную операцию DAC.

Страница «Обновление конфигурации»

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

Имя базы данных: — укажите имя базы данных, которая будет создана при развертывании. По умолчанию указывается имя базы данных-источника, из которой было извлечено приложение уровня данных. Имя должно быть уникальным в экземпляре ядра СУБД и соответствовать правилам идентификаторов ядра СУБД.

При изменении имени базы данных имена файлов данных и файлов журнала изменяются в соответствии с новым значением.

Имя базы данных также используется в качестве имени экземпляра приложения уровня данных. Имя экземпляра отображается на узле для приложения уровня данных в узле "Приложения уровня данных" в обозревателе объектов.

Следующие параметры не применяются к базе данных SQL и не отображаются при развертывании в базе данных SQL.

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

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

Имя файла данных и путь к нему: — укажите полный путь к файлу данных и его имя. В этом поле содержится путь и имя файла по умолчанию. Измените строку в этом поле, чтобы изменить значение по умолчанию, либо с помощью кнопки «Обзор» перейдите в папку, в которую следует поместить файл данных.

Имя файла журнала и путь к нему: — укажите полный путь и имя файла журнала. В этом поле содержится путь и имя файла по умолчанию. Измените строку в этом поле, чтобы изменить значение по умолчанию, либо с помощью кнопки Обзор перейдите в папку, в которую следует поместить файл журнала.

Страница «Сводка»

Эта страница используется для просмотра действий, выполняемых мастером при развертывании DAC.

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

Страница «Развертывание»

Эта страница сообщает об успешном или неуспешном завершении операции развертывания.

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

Сохранить отчет — сохранить отчет о развертывании в HTML-файле. В этом файле содержится отчет о состоянии каждого из действий, в том числе все выданные сообщения об ошибках. По умолчанию используется папка «SQL Server Management Studio\DAC Packages», вложенная в папку Documents рабочего каталога учетной записи пользователя Windows.

С помощью PowerShell

  1. Создайте объект SMO Server и задайте его экземпляру, в котором хотите развернуть приложение уровня данных.

  2. Откройте объект ServerConnection и подключитесь к тому же экземпляру.

  3. Используйте System.IO.File для загрузки файла пакета приложения уровня данных.

  4. Используйте add_DacActionStarted и add_DacActionFinished для подписки на обновление событий приложения уровня данных.

  5. Задайте DatabaseDeploymentProperties.

  6. Используйте метод DacStore.Install для развертывания приложения уровня данных.

  7. Закройте файловый поток, используемый для чтения файла пакета приложения уровня данных.

В следующем примере выполняется развертывание DAC с именем MyApplication в экземпляре ядра СУБД по умолчанию с помощью определения DAC из пакета MyApplication.dacpac.

Примеры для PowerShell

В следующем примере выполняется развертывание DAC с именем MyApplication в экземпляре ядра СУБД по умолчанию с помощью определения DAC из пакета MyApplication.dacpac.

## Set a SMO Server object to the default instance on the local computer.
CD SQLSERVER:\SQL\localhost\DEFAULT
$server = Get-Item .
  
## Open a Common.ServerConnection to the same instance.
$serverConnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($server.ConnectionContext.SqlConnectionObject)
$serverConnection.Connect()
$dacStore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverConnection)
  
## Load the DAC package file.
$dacpacPath = "C:\MyDACs\MyApplication.dacpac"
$fileStream = [System.IO.File]::Open($dacpacPath,[System.IO.FileMode]::OpenOrCreate)
$dacType = [Microsoft.SqlServer.Management.Dac.DacType]::Load($fileStream)
  
## Subscribe to the DAC deployment events.
$dacStore.add_DacActionStarted({Write-Host `n`nStarting at $(Get-Date) :: $_.Description})
$dacStore.add_DacActionFinished({Write-Host Completed at $(Get-Date) :: $_.Description})
  
## Deploy the DAC and create the database.
$dacName  = "MyApplication"
$evaluateTSPolicy = $true
$deployProperties = New-Object Microsoft.SqlServer.Management.Dac.DatabaseDeploymentProperties($serverConnection,$dacName)
$dacStore.Install($dacType, $deployProperties, $evaluateTSPolicy)
$fileStream.Close()

Дополнительные сведения