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


Удаление базы данных-получателя из группы доступности (SQL Server)

Область применения: SQL Server

В этом разделе описывается удаление базы данных-получателя из группы доступности AlwaysOn с помощью среды SQL Server Management Studio, Transact-SQL или PowerShell в SQL Server.

Требования и ограничения

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

Разрешения

Необходимо разрешение ALTER в базе данных.

Использование среды SQL Server Management Studio

Удаление базы данных-получателя из группы доступности

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

  2. Разверните узел Высокий уровень доступности AlwaysOn и узел Группы доступности .

  3. Выберите группу доступности и разверните узел Базы данных доступности .

  4. Этот шаг зависит от того, удаляется несколько баз данных или только одна база данных.

  5. Щелкните правой кнопкой мыши выбранную базу данных или базы данных и выберите в контекстном меню команду Удалить базу данных-получателя .

  6. В диалоговом окне Удаление базы данных из группы доступности нажмите кнопку ОК, чтобы удалить все выбранные базы данных. Если все перечисленные базы данных удалять не нужно, нажмите кнопку Отмена.

Использование Transact-SQL

Удаление базы данных-получателя из группы доступности

  1. Подключитесь к экземпляру сервера, на котором находится дополнительная реплика.

  2. Используйте предложение SET HADR в инструкции ALTER DATABASE следующим образом:

    ALTER DATABASE имя_базы_данных SET HADR OFF

    где имя_базы_данных ― имя базы данных-получателя, удаляемой из группы доступности, к которой она относится.

    В следующем примере локальная база данных-получатель MyDb2 удаляется из соответствующей группы доступности.

    ALTER DATABASE MyDb2 SET HADR OFF;  
    GO  
    

Использование PowerShell

Удаление базы данных-получателя из группы доступности

  1. Перейдите в каталог (cd) экземпляра сервера, на котором размещается вторичная реплика.

  2. Используйте командлет Remove-SqlAvailabilityDatabase , указав имя базы данных доступности, которую требуется удалить из группы доступности. Когда установлено подключение к экземпляру сервера, на котором находится вторичная реплика, из группы доступности удаляется только локальная база данных-получатель.

    Например, следующая команда удаляет базу данных-получатель MyDb8 из вторичной реплики, размещенной на экземпляре сервера SecondaryComputer\Instance. Синхронизация данных для удаленных баз данных-получателей прекращается. Эта команда не влияет на базу данных-источник и на любые другие базы данных-получатели.

    Remove-SqlAvailabilityDatabase `  
    -Path SQLSERVER:\Sql\SecondaryComputer\InstanceName\AvailabilityGroups\MyAg\AvailabilityDatabases\MyDb8  
    

    Примечание.

    Чтобы просмотреть синтаксис командлета, используйте командлет Get-Help в среде SQL Server PowerShell. Дополнительные сведения см. в разделе Get Help SQL Server PowerShell.

Настройка и использование поставщика SQL Server PowerShell

Дальнейшие действия. После удаления базы данных-получателя из группы доступности

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

Совет

В течение некоторого времени после удаления базы данных-получателя можно перезапустить синхронизацию данных AlwaysOn в базе данных, повторно присоединив ее к группе доступности. Дополнительные сведения см. в статье Присоединение базы данных-получателя к группе доступности (SQL Server).

В этот момент поступить с удаленной базой данных-получателем можно следующим образом.

  • Если эта база данных-получатель больше не нужна, ее можно удалить.

    Дополнительные сведения см. в разделе DROP DATABASE (Transact-SQL) или Удаление базы данных.

  • Если после удаления базы данных-получателя из группы доступности она еще может понадобиться, ее можно восстановить. Однако при восстановлении удаленной базы данных-получателя в режиме «в сети» окажутся две разные базы данных с одним именем. Необходимо обеспечить, чтобы клиенты могли получить доступ только к текущей базе данных-источнику.

    Дополнительные сведения см. в разделе Восстановление базы данных без восстановления данных (Transact-SQL).

См. также

Обзор групп доступности Always On (SQL Server)
Удаление базы данных-источника из группы доступности (SQL Server)