Add-SqlAvailabilityDatabase
Добавляет базы данных-источник в группу доступности или присоединяет базы данных-получателей к группе доступности.
Синтаксис
Add-SqlAvailabilityDatabase
-Database <String[]>
[[-Path] <String[]>]
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Add-SqlAvailabilityDatabase
-Database <String[]>
[-InputObject] <AvailabilityGroup[]>
[-Script]
[-AccessToken <PSObject>]
[-TrustServerCertificate]
[-HostNameInCertificate <String>]
[-Encrypt <String>]
[-ProgressAction <ActionPreference>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Описание
Командлет Add-SqlAvailabilityDatabase добавляет базы данных-источник в группу доступности или присоединяет базы данных-получатели к группе доступности. Параметр InputObject или Path указывает группу доступности. База данных может принадлежать только одной группе доступности.
Чтобы добавить базы данных в группу доступности, выполните этот командлет на экземпляре сервера, на котором размещена первичная реплика. Укажите одну или несколько локальных баз данных пользователей.
Чтобы присоединить базу данных-получатель к группе доступности, вручную подготовьте базу данных-получатель на экземпляре сервера, на котором размещена вторичная реплика. Затем запустите этот командлет на экземпляре сервера, на котором размещена вторичная реплика.
Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.
Примеры
Пример 1. Добавление базы данных в группу доступности
PS C:\> Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -Database "Database16"
Эта команда добавляет базу данных Database16 в группу доступности MainAG. Выполните эту команду на экземпляре сервера-источника группы доступности. Эта команда не подготавливает базы данных-получатели к синхронизации данных.
Пример 2. Присоединение базы данных к группе доступности
PS C:\> Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\SecondaryServer\InstanceName\AvailabilityGroups\MainAG" -Database "Database16"
Эта команда присоединяет базу данных-получатель с именем Database16 к группе доступности MainAG на одном из экземпляров сервера, на котором размещена вторичная реплика.
Пример 3. Добавление базы данных и присоединение базы данных-получателя к группе доступности
PS C:\> $DatabaseBackupFile = "\\share\backups\Database16.bak"
PS C:\> $LogBackupFile = "\\share\backups\Database16.trn"
PS C:\> $AGPrimaryPath = "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MainAG"
PS C:\> $MyAGSecondaryPath = "SQLSERVER:\SQL\SecondaryServer\InstanceName\AvailabilityGroups\MainAG"
PS C:\> Backup-SqlDatabase -Database "Database16" -BackupFile $DatabaseBackupFile -ServerInstance "PrimaryServer\InstanceName"
PS C:\> Backup-SqlDatabase -Database "Database16" -BackupFile $LogBackupFile -ServerInstance "PrimaryServer\InstanceName" -BackupAction Log
PS C:\> Restore-SqlDatabase -Database "Database16" -BackupFile $DatabaseBackupFile -ServerInstance "SecondaryServer\InstanceName" -NoRecovery
PS C:\> Restore-SqlDatabase -Database "Database16" -BackupFile $LogBackupFile -ServerInstance "SecondaryServer\InstanceName" -RestoreAction Log -NoRecovery
PS C:\> Add-SqlAvailabilityDatabase -Path $AGPrimaryPath -Database 'Database16'
PS C:\> Add-SqlAvailabilityDatabase -Path $AGSecondaryPath -Database "Database16"
В этом примере выполняется подготовка базы данных-получателя из базы данных на экземпляре сервера, на котором размещена первичная реплика группы доступности. Она добавляет базу данных в группу доступности в качестве базы данных-источника. Наконец, она присоединяет базу данных-получатель к группе доступности.
Шестая команда создает резервную копию файла журнала для Database16 на основном сервере в расположение в $LogBackupFile.
Пример 4. Создание скрипта для добавления базы данных в группу доступности
PS C:\> Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\PrimaryServer\InstanceName\AvailabilityGroups\MainAG" -Database "Database16" -Script
Эта команда создает скрипт Transact-SQL, который добавляет базу данных Database16 в группу доступности MainAG.
Параметры
-AccessToken
Маркер доступа, используемый для проверки подлинности в SQL Server, в качестве альтернативы пользователю или паролю или проверке подлинности Windows.
Это можно использовать, например, для подключения к SQL Azure DB
и SQL Azure Managed Instance
с помощью Service Principal
или Managed Identity
.
Используемый параметр может быть строкой, представляющей маркер или объект PSAccessToken
, как возвращается при выполнении Get-AzAccessToken -ResourceUrl https://database.windows.net
.
Этот параметр является новым в версии 22 модуля.
Тип: | PSObject |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Confirm
Запрашивает подтверждение перед запуском командлета.
Тип: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Database
Задает массив пользовательских баз данных. Этот командлет добавляет или присоединяет базы данных, указанные этим параметром, в группу доступности. Указанные базы данных должны находиться в локальном экземпляре SQL Server.
Тип: | String[] |
Position: | Named |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Encrypt
Тип шифрования, используемый при подключении к SQL Server.
Это значение сопоставляется со свойством Encrypt
SqlConnectionEncryptOption
в объекте SqlConnection драйвера Microsoft.Data.SqlClient.
В версии 22 модуля по умолчанию используется Optional
(для совместимости с версией 21). В версии 23+ модуля значение по умолчанию будет "Обязательный", которое может создать критическое изменение для существующих скриптов.
Этот параметр является новым в версии 22 модуля.
Тип: | String |
Допустимые значения: | Mandatory, Optional, Strict |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-HostNameInCertificate
Имя узла, используемое при проверке TLS/SSL-сертификата SQL Server. Этот параметр необходимо передать, если экземпляр SQL Server включен для принудительного шифрования и требуется подключиться к экземпляру с помощью имени узла или короткого имени. Если этот параметр опущен, передача полного доменного имени (FQDN) в -ServerInstance необходима для подключения к экземпляру SQL Server, включенного для принудительного шифрования.
Этот параметр является новым в версии 22 модуля.
Тип: | String |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-InputObject
Указывает группу доступности в качестве объекта AvailabilityGroup, в которую этот командлет добавляет или присоединяет базы данных.
Тип: | AvailabilityGroup[] |
Position: | 1 |
Default value: | None |
Обязательно: | True |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Path
Указывает путь группы доступности, в которую этот командлет добавляет или присоединяет базы данных. Если этот параметр не указан, этот командлет использует текущее рабочее расположение.
Тип: | String[] |
Position: | 1 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ProgressAction
Определяет, как PowerShell реагирует на обновления хода выполнения, созданные скриптом, командлетом или поставщиком, например индикаторами хода выполнения, созданными командлетом Write-Progress. Командлет Write-Progress создает индикаторы хода выполнения, показывающие состояние команды.
Тип: | ActionPreference |
Aliases: | proga |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Script
Указывает, что этот командлет возвращает скрипт Transact-SQL, выполняющий задачу, выполняемую этим командлетом.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-TrustServerCertificate
Указывает, будет ли канал зашифрован при обходе цепочки сертификатов для проверки доверия.
В версии 22 модуля по умолчанию используется $true
(для совместимости с версией 21). В версии 23+ модуля значение по умолчанию будет иметь значение "$false", которое может создать критическое изменение для существующих скриптов.
Этот параметр является новым в версии 22 модуля.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-WhatIf
Показывает, что произойдет, если командлет выполняется. Командлет не выполняется.
Тип: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
System.String[], Microsoft.SqlServer.Management.Smo.AvailabilityGroup[]
Выходные данные
System.Object