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


Как удалить приложение уровня данных

Для удаления пакета приложения уровня данных (DAC) используйте мастер удаления приложения уровня данных или скрипт Windows PowerShell. Можно указать, будет ли связанная база данных сохранена, отсоединена или уничтожена.

Перед началом

При удалении экземпляра приложения уровня данных (DAC) можно выбрать один из трех параметров, которые определяют действие над базой данных, связанной с этим приложением уровня данных. При использовании любого из трех параметров удаляются метаданные определения DAC. Различие между ними состоит в действиях, которые они выполняют с базой данных, связанной с приложением уровня данных. Мастер не удаляет ни один из объектов уровня экземпляра, связанных с DAC или базой данных, таких как имена входа.

Способ

Операции базы данных

Регистрация удаления

Связанная база данных остается неизменной.

Отсоединение базы данных

Выполняется отсоединение связанной базы данных. Экземпляр компонента Database Engine не может ссылаться на эту базу данных, но данные и файлы журналов сохраняются целыми.

Удаление базы данных

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

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

Способ

Повторное создание экземпляра приложения уровня данных

Регистрация удаления

Зарегистрируйте приложение уровня данных из оставшейся базы данных.

Отсоединение базы данных

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

Удаление базы данных

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

ПримечаниеПримечание

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

Разрешения

Приложение уровня данных может быть удалено только членами предопределенных ролей сервера sysadmin и serveradmin или владельцем базы данных. Этот мастер также может быть запущен от учетной записи системного администратора SQL Server с именем sa.

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

Создайте файл скрипта PowerShell (такой как DeleteDAC.ps1), содержащий следующий код.

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

    ## Set a SMO Server object to the default instance on the local computer.
    CD SQLSERVER:\SQL\localhost\DEFAULT
    $srv = get-item .
    
  2. Добавьте код, чтобы открыть объект ServerConnection и подключиться к тому же экземпляру.

    ## 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)
    
  3. Добавьте код, чтобы подписаться на события удаления приложения уровня данных.

    ## Subscribe to the DAC delete events.
    $dacstore.add_DacActionStarted({Write-Host `n`nStarting at $(get-date) :: $_.Description})
    $dacstore.add_DacActionFinished({Write-Host Completed at $(get-date) :: $_.Description})
    
  4. Добавьте код для указания удаляемого приложения уровня данных. В нижеследующем примере указывается имя приложения уровня данных.

    ## Specify the DAC to delete.
    $dacName  = "MyApplication"
    
  5. Добавьте код для запуска метода Uninstall с использованием данных, указанных выше. Используйте один из этих трех наборов кода в зависимости от того, какой из вариантов удаления является подходящим.

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

      ## Only delete the DAC definition from msdb, the associated database remains active.
      $dacstore.Unmanage($dacName)
      
    • Удаление регистрации приложения уровня данных и отсоединение базы данных.

      ## Delete the DAC definition from msdb and detach the associated database.
      $dacstore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DetachDatabase)
      
    • Удаление регистрации приложения уровня данных и уничтожение базы данных.

      ## Delete the DAC definition from msdb and drop the associated database.
      ## $dacstore.Uninstall($dacName, [Microsoft.SqlServer.Management.Dac.DacUninstallMode]::DropDatabase)
      

Запустите ExtractDAC.ps1 из сеанса PowerShell, в котором была выполнена загрузка оснасток SQL Server PowerShell, или с помощью программы командной строки sqlps.

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

Чтобы запустить этот мастер в среде Management Studio, в обозревателе объектов щелкните правой кнопкой мыши узел приложения уровня данных и выберите в контекстном меню пункт Удалить приложение уровня данных….

Перейдите по ссылке в приведенном ниже списке, чтобы перейти к подробным сведениям для этой страницы в мастере.

  • Введение

  • Выбор метода

  • Сводка

  • Удалить приложение уровня данных

Вводная страница

На этой странице описаны шаги удаления приложения уровня данных.

Больше не показывать эту страницу. — щелкните этот флажок, чтобы предотвратить отображение этой страницы в будущем.

Далее > — переход на страницу Выбор метода.

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

Страница «Выбор метода»

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

Регистрация удаления — удаляет метаданные, определяющие приложение уровня данных, но оставляет неизменной связанную базу данных.

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

На эту базу данных больше нельзя будет ссылаться из экземпляра компонента Database Engine, но данные и файлы журнала останутся неизменными.

Удаление базы данных — производится удаление метаданных, определяющих DAC, и уничтожение связанной базы данных.

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

< Назад — возврат к странице Введение.

Далее > — переход на страницу Сводка.

Отмена — завершение работы мастера без удаления DAC или базы данных.

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

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

Просмотр сводки по своему выбору — предоставляет возможность ознакомиться со сведениями о DAC, базе данных и методе удаления, отображенными в этом окне. Если эти сведения правильны, выберите Далее или Готово, чтобы удалить DAC. Если сведения о DAC и базе данных неверны, выберите Отмена и правильно укажите DAC. Если неверным является метод удаления, нажмите кнопку Назад, чтобы вернуться к странице Выбор метода, и укажите другой метод.

< Назад — возврат к странице Выбор метода для выбора другого метода удаления.

Далее > — удаление экземпляра приложения уровня данных методом, выбранным на предыдущей странице, и переход к странице Удаление приложения уровня данных.

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

Страница «Удаление приложения уровня данных»

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

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

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

Готово — завершение работы мастера.

Журнал изменений

Обновленное содержимое

Добавлен раздел, посвященный использованию PowerShell.