Partilhar via


sys.availability_replicas (Transact-SQL)

Aplica-se a:SQL Server

Devolve uma linha para cada uma das réplicas de disponibilidade que pertencem a quaisquer grupos de disponibilidade Always On no Windows Server Failover Cluster (WSFC).

Se a instância do servidor local não conseguir ligar-se ao cluster de failover do WSFC, por exemplo porque o cluster está fora do ar ou se perdeu o quórum, retorna sys.availability_replicas apenas linhas para réplicas de disponibilidade local. Estas linhas contêm apenas as colunas de dados que estão armazenadas em cache localmente nos metadados.

Nome da coluna Tipo de dados Description
replica_id uniqueidentifier ID único da réplica.
group_id uniqueidentifier ID único do grupo de disponibilidade a que a réplica pertence.
replica_metadata_id int ID para o objeto local de metadados para réplicas de disponibilidade no Motor de Base de Dados.
replica_server_name nvarchar(256) Nome do servidor da instância do SQL Server que hospeda esta réplica e, para uma instância não padrão, o nome da sua instância.
owner_sid varbinary(85) Identificador de segurança (SID) registado nesta instância do servidor para o proprietário externo desta réplica de disponibilidade.

NULL para réplicas de disponibilidade não local.
endpoint_url nvarchar(256) Representação em string do endpoint de espelhamento da base de dados especificado pelo utilizador, utilizado pelas ligações entre réplicas primárias e secundárias para sincronização de dados. Para informações sobre a sintaxe dos URLs dos endpoints, veja Especificar URL do endpoint - Adicionar ou Modificar Réplica de Disponibilidade.

NULL = Impossível comunicar com o cluster de failover do WSFC.

Para alterar este endpoint, use a ENDPOINT_URL opção ALTERAR AVAILABILITY GROUP Transact-SQL instrução.
availability_mode tinyint O modo de disponibilidade da réplica é um dos seguintes:

0 = Commit assíncrono. A réplica primária pode comprometer transações sem esperar que a secundária escreva o log no disco.

1 = Commit síncrono. A réplica primária espera para comprometer uma dada transação até que a réplica secundária tenha gravado a transação no disco.

4 = Apenas configuração. A réplica primária envia metadados de configuração do grupo de disponibilidade para a réplica de forma síncrona. Os dados do utilizador não são transmitidos para a réplica.

Para obter mais informações, consulte Diferenças entre modos de disponibilidade para um grupo de disponibilidade Always On.

Aplica-se ao SQL Server 2017 (14.x) 1 e versões posteriores.
availability_mode_desc Nvarchar(60) Descrição de availability_mode, um dos seguintes:

ASYNCHRONOUS_COMMIT
SYNCHRONOUS_COMMIT
CONFIGURATION_ONLY

Para alterar o modo de disponibilidade de uma réplica de disponibilidade, utilize a AVAILABILITY_MODE opção da instrução ALTER AVAILABILITY GROUP Transact-SQL.

Não podes alterar o modo de disponibilidade de uma réplica para CONFIGURATION_ONLY. Não podes mudar uma CONFIGURATION_ONLY réplica para uma réplica secundária ou primária.
failover_mode tinyint O modo de failover da réplica de disponibilidade, um dos seguintes:

0 = Failover automático. A réplica é um potencial alvo para failovers automáticos. O failover automático é suportado apenas se o modo de disponibilidade estiver definido como commit síncrono (availability_mode é 1) e a réplica de disponibilidade estiver atualmente sincronizada.

1 = Failover manual. Quando uma réplica secundária é configurada para failover manual, o administrador da base de dados deve iniciar manualmente o failover. O tipo de failover realizado depende de a réplica secundária estar sincronizada, da seguinte forma:

Se a réplica de disponibilidade não estiver a sincronizar ou ainda estiver a sincronizar, só pode ocorrer failover forçado (com possível perda de dados).

Se o modo de disponibilidade estiver definido para commit síncrono (availability_mode é 1) e a réplica de disponibilidade estiver atualmente sincronizada, pode ocorrer failover manual sem perda de dados.

Para visualizar um conjunto da saúde da sincronização da base de dados de todas as bases de dados de disponibilidade numa réplica de disponibilidade, utilize as synchronization_health colunas e synchronization_health_desc da vista de gestão dinâmica sys.dm_hadr_availability_replica_states . O rollup considera o estado de sincronização de cada base de dados de disponibilidade e o modo de disponibilidade da sua réplica de disponibilidade.

Nota: Para visualizar a saúde de sincronização de uma dada base de dados de disponibilidade, consulte as synchronization_state colunas e synchronization_health da vista de gestão dinâmica sys.dm_hadr_database_replica_states .
failover_mode_desc Nvarchar(60) Descrição de failover_mode, um dos seguintes:

MANUAL
AUTOMATIC

Para alterar o modo de failover, utilize a FAILOVER_MODE opção ALTERAR AVAILABILITY GROUP Transact-SQL instrução.
session_timeout int O período de timeout, em segundos. O período de timeout é o tempo máximo que a réplica espera para receber uma mensagem de outra réplica, antes de considerar que a ligação entre a réplica primária e secundária falhou. O timeout da sessão deteta se os secundários estão ligados à réplica primária.

Ao detetar uma ligação falhada com uma réplica secundária, a réplica primária considera a réplica secundária como NOT_SYNCHRONIZED. Ao detetar uma ligação falhada com a réplica primária, uma réplica secundária tenta simplesmente reconectar-se.

Nota: Os timeouts das sessões não causam failovers automáticos.

Para alterar este valor, use a SESSION_TIMEOUT opção ALTERAR AVAILABILITY GROUP Transact-SQL instrução.
primary_role_allow_connections tinyint Quer a disponibilidade permita todas as ligações ou apenas conexões de leitura-escrita, uma de:

2 = Todos (padrão)
3 = Ler escrita
primary_role_allow_connections_desc Nvarchar(60) Descrição de primary_role_allow_connections, um dos seguintes:

ALL
READ_WRITE
secondary_role_allow_connections tinyint Se uma réplica de disponibilidade que desempenha o papel secundário (ou seja, uma réplica secundária) pode aceitar ligações de clientes, uma de:

0 = Não. Não são permitidas ligações às bases de dados na réplica secundária, e as bases de dados não estão disponíveis para acesso de leitura. Esta é a configuração padrão.

1 = Apenas leitura. Apenas ligações de leitura são permitidas às bases de dados na réplica secundária. Todas as bases de dados da réplica estão disponíveis para acesso de leitura.

2 = Todos. Todas as conexões são permitidas aos bancos de dados na réplica secundária para acesso somente leitura.

Para obter mais informações, consulte Transferir carga de trabalho de leitura apenas para a réplica secundária de um grupo de disponibilidade Always On.
secondary_role_allow_connections_desc Nvarchar(60) Descrição de secondary_role_allow_connections, um dos seguintes:

NO
READ_ONLY
ALL
create_date datetime Data em que a réplica foi criada.

NULL = Réplica não presente nesta instância do servidor.
modify_date datetime Data em que a réplica foi modificada pela última vez.

NULL = Réplica não presente nesta instância do servidor.
backup_priority int Representa a prioridade especificada pelo usuário para executar backups nessa réplica em relação às outras réplicas no mesmo grupo de disponibilidade. O valor é um inteiro no intervalo de 0,100.

Para obter mais informações, consulte Transferir backups suportados para réplicas secundárias de um grupo de disponibilidade.
read_only_routing_url nvarchar(256) Ponto de extremidade de conectividade (URL) da réplica de disponibilidade somente leitura. Para obter mais informações, consulte Configurar roteamento somente leitura para um grupo de disponibilidade Always On.
seeding_mode tinyint Um dos seguintes:

0 = Automático
1 = Manual
seeding_mode_desc Nvarchar(60) Descreve o modo de seeding.

AUTOMATIC
MANUAL
read_write_routing_url nvarchar(256) Endpoint de conectividade (URL) para quando a réplica é a principal. Para obter mais informações, consulte redirecionamento da conexão de leitura/gravação de réplica secundária para primária (grupos de disponibilidade Always On).

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores.

Permissions

Requer VIEW ANY DEFINITION permissão na instância do servidor.