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


Test-SqlDatabaseReplicaState

Оценивает работоспособность базы данных доступности.

Синтаксис

Test-SqlDatabaseReplicaState
    [-ShowPolicyDetails]
    [-AllowUserPolicies]
    [-NoRefresh]
    [[-Path] <String[]>]
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Test-SqlDatabaseReplicaState
    [-ShowPolicyDetails]
    [-AllowUserPolicies]
    [-NoRefresh]
    [-InputObject] <DatabaseReplicaState[]>
    [-AccessToken <PSObject>]
    [-TrustServerCertificate]
    [-HostNameInCertificate <String>]
    [-Encrypt <String>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Описание

Командлет Test-SqlDatabaseReplicaState оценивает работоспособность базы данных доступности во всех присоединенных репликах доступности путем оценки политик управления на основе политики SQL Server (PBM). Для выполнения этого командлета необходимо иметь CONNECTVIEW SERVER STATEразрешения и VIEW ANY DEFINITION разрешения.

Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.

Примеры

Пример 1. Оценка работоспособности базы данных доступности

PS C:\> $Path = "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates\MainReplica.MainDatabase"
PS C:\> Test-SqlDatabaseReplicaState -Path $Path

Эта команда оценивает работоспособность базы данных доступности с именем MainDatabase реплики MainReplica доступности в группе MainAg доступности и выводит краткую сводку.

Пример 2. Оценка работоспособности всех баз данных доступности в группе доступности

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates" | Test-SqlDatabaseReplicaState

Эта команда оценивает работоспособность всех баз данных доступности в MainAg группе доступности и выводит краткую сводку для каждой базы данных.

Пример 3. Оценка работоспособности всех баз данных доступности в группе доступности с результатами оценки PBM

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates" | Test-SqlDatabaseReplicaState -ShowPolicyDetails

Эта команда оценивает работоспособность всех баз данных доступности в MainAg группе доступности и выводит результаты оценки для каждой политики PBM, которая была выполнена.

Пример 4. Оценка работоспособности всех баз данных доступности в группе доступности и включение пользовательских политик

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates" | Test-SqlDatabaseReplicaState -AllowUserPolicies

Эта команда оценивает работоспособность всех баз данных доступности в MainAg группе доступности. Определяемые пользователем политики включаются в эту оценку.

Пример 5. Отображение всех баз данных доступности в состоянии работоспособности ошибки

PS C:\> Get-ChildItem "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates" | Test-SqlDatabaseReplicaState | Where-Object { $_.HealthState -eq "Error" }

Эта команда показывает все базы данных доступности с состоянием Error работоспособности в MainAg группе доступности.

Параметры

-AccessToken

Маркер доступа, используемый для проверки подлинности в SQL Server, в качестве альтернативы пользователю или паролю или проверке подлинности Windows.

Это можно использовать, например, для подключения SQL Azure DB и SQL Azure Managed Instance использования a Service Principal или a Managed Identity (см. ссылки в нижней части этой страницы).

В распространенных сценариях этот параметр получается примерно так (Get-AzAccessToken -ResourceUrl https://database.windows.net).Token (требуется модуль Az.Accounts)

Тип параметра может быть либо string (маркер чистого текста), либо SecureString (зашифрованный маркер, как возвращается более новой версией командлета Get-AzAccessToken.)

Тип:PSObject
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-AllowUserPolicies

Указывает, что этот командлет выполняет политики пользователей, найденные в категориях политик AlwaysOn.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Confirm

Запрашивает подтверждение перед запуском cmdlet.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки: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

Задает массив объектов состояния базы данных доступности. Этот командлет вычисляет работоспособность этих баз данных доступности.

Тип:DatabaseReplicaState[]
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-NoRefresh

Указывает, что этот командлет не будет вручную обновлять объекты, указанные параметрами Path или InputObject .

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Path

Указывает путь к одному или нескольким состояниям кластера реплики базы данных доступности. Этот параметр является необязательным. Если не указано, используется значение текущего рабочего расположения.

Тип:String[]
Position:1
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ShowPolicyDetails

Указывает, что этот командлет показывает результат каждой выполняемой оценки политики. Командлет выводит один объект на оценку политики и результаты оценки доступны в полях объекта.

Тип: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

Входные данные

Microsoft.SqlServer.Management.Smo.DatabaseReplicaState[]