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


Добавление базы данных в группу доступности (SQL Server)

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

  • Перед началом работы выполните следующие действия.  

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

    Разрешения

  • Добавление базы данных в группу доступности с помощью:  

    SQL Server Management Studio

    Transact-SQL

    PowerShell

Перед началом работы

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

Разрешения

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

Значок стрелки, используемый со ссылкой «В начало»[В начало]

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

Добавление базы данных в группу доступности

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

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

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

    • Для запуска мастера добавления базы данных в группу доступности выберите команду Добавление базы данных. Дополнительные сведения см. в разделе Использование мастера добавления базы данных в группу доступности (среда SQL Server Management Studio).

    • Для добавления одной или нескольких баз данных путем их указания в диалоговом окне Свойства группы доступности выберите команду Свойства. Шаги для добавления базы данных.

      1. На панели Базы данных доступности нажмите кнопку Добавить. Будет создано и выбрано пустое поле базы данных.

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

      Чтобы добавить другую базу данных, повторите предыдущие шаги. После указания баз данных нажмите кнопку ОК для завершения операции.

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

Значок стрелки, используемый со ссылкой «В начало»[В начало]

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

Добавление базы данных в группу доступности

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

  2. Инструкция 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
    
  3. После добавления базы данных в группу доступности необходимо настроить соответствующую базу данных-получатель на каждом из экземпляров сервера, на которых размещена вторичная реплика. Дополнительные сведения см. в разделе Запуск перемещения данных для базы данных-получателя AlwaysOn (SQL Server).

Значок стрелки, используемый со ссылкой «В начало»[В начало]

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

Добавление базы данных в группу доступности

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

  2. Использование командлета Add-SqlAvailabilityDatabase.

    Например, следующая команда добавляет базу данных-получатель MyDd в группу доступности MyAG, первичная реплика которой размещена на сервере PrimaryServer\InstanceName.

    Add-SqlAvailabilityDatabase ` 
    -Path SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MyAG ` 
    -Database "MyDb"
    
    ПримечаниеПримечание

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

  3. После добавления базы данных в группу доступности необходимо настроить соответствующую базу данных-получатель на каждом из экземпляров сервера, на которых размещена вторичная реплика. Дополнительные сведения см. в разделе Запуск перемещения данных для базы данных-получателя AlwaysOn (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"

Значок стрелки, используемый со ссылкой «В начало»[В начало]

См. также

Основные понятия

Обзор групп доступности AlwaysOn (SQL Server)

Создание и настройка групп доступности (SQL Server)

Использование панели мониторинга AlwaysOn (среда SQL Server Management Studio)

Отслеживание групп доступности (Transact-SQL)