Compartir a través de


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 CONNECTpermisos , VIEW SERVER STATEy 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 PrincipalManaged 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[]