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

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

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

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

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

Разрешения

Необходимо разрешение ALTER AVAILABILITY GROUP для группы доступности, разрешение CONTROL AVAILABILITY GROUP, разрешение ALTER ANY AVAILABILITY GROUP или разрешение CONTROL SERVER.

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

Удаление базы данных доступности

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

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

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

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

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

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

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

Удаление базы данных доступности

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

  2. Инструкция ALTER AVAILABILITY GROUP используется следующим образом:

    ALTER AVAILABILITY GROUP имя_группы REMOVE DATABASE имя_базы_данных_доступности

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

    В следующем примере удаляется база данных с именем Db6 из группы доступности MyAG .

    ALTER AVAILABILITY GROUP MyAG REMOVE DATABASE Db6;  
    

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

Удаление базы данных доступности

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

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

    Например, следующая команда удаляет базу данных доступности MyDb9 из группы доступности с именем MyAg. Поскольку команда выполняется в экземпляре сервера, на котором размещается первичная реплика, из группы доступности удаляется как база данных-источник, так и все соответствующие базы данных-получатели. Синхронизация данных для этой базы данных во всех вторичных репликах больше происходить не будет.

    Remove-SqlAvailabilityDatabase `   
    -Path SQLSERVER:\Sql\PrimaryComputer\InstanceName\AvailabilityGroups\MyAg\AvailabilityDatabases\MyDb9
    

    Примечание.

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

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

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

При удалении базы данных доступности из соответствующей группы доступности выполнение синхронизации данных между бывшей базой данных-источником и соответствующими базами данных-получателями прекращается. Бывшая база данных-источник остается в режиме «в сети». Все соответствующие базы данных-получатели переводятся в состояние RESTORING.

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

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

    Дополнительные сведения см. в разделе Удаление базы данных.

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

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

См. также

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