Удаление базы данных-получателя из группы доступности (SQL Server)
Область применения: SQL Server
В этом разделе описывается удаление базы данных-получателя из группы доступности AlwaysOn с помощью среды SQL Server Management Studio, Transact-SQL или PowerShell в SQL Server.
Требования и ограничения
- Эта задача поддерживается только на вторичных репликах. Необходимо подключиться к экземпляру сервера, размещающему вторичную реплику, из которой удаляется база данных.
Разрешения
Необходимо разрешение ALTER в базе данных.
Использование среды SQL Server Management Studio
Удаление базы данных-получателя из группы доступности
В обозревателе объектов подключитесь к экземпляру сервера, размещающему вторичную реплику, из которой требуется удалить одну или несколько баз данных-получателей, и разверните дерево сервера.
Разверните узел Высокий уровень доступности AlwaysOn и узел Группы доступности .
Выберите группу доступности и разверните узел Базы данных доступности .
Этот шаг зависит от того, удаляется несколько баз данных или только одна база данных.
Чтобы удалить несколько баз данных, используйте панель Подробности обозревателя объектов , чтобы просмотреть и выбрать базы данных, которые требуется удалить. Дополнительные сведения см. в разделе Использование области "Сведения обозревателя объектов" для отслеживания групп доступности (среда SQL Server Management Studio).
Чтобы удалить одну базу данных, выберите ее в обозревателе объектов или на панели Подробности обозревателя объектов .
Щелкните правой кнопкой мыши выбранную базу данных или базы данных и выберите в контекстном меню команду Удалить базу данных-получателя .
В диалоговом окне Удаление базы данных из группы доступности нажмите кнопку ОК, чтобы удалить все выбранные базы данных. Если все перечисленные базы данных удалять не нужно, нажмите кнопку Отмена.
Использование Transact-SQL
Удаление базы данных-получателя из группы доступности
Подключитесь к экземпляру сервера, на котором находится дополнительная реплика.
Используйте предложение SET HADR в инструкции ALTER DATABASE следующим образом:
ALTER DATABASE имя_базы_данных SET HADR OFF
где имя_базы_данных ― имя базы данных-получателя, удаляемой из группы доступности, к которой она относится.
В следующем примере локальная база данных-получатель MyDb2 удаляется из соответствующей группы доступности.
ALTER DATABASE MyDb2 SET HADR OFF; GO
Использование PowerShell
Удаление базы данных-получателя из группы доступности
Перейдите в каталог (cd) экземпляра сервера, на котором размещается вторичная реплика.
Используйте командлет 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)