Test-SqlDatabaseReplicaState
Evalúa el estado de una base de datos de disponibilidad.
Sintaxis
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>]
Description
El cmdlet Test-SqlDatabaseReplicaState evalúa el estado de una base de datos de disponibilidad en todas las réplicas de disponibilidad unidas mediante la evaluación de directivas basadas en directivas de SQL Server (PBM).
Debe tener CONNECT
permisos , VIEW SERVER STATE
y VIEW ANY DEFINITION
para ejecutar este cmdlet.
Module requirements: version 21+ on PowerShell 5.1; version 22+ on PowerShell 7.x.
Ejemplos
Ejemplo 1: Evaluación del estado de una base de datos de disponibilidad
PS C:\> $Path = "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates\MainReplica.MainDatabase"
PS C:\> Test-SqlDatabaseReplicaState -Path $Path
Este comando evalúa el estado de la base de datos de disponibilidad denominada MainDatabase
en la réplica MainReplica
de disponibilidad del grupo MainAg
de disponibilidad y genera un breve resumen.
Ejemplo 2: Evaluación del estado de todas las bases de datos de disponibilidad en un grupo de disponibilidad
PS C:\> Get-ChildItem "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates" | Test-SqlDatabaseReplicaState
Este comando evalúa el estado de todas las bases de datos de disponibilidad del MainAg
grupo de disponibilidad y genera un breve resumen de cada base de datos.
Ejemplo 3: Evaluación del estado de todas las bases de datos de disponibilidad en un grupo de disponibilidad que muestra los resultados de evaluación de PBM
PS C:\> Get-ChildItem "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates" | Test-SqlDatabaseReplicaState -ShowPolicyDetails
Este comando evalúa el estado de todas las bases de datos de disponibilidad del MainAg
grupo de disponibilidad y genera los resultados de evaluación para cada directiva de PBM que se ejecutó.
Ejemplo 4: Evaluar el estado de todas las bases de datos de disponibilidad de un grupo de disponibilidad e incluir directivas definidas por el usuario
PS C:\> Get-ChildItem "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates" | Test-SqlDatabaseReplicaState -AllowUserPolicies
Este comando evalúa el estado de todas las bases de datos de disponibilidad del MainAg
grupo de disponibilidad.
Las directivas definidas por el usuario se incluyen en esta evaluación.
Ejemplo 5: Mostrar todas las bases de datos de disponibilidad en un estado de mantenimiento de errores
PS C:\> Get-ChildItem "SQLSERVER:\Sql\Computer\Instance\AvailabilityGroups\MainAg\DatabaseReplicaStates" | Test-SqlDatabaseReplicaState | Where-Object { $_.HealthState -eq "Error" }
Este comando muestra todas las bases de datos de disponibilidad con un estado de mantenimiento de en el Error
grupo de MainAg
disponibilidad.
Parámetros
-AccessToken
El token de acceso que se usa para autenticarse en SQL Server, como alternativa a la autenticación de usuario o contraseña de Windows.
Esto se puede usar, por ejemplo, para conectarse a SQL Azure DB
y SQL Azure Managed Instance
usar o Service Principal
Managed Identity
(vea referencias en la parte inferior de esta página).
En escenarios comunes, este parámetro se obtiene con algo parecido (Get-AzAccessToken -ResourceUrl https://database.windows.net).Token
(requiere el módulo Az.Accounts)
El tipo del parámetro puede ser string
(token de texto no cifrado) o SecureString
(token cifrado, tal como lo devuelve la versión más reciente del cmdlet Get-AzAccessToken).
Tipo: | PSObject |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-AllowUserPolicies
Indica que este cmdlet ejecuta directivas de usuario que se encuentran en las categorías de directivas AlwaysOn.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Confirm
Le pide confirmación antes de ejecutar el cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Encrypt
Tipo de cifrado que se va a usar al conectarse a SQL Server.
Este valor se asigna a la Encrypt
propiedad SqlConnectionEncryptOption
del objeto SqlConnection del controlador Microsoft.Data.SqlClient.
En la versión 22 del módulo, el valor predeterminado es Optional
(por compatibilidad con v21). En la versión 23+ del módulo, el valor predeterminado será "Obligatorio", que puede crear un cambio importante para los scripts existentes.
Este parámetro es nuevo en la versión 22 del módulo.
Tipo: | String |
Valores aceptados: | Mandatory, Optional, Strict |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-HostNameInCertificate
Nombre de host que se va a usar al validar el certificado TLS/SSL de SQL Server. Debe pasar este parámetro si la instancia de SQL Server está habilitada para Forzar cifrado y desea conectarse a una instancia mediante el nombre de host o el nombre corto. Si se omite este parámetro, es necesario pasar el nombre de dominio completo (FQDN) a -ServerInstance es necesario para conectarse a una instancia de SQL Server habilitada para Forzar cifrado.
Este parámetro es nuevo en la versión 22 del módulo.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-InputObject
Especifica una matriz de objetos de estado de base de datos de disponibilidad. Este cmdlet calcula el estado de estas bases de datos de disponibilidad.
Tipo: | DatabaseReplicaState[] |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-NoRefresh
Indica que este cmdlet no actualizará manualmente los objetos especificados por los parámetros Path o InputObject .
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Path
Especifica la ruta de acceso a uno o varios estados de clúster de réplica de base de datos de la base de datos de disponibilidad. Se trata de un parámetro opcional. Si no se especifica, se usa el valor de la ubicación de trabajo actual.
Tipo: | String[] |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ShowPolicyDetails
Indica que este cmdlet muestra el resultado de cada evaluación de directiva realizada. El cmdlet genera un objeto por evaluación de directiva y los resultados de la evaluación están disponibles en los campos del objeto .
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-TrustServerCertificate
Indica si el canal se cifrará mientras se pasa la cadena de certificados para validar la confianza.
En la versión 22 del módulo, el valor predeterminado es $true
(por compatibilidad con v21). En la versión 23+ del módulo, el valor predeterminado será "$false", que puede crear un cambio importante para los scripts existentes.
Este parámetro es nuevo en la versión 22 del módulo.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-WhatIf
Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.
Tipo: | SwitchParameter |
Alias: | wi |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
Microsoft.SqlServer.Management.Smo.DatabaseReplicaState[]