Решение Powershell
Сначала всегда включайте функцию групп доступности для экземпляра, который вы можете использовать:
Enable-SqlAlwaysOn -Path SQLSERVER:\SQL\Computer\Instance
Затем необходимо создать группу доступности Always и добавить базу данных SSISDB в эту группу:
Из приведенных выше ссылок выполните следующие действия:
- Измените каталог (cd) на экземпляр сервера, на котором будет размещена первичная реплика.
- Создайте объект реплики доступности в памяти для первичной реплики.
- Создайте объект реплики доступности в памяти для каждой из вторичных реплик.
- Создайте группу доступности.
- Присоединиться к новой вторичной репликев группу доступности
- Для каждой базы данных в группе доступности создайте вторичную базу данных, восстановив последние резервные копии первичной базы данных, используя RESTORE WITH NORECOVERY.
- Присоедините каждую новую вторичную базу данных к доступностиgroup.
- При необходимости используйте команду dir Windows для проверки содержимого новой группы доступности.
Пример, приведенный в ссылке выше
# Backup my database and its log on the primary
Backup-SqlDatabase `
-Database "SSISDB" `
-BackupFile "\\share\backups\SSISDB.bak" `
-ServerInstance "PrimaryComputer\Instance"
Backup-SqlDatabase `
-Database "SSISDB" `
-BackupFile "\\share\backups\SSISDB.log" `
-ServerInstance "PrimaryComputer\Instance" `
-BackupAction Log
# Restore the database and log on the secondary (using NO RECOVERY)
Restore-SqlDatabase `
-Database "SSISDB" `
-BackupFile "\\share\backups\SSISDB.bak" `
-ServerInstance "SecondaryComputer\Instance" `
-NoRecovery
Restore-SqlDatabase `
-Database "SSISDB" `
-BackupFile "\\share\backups\SSISDB.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 12 `
-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 12 `
-AsTemplate
# Create the availability group
New-SqlAvailabilityGroup `
-Name "MyAG" `
-Path "SQLSERVER:\SQL\PrimaryComputer\Instance" `
-AvailabilityReplica @($primaryReplica,$secondaryReplica) `
-Database "SSISDB"
# 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 "SSISDB"