Создание группы доступности (SQL Server PowerShell)
В данном разделе описывается использование командлетов PowerShell для создания и настройки группы доступности AlwaysOn в SQL Server 2012. Группа доступности определяет набор пользовательских баз данных, которые будут действовать при сбое как единое целое, а также набор партнеров по обеспечению отработки отказа, называемых репликами доступности и поддерживающих отработку отказа.
Примечание |
---|
Базовые сведения о группах доступности см. в разделе Обзор групп доступности AlwaysOn (SQL Server). |
Перед началом работы
Предварительные условия, ограничения и рекомендации
Безопасность
Сводка задач и соответствующие командлеты PowerShell
Настройка и использование поставщика SQL Server PowerShell
Создание и настройка группы доступности с использованием: Использование PowerShell для создания и настройки групп доступности
**Примеры. ** Использование PowerShell для создания группы доступности
Связанные задачи
См. также
Примечание |
---|
Вместо командлетов PowerShell вы можете использовать мастер создания группы доступности или Transact-SQL. Дополнительные сведения см. в разделах Используйте диалоговое окно «Создание группы доступности» (SQL Server Management Studio) и Создание группы доступности (Transact-SQL). |
Перед началом работы
Настоятельно рекомендуется прочитать этот раздел, прежде чем пытаться настроить свою первую группу доступности.
Предварительные условия, ограничения и рекомендации
- Перед созданием группы доступности необходимо, чтобы экземпляры SQL Server, на которых находятся реплики доступности, были расположены на различных узлах одной отказоустойчивой кластеризации Windows Server (WSFC). Также необходимо обеспечить соответствие экземпляров сервера всем другим предварительным условиям для экземпляров сервера; кроме того, следует выполнить все требования Группы доступности AlwaysOn и ознакомиться с соответствующими рекомендациями. Для получения дополнительных сведений настоятельно рекомендуется раздел предварительными требованиями, и ограничениями и рекомендациями для групп доступности AlwaysOn (SQL Server).
[Top]
Безопасность
Разрешения
Требуется членство в предопределенной роли сервера sysadmin и одно из следующих разрешений сервера: CREATE AVAILABILITY GROUP, ALTER ANY AVAILABILITY GROUP или CONTROL SERVER.
[Top]
Сводка задач и соответствующие командлеты PowerShell
В следующей таблице перечислены основные задачи, входящие в настройку группы доступности, и указывается, какие из них поддерживаются командлетами PowerShell. Задачи Группы доступности AlwaysOn должны выполняться в той последовательности, в которой они перечислены в таблице.
Задача |
Командлеты PowerShell (если доступны) или инструкции Transact-SQL |
Место выполнения задачи* |
||
---|---|---|---|---|
Создание конечной точки зеркального отображения базы данных (одна точка на экземпляр SQL Server) |
New-SqlHadrEndPoint |
Выполнить на каждом экземпляре сервера, у которого нет конечной точки зеркального отображения базы данных.
|
||
Создание группы доступности |
Во-первых, используйте командлет New-SqlAvailabilityReplica с параметром -AsTemplate для создания объекта реплики доступности в памяти для каждой из двух реплик доступности, которые планируется включить в группу доступности. Затем создайте группу доступности с помощью командлета New-SqlAvailabilityGroup, ссылаясь на объекты реплики доступности. |
Выполнить на экземпляре сервера, где будет размещена исходная первичная реплика. |
||
Присоединить вторичную реплику к группе доступности |
Join-SqlAvailabilityGroup |
Выполнить на каждом экземпляре сервера, размещающем вторичную реплику. |
||
Подготовьте базу данных-получатель |
Backup-SqlDatabase и Restore-SqlDatabase |
Создайте резервные копии на экземпляре сервера, размещающем первичную реплику. Восстановите резервные копии на каждом из тех экземпляров сервера, на которых размещена вторичная реплика, при помощи параметра восстановления NoRecovery. Если пути к файлам различны на компьютерах, на которых размещена основная реплика и целевая вторичная реплика, также следует использовать параметр восстановления RelocateFile. |
||
Запуск синхронизации данных с помощью присоединения каждой базы данных-получателя к группе доступности |
Add-SqlAvailabilityDatabase |
Выполнить на каждом экземпляре сервера, размещающем вторичную реплику. |
* Для выполнения данной задачи измените каталог (cd) на соответствующий экземпляр или экземпляры сервера.
[Top]
Настройка и использование поставщика SQL Server PowerShell
[Top]
Использование PowerShell для создания и настройки групп доступности
Примечание |
---|
Чтобы просмотреть синтаксис и пример определенного командлета, воспользуйтесь командлетом Get-Help в среде SQL Server PowerShell. Дополнительные сведения см. в разделе Получение справок по SQL Server PowerShell. |
Перейдите в каталог (cd) экземпляра сервера, на котором размещается первичная реплика.
Создайте объект реплики доступности в памяти для первичной реплики.
Создайте объект реплики доступности в памяти для каждой вторичной реплики.
Создайте группу доступности.
Примечание Максимальная длина имени группы доступности составляет 128 символов.
Присоедините новую вторичную реплику к группе доступности. Дополнительные сведения см. в разделе Присоединение вторичной реплики к группе доступности (SQL Server).
Для каждой базы данных в группе доступности создайте базу данных-получатель путем восстановления последней резервной копии базы данных-источника с помощью инструкции RESTORE WITH NORECOVERY.
Присоедините каждую новую базу данных-получатель к группе доступности. Дополнительные сведения см. в разделе Присоединение вторичной реплики к группе доступности (SQL Server).
При необходимости с помощью команды Windows dir проверьте содержимое новой группы доступности.
Примечание |
---|
Если учетные записи служб SQL Server на экземплярах серверов работают под разными учетными записями пользователей домена, создайте на каждом экземпляре сервера имя входа для другого экземпляра сервера и предоставьте этому имени входа разрешение на CONNECT к конечной точке зеркального отображения локальной базы данных. |
[Top]
Пример Использование PowerShell для создания группы доступности
В следующем примере использования PowerShell создается и настраивается простая группа доступности с именем MyAG с двумя репликами доступности и с одной базой данных доступности. Пример.
Выполняется резервное копирование базы данных MyDatabase и ее журнала транзакций.
Выполняется восстановление базы данных MyDatabase и ее журнала транзакций с использованием параметра -NoRecovery.
Создается хранимое в памяти представление первичной реплики, которое будет размещено на локальном экземпляре SQL Server (с именем PrimaryComputer\Instance).
Создается хранимое в памяти представление вторичной реплики, которое будет размещено на экземпляре SQL Server (с именем SecondaryComputer\Instance).
Создается группа доступности с именем MyAG.
Вторичная реплика присоединяется к группе доступности.
База данных-получатель присоединяется к группе доступности.
# Backup my database and its log on the primary
Backup-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.bak" `
-ServerInstance "PrimaryComputer\Instance"
Backup-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.log" `
-ServerInstance "PrimaryComputer\Instance" `
-BackupAction Log
# Restore the database and log on the secondary (using NO RECOVERY)
Restore-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.bak" `
-ServerInstance "SecondaryComputer\Instance" `
-NoRecovery
Restore-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.log" `
-ServerInstance "SecondaryComputer\Instance" `
-RestoreAction Log `
-NoRecovery
# Create an in-memory representation of the primary replica.
$primaryReplica = New-SqlAvailabilityReplica `
-Name "PrimaryComputer\Instance" `
-EndpointURL "TCP://PrimaryComputer.domain.com:5022" `
-AvailabilityMode "SynchronousCommit" `
-FailoverMode "Automatic" `
-Version 11 `
-AsTemplate
# Create an in-memory representation of the secondary replica.
$secondaryReplica = New-SqlAvailabilityReplica `
-Name "SecondaryComputer\Instance" `
-EndpointURL "TCP://SecondaryComputer.domain.com:5022" `
-AvailabilityMode "SynchronousCommit" `
-FailoverMode "Automatic" `
-Version 11 `
-AsTemplate
# Create the availability group
New-SqlAvailabilityGroup `
-Name "MyAG" `
-Path "SQLSERVER:\SQL\PrimaryComputer\Instance" `
-AvailabilityReplica @($primaryReplica,$secondaryReplica) `
-Database "MyDatabase"
# Join the secondary replica to the availability group.
Join-SqlAvailabilityGroup -Path "SQLSERVER:\SQL\SecondaryComputer\Instance" -Name "MyAG"
# Join the secondary database to the availability group.
Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\SecondaryComputer\Instance\AvailabilityGroups\MyAG" -Database "MyDatabase"
Связанные задачи
Настройка экземпляра сервера для групп доступности AlwaysOn
Настройка свойств группы доступности и реплики
Смена режима доступности для реплики доступности (SQL Server)
Изменение режима отработки отказа для реплики доступности (SQL Server)
Создание или настройка прослушивателя группы доступности (SQL Server)
Укажите URL-адрес конечной точки при добавлении или изменении реплики доступности (SQL Server)
Настройка резервного копирования в репликах доступности (SQL Server)
Настройка доступа только для чтения в реплике доступности (SQL Server)
Настройка маршрутизации только для чтения в группе доступности (SQL Server)
Изменение периода ожидания сеанса для реплики доступности (SQL Server)
Завершение настройки группы доступности
Присоединение вторичной реплики к группе доступности (SQL Server)
Ручная подготовка базы данных-получателя для присоединения к группе доступности (SQL Server)
Присоединение базы данных-получателя к группе доступности (SQL Server)
Создание или настройка прослушивателя группы доступности (SQL Server)
Другие способы создания группы доступности
Используйте мастер создания новой группы доступности (SQL Server Management Studio)
Используйте диалоговое окно «Создание группы доступности» (SQL Server Management Studio)
Устранение неполадок с конфигурацией групп доступности AlwaysOn
Поиск и устранение неисправностей конфигурации групп доступности AlwaysOn (SQL Server)
Устранение неполадок с операцией добавления файла, давшей сбой (группы доступности AlwaysOn)
[Top]
См. также
**Блоги: **
Обучающая серия AlwaysON — HADRON. Использование пулов рабочих потоков для баз данных с HADRON
**Видеоматериалы: **
**Технические документы: **
Технические документы Майкрософт Microsoft по SQL Server 2012
[Top]
См. также
Основные понятия
Конечная точка зеркального отображения базы данных (SQL Server)