Добавление базы данных в группу доступности Always On
Область применения: SQL Server
В этом разделе описывается добавление базы данных в группу доступности AlwaysOn с помощью SQL Server Management Studio, Transact-SQL или PowerShell в среде SQL Server.
Требования и ограничения
Необходимо подключиться к экземпляру сервера, на котором размещена первичная реплика.
База данных должна находиться на экземпляре сервера, на котором размещена первичная реплика, и должна соответствовать предварительным условиям и требованиям к базам данных доступности. Дополнительные сведения см. в статье Предварительные требования, ограничения и рекомендации для групп доступности Always On (SQL Server).
Разрешения
Необходимо разрешение ALTER AVAILABILITY GROUP для группы доступности, разрешение CONTROL AVAILABILITY GROUP, разрешение ALTER ANY AVAILABILITY GROUP или разрешение CONTROL SERVER.
Использование SQL Server Management Studio
В обозревателе объектов подключитесь к экземпляру сервера, на котором размещена первичная реплика, и разверните дерево сервера.
Разверните узел Высокий уровень доступности AlwaysOn и узел Группы доступности .
Щелкните правой кнопкой группу доступности и выберите одну из следующих команд.
Для запуска мастера добавления базы данных в группу доступности выберите команду Добавление базы данных . Дополнительные сведения см. в статье Добавление базы данных в группу доступности Always On с помощью мастера создания групп доступности.
Для добавления одной или нескольких баз данных путем их указания в диалоговом окне Свойства группы доступности выберите команду Свойства . Шаги для добавления базы данных.
На панели Базы данных доступности нажмите кнопку Добавить . Будет создано и выбрано пустое поле базы данных.
Введите имя базы данных, удовлетворяющее требованиям баз данных доступности.
Чтобы добавить другую базу данных, повторите предыдущие шаги. После указания баз данных нажмите кнопку ОК для завершения операции.
После добавления базы данных в группу доступности с помощью диалогового окна Свойства группы доступности необходимо настроить соответствующую базу данных-получатель на каждом из экземпляров сервера, на которых размещена вторичная реплика. Дополнительные сведения см. в статье Запуск перемещения данных для базы данных-получателя Always On (SQL Server).
Использование Transact-SQL
Подключитесь к экземпляру сервера, на котором размещен экземпляр сервера с первичной репликой доступности.
Инструкция ALTER AVAILABILITY GROUP используется следующим образом:
ALTER AVAILABILITY GROUP group_name ADD DATABASE database_name [,...n]
где group_name — это имя группы доступности, а database_name — это имя базы данных, добавляемой в группу.
В следующем примере добавляется база данных MyDb3 в группу доступности MyAG .
-- Connect to the server instance that hosts the primary replica. -- Add an existing database to the availability group. ALTER AVAILABILITY GROUP MyAG ADD DATABASE MyDb3; GO
После добавления базы данных в группу доступности необходимо настроить соответствующую базу данных-получатель на каждом из экземпляров сервера, на которых размещена вторичная реплика. Дополнительные сведения см. в статье Запуск перемещения данных для базы данных-получателя Always On (SQL Server).
С помощью PowerShell
Перейдите в каталог (cd) экземпляра сервера, в котором находится первичная реплика.
Использование командлета Add-SqlAvailabilityDatabase .
Например, следующая команда добавляет базу данных-получатель
MyDd
к группе доступностиMyAG
, первичная реплика которой размещена в расположенииPrimaryServer\InstanceName
.Add-SqlAvailabilityDatabase ` -Path SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MyAG ` -Database "MyDb"
Примечание.
Чтобы просмотреть синтаксис командлета, используйте командлет Get-Help в среде SQL Server PowerShell. Дополнительные сведения см. в разделе Get Help SQL Server PowerShell.
После добавления базы данных в группу доступности необходимо настроить соответствующую базу данных-получатель на каждом из экземпляров сервера, на которых размещена вторичная реплика. Дополнительные сведения см. в статье Запуск перемещения данных для базы данных-получателя Always On (SQL Server).
Настройка и использование поставщика SQL Server PowerShell
Полный пример см. в разделе Пример (PowerShell)ниже.
Пример (PowerShell)
В следующем примере показан полный процесс подготовки базы данных-получателя из базы данных на экземпляре сервера, на котором размещается первичная реплика группы доступности, добавления базы данных в группу доступности (в качестве базы данных-источника) и присоединения базы данных-получателя к группе доступности. Во-первых, в примере выполняется резервное копирование базы данных и ее журнала транзакций. Затем выполняется восстановление из резервной копии базы данных и журнала в экземпляры сервера, в которых размещается вторичная реплика.
В этом примере Add-SqlAvailabilityDatabase вызывается дважды: сначала в первичной реплике для добавления базы данных в группу доступности, а затем во вторичной реплике для присоединения базы данных-получателя из этой реплики к группе доступности. При наличии нескольких вторичных реплик нужно выполнить восстановление и присоединение базы данных-получателя в каждой из них.
$DatabaseBackupFile = "\\share\backups\MyDatabase.bak"
$LogBackupFile = "\\share\backups\MyDatabase.trn"
$MyAgPrimaryPath = "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MyAg"
$MyAgSecondaryPath = "SQLSERVER:\SQL\SecondaryServer\InstanceName\AvailabilityGroups\MyAg"
Backup-SqlDatabase -Database "MyDatabase" -BackupFile $DatabaseBackupFile -ServerInstance "PrimaryServer\InstanceName"
Backup-SqlDatabase -Database "MyDatabase" -BackupFile $LogBackupFile -ServerInstance "PrimaryServer\InstanceName" -BackupAction 'Log'
Restore-SqlDatabase -Database "MyDatabase" -BackupFile $DatabaseBackupFile -ServerInstance "SecondaryServer\InstanceName" -NoRecovery
Restore-SqlDatabase -Database "MyDatabase" -BackupFile $LogBackupFile -ServerInstance "SecondaryServer\InstanceName" -RestoreAction 'Log' -NoRecovery
Add-SqlAvailabilityDatabase -Path $MyAgPrimaryPath -Database "MyDatabase"
Add-SqlAvailabilityDatabase -Path $MyAgSecondaryPath -Database "MyDatabase"
См. также
Обзор групп доступности Always On (SQL Server)
Создание и настройка групп доступности (SQL Server)
Использование панели мониторинга AlwaysOn (среда SQL Server Management Studio)
Отслеживание групп доступности (Transact-SQL)