Compartir a través de


Test-SqlDatabaseReplicaState

Evalúa el estado de una base de datos de disponibilidad.

Sintaxis

ByPath (Es el valor predeterminado).

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

ByObject

Test-SqlDatabaseReplicaState
    [-InputObject] <DatabaseReplicaState[]>
    [-ShowPolicyDetails]
    [-AllowUserPolicies]
    [-NoRefresh]
    [-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).

Propiedades del parámetro

Tipo:PSObject
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-AllowUserPolicies

Indica que este cmdlet ejecuta directivas de usuario que se encuentran en las categorías de directivas AlwaysOn.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False
Alias:cf

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes: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.

Propiedades del parámetro

Tipo:String
Valor predeterminado:None
Valores aceptados:Mandatory, Optional, Strict
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes: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.

Propiedades del parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes: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.

Propiedades del parámetro

Tipo:

DatabaseReplicaState[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

ByObject
Posición:1
Mandatory:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-NoRefresh

Indica que este cmdlet no actualizará manualmente los objetos especificados por los parámetros Path o InputObject .

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes: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.

Propiedades del parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

ByPath
Posición:1
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes: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 .

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes: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.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-WhatIf

Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.

Propiedades del parámetro

Tipo:SwitchParameter
Valor predeterminado:False
Admite caracteres comodín:False
DontShow:False
Alias:Wi

Conjuntos de parámetros

(All)
Posición:Named
Mandatory:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

Microsoft.SqlServer.Management.Smo.DatabaseReplicaState