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).
Для выполнения этого командлета необходимо иметь CONNECT
VIEW 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[]