Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Приложение уровня данных (DAC) можно развернуть в существующем экземпляре ядро СУБД или База данных SQL с помощью мастера или скрипта PowerShell. Процесс развертывания регистрирует экземпляр DAC, сохраняя определение DAC в системной базе данных msdb (master в База данных SQL), создает базу данных, а затем заполняет базу данных всеми объектами базы данных, определенными в DAC.
Перед началом работы:служебная программа SQL Server, параметры базы данных и параметры, ограничения и ограничения, предварительные требования, безопасность, разрешения
Развертывание приложения уровня данных с помощью мастера развертывания приложений уровня данных PowerShell
Перед началом
Один и тот же пакет DAC можно развернуть в одном экземпляре ядро СУБД несколько раз, однако развертывания должны выполняться одновременно. Имя экземпляра DAC, указанное для каждого развертывания, должно быть уникальным в пределах экземпляра ядро СУБД.
Служебная программа SQL Server
Если приложение уровня данных развертывается на управляемом экземпляре ядра СУБД, развернутое приложение уровня данных будет включено в служебную программу SQL Server при следующей отправке набора элементов сбора программы из экземпляра в пункт управления программой. Затем DAC будет присутствовать в узле развернутых приложений уровня данных обозревателя служебной программы Management Studio и сообщается на странице сведений о развернутых приложениях уровня данных.
настройка параметров баз данных
По умолчанию база данных, созданная при развертывании, получит все параметры по умолчанию из инструкции 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 с пакетом обновления 4 (SP4) или более поздней версии. Если вы создаете DAC с помощью более поздней версии, DAC может содержать объекты, не поддерживаемые SQL Server 2005. Эти контроллеры управления невозможно развернуть в экземплярах SQL Server 2005.
Необходимые компоненты
Рекомендуется не выполнять развертывание пакетов DAC, полученных из неизвестных или ненадежных источников. Эти пакеты могут содержать вредоносный код, который может выполнить непредусмотренный код Transact-SQL или вызвать ошибки, изменив схему. Прежде чем использовать пакет из неизвестного или ненадежного источника, распакуйте приложение уровня данных и проверьте такой код, как хранимые процедуры или другой пользовательский код. Дополнительные сведения о том, как выполнить эти проверки, см. в разделе Validate a DAC Package.
Безопасность
Для повышения безопасности имена входа, использующие проверку подлинности SQL Server, хранятся в пакете DAC без пароля. При развертывании или обновлении пакета имя входа создается как отключенное имя входа с созданным паролем. Чтобы включить имена входа, войдите в систему под учетной записью, имеющей разрешение ALTER ANY LOGIN и с помощью команды ALTER LOGIN включите имя входа и присвойте ему новый пароль, который можно передать пользователю. Это не требуется для имен входа, использующих проверку подлинности Windows, поскольку SQL Server не управляет их паролями.
Разрешения
Развертывать приложения уровня данных могут только члены предопределенных ролей сервера sysadmin или serveradmin либо члены предопределенной роли сервера dbcreator с разрешениями ALTER ANY LOGIN. Встроенная учетная запись системного администратора SQL Server с именем sa также может развернуть DAC. Развертывание DAC с именами входа в База данных SQL требует членства в ролях loginmanager или serveradmin. Для развертывания приложения уровня данных без входа в База данных SQL требуется членство в ролях dbmanager или serveradmin.
Использование мастера развертывания приложения уровня данных
Развертывание приложения уровня данных с помощью мастера
В обозревателе объектовраскройте узел экземпляра, в котором нужно развернуть приложение уровня данных.
Щелкните правой кнопкой мыши узел Базы данных и выберите Развернуть приложение уровня данных….
Выполните шаги в диалоговых окнах мастера.
Вводная страница
На этой странице описаны шаги развертывания приложения уровня данных.
Больше не показывать эту страницу. — щелкните этот флажок, чтобы предотвратить отображение этой страницы в будущем.
Далее > — переходит на страницу выбора пакета DAC.
Отмена — завершение работы мастера без развертывания приложения уровня данных.
Выберите страницу пакета DAC
Эта страница используется для указания пакета приложения уровня данных, содержащего приложение уровня данных для развертывания. Страница проходит через три состояния.
Выбор пакета DAC
Чтобы выбрать пакет DAC для развертывания, воспользуйтесь первоначальным состоянием страницы. Пакет DAC должен представлять собой работоспособный файл пакета DAC с расширением DACPAC.
Пакет приложения уровня данных — указание пути и имени файла пакета приложения уровня данных, содержащего приложение уровня данных для развертывания. Чтобы указать расположение пакета DAC, можно нажать кнопку Обзор в правой части окна.
Имя приложения — доступное только для чтения поле, в котором отображается имя, присвоенное пакету приложения уровня данных при создании или извлечении из базы данных.
Версия — доступное только для чтения поле, в котором отображается версия, присвоенная пакету DAC при создании или извлечении из базы данных.
Описание — доступное только для чтения поле, в котором отображается описание, сделанное при создании или извлечении пакета DAC из базы данных.
< Назад — возврат на страницу Введение .
Далее > — отображает индикатор выполнения, как мастер подтверждает, что выбранный файл является допустимым пакетом DAC.
Отмена — мастер прекращает работу без развертывания DAC.
Проверка пакета DAC
Отображается индикатор выполнения, когда мастер подтверждает, что выбранный файл является исправным пакетом DAC. Если пакет приложения уровня данных прошел проверку, то мастер перейдет на итоговую версию страницы Выбор пакета , на которой можно ознакомиться с результатами проверки. Если файл не является исправным пакетом DAC, то мастер остается на странице Выбор пакета DAC. Выберите другой исправный пакет DAC, либо выйдите из мастера и создайте новый пакет DAC.
Проверка содержимого DAC — индикатор выполнения, отражающий текущее состояние процесса выполнения.
< Предыдущая — возвращает начальное состояние страницы выбора пакета .
Далее > — переходит к окончательной версии страницы выбора пакета .
Отмена — мастер прекращает работу без развертывания DAC.
Страница «Просмотр политики»
На этой странице можно просмотреть результаты проверки политики выбора на сервере DAC, если у DAC есть политика. Политика выбора сервера приложения уровня данных является необязательной. Она назначается приложению уровня данных при его создании в среде Visual Studio. Политика использует аспекты политики выбора сервера для указания условий, которые должны соответствовать экземпляру ядро СУБД для размещения DAC.
Результаты оценки условий политики — доступный только для чтения отчет, в котором говорится, удовлетворены ли условия политики развертывания приложения уровня данных. Результаты проверки каждого из условий выводятся отдельной строкой.
Следующие политики выбора сервера всегда оцениваются как false при развертывании DAC в База данных SQL: версия операционной системы, язык, именованные каналы, включенные платформы и tcp.
Игнорировать нарушения политики — установите этот флажок, чтобы приступить к развертыванию, если не удалось соблюсти одно или несколько условий политики. Этот параметр следует выбирать только при уверенности, что ни одно из невыполненных условий не будет препятствовать успешной работе DAC.
< Назад — возвращается на страницу выбора пакета .
Далее > — переходит на страницу настройки обновления.
Отмена — мастер прекращает работу без развертывания DAC.
Страница «Обновление конфигурации»
Эта страница используется для указания имен разворачиваемого экземпляра приложения уровня данных и базы данных, создаваемой при развертывании, а также задания параметров базы данных.
Имя базы данных: — укажите имя базы данных, которая будет создана при развертывании. По умолчанию указывается имя базы данных-источника, из которой было извлечено приложение уровня данных. Имя должно быть уникальным в экземпляре ядро СУБД и соответствовать правилам для идентификаторов ядро СУБД.
При изменении имени базы данных имена файлов данных и журналов также изменятся с учетом этого нового значения.
Имя базы данных также используется в качестве имени экземпляра приложения уровня данных. Имя экземпляра отображается в узле для приложения уровня данных, расположенном в узле Приложения уровня данных в Обозревателе объектовили в узле Развернутые приложения уровня данных в Обозревателе программ.
Следующие параметры не применяются к База данных SQL и не отображаются при развертывании в База данных SQL.
Используйте расположение базы данных по умолчанию. Выберите этот параметр, чтобы создать данные базы данных и файлы журналов в расположении по умолчанию для экземпляра ядро СУБД. Имена файлов будут сформированы с использованием имени базы данных.
Указать файлы базы данных — выберите этот параметр, чтобы указать другое расположение или имя для файлов данных и журнала.
Имя файла данных и путь к нему: — укажите полный путь к файлу данных и его имя. В этом поле содержится путь и имя файла по умолчанию. Измените строку в этом поле, чтобы изменить значение по умолчанию, либо с помощью кнопки «Обзор» перейдите в папку, в которую следует поместить файл данных.
Имя файла журнала и путь к нему: — укажите полный путь и имя файла журнала. В этом поле содержится путь и имя файла по умолчанию. Измените строку в этом поле, чтобы изменить значение по умолчанию, либо с помощью кнопки Обзор перейдите в папку, в которую следует поместить файл журнала.
< Предыдущая — возвращается на страницу выбора пакета DAC.
Далее > — переходит на страницу сводки .
Отмена — мастер прекращает работу без развертывания DAC.
Страница «Сводка»
На этой странице можно ознакомиться с действиями, которые будут выполнены мастером при развертывании приложения уровня данных.
Следующие параметры будут использоваться для развертывания приложения уровня данных. Просмотрите отображенные сведения для проверки правильности произведенных действий. В этом окне отображается выбранный пакет приложения уровня данных, а также имя, указанное для развертываемого экземпляра приложения уровня данных. В этом окне также отображаются параметры, которые будут использоваться при создании базы данных, связанной с этим приложением уровня данных.
< Предыдущая — возвращается на страницу "Конфигурация обновления" , чтобы изменить выбранные параметры.
Далее > — развертывает приложение уровня данных и отображает результаты на странице развертывания DAC .
Отмена — мастер прекращает работу без развертывания DAC.
Страница «Развертывание»
Эта страница сообщает об успешном или неуспешном завершении операции развертывания.
Развертывание приложения уровня данных — сообщает об успехе или неуспехе каждого действия, предпринятого для развертывания приложения уровня данных. Просмотрите эти сведения, чтобы выяснить результаты каждого действия. Для каждого действия, в котором обнаружена ошибка, предусмотрена ссылка в столбце Результат . Выберите эту ссылку, чтобы просмотреть отчет об ошибках, относящихся данному действию.
Сохранить отчет — сохранить отчет о развертывании в HTML-файле. В этом файле содержится отчет о состоянии каждого из действий, в том числе все выданные сообщения об ошибках. По умолчанию используется папка «SQL Server Management Studio\DAC Packages», вложенная в папку Documents рабочего каталога учетной записи пользователя Windows.
Готово — завершает работу мастера.
Использование PowerShell
Развертывание приложения уровня данных с помощью метода Install() в скрипте PowerShell
Создайте объект SMO Server и задайте его экземпляру, в котором хотите развернуть приложение уровня данных.
Откройте объект
ServerConnectionи подключитесь к тому же экземпляру.Используйте
System.IO.Fileдля загрузки файла пакета приложения уровня данных.Используйте
add_DacActionStartedиadd_DacActionFinished, чтобы подписаться на события приложения уровня данных.Задайте
DatabaseDeploymentProperties.Используйте метод
DacStore.Installдля развертывания приложения уровня данных.Закройте файловый поток, используемый для чтения файла пакета приложения уровня данных.
Пример (PowerShell)
В следующем примере развертывается DAC с именем MyApplication в экземпляре ядро СУБД по умолчанию с помощью определения DAC из пакета MyApplication.dacpac.
## Set a SMO Server object to the default instance on the local computer.
CD SQLSERVER:\SQL\localhost\DEFAULT
$srv = Get-Item .
## Open a Common.ServerConnection to the same instance.
$serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.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()
См. также
Приложения уровня данных
Извлечение приложения уровня данных из базы данных
Идентификаторы баз данных