AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-199

Greg Bray's questions

Martin Hope
Greg Bray
Asked: 2017-08-11 10:52:19 +0800 CST

Semeadura direta do grupo de disponibilidade distribuído FAILED, failure_state SQL Error, failure_state 2

  • 5

Acabamos de começar a configurar grupos de Disponibilidade Distribuída para replicar nossos bancos de dados de produção em um novo cluster de relatórios. O primeiro grupo de disponibilidade que configuramos para replicação funcionou muito bem sem problemas, no entanto, quando passamos para o segundo grupo de disponibilidade com bancos de dados muito maiores (mais de 3 TB no total), demorou muito mais e dois dos 5 bancos de dados falharam. Configuramos o grupo de disponibilidade distribuído para usar a propagação direta e ao consultar a tabela sys.dm_hadr_automatic_seeding ela indica o current_state como FAILED, com failure_state 2 (Erro SQL) ou 21 (Tempo limite da mensagem de verificação de propagação):

dm_hadr_automatic_seeding

O que podemos fazer para solucionar esse problema?

availability-groups sql-server-2016
  • 2 respostas
  • 2814 Views
Martin Hope
Greg Bray
Asked: 2017-03-16 12:01:04 +0800 CST

Grupos de disponibilidade usando clustering de várias sub-redes: proprietários preferenciais para funções e possíveis proprietários para IPs de ouvinte de AG

  • 7

Usamos um Grupo de Disponibilidade (AG) do SQL Server 2016 em um cluster de failover de várias sub-redes do Windows Server 2012 para HA/DR. Há dois nós em nosso datacenter de Nova York (sub-rede 10.7.xx) e um nó em nosso datacenter de Colorado (sub-rede 10.8.xx). O servidor Colorado é principalmente para recuperação de desastres ou manutenção estendida onde NY está offline, portanto, atualmente definimos o Quorum NodeWeight/Votes para o nó CO-SQL01 como zero para evitar que ele se aproprie automaticamente do cluster ou AG se houver algum problema .

Minha pergunta é esta: devemos alterar as configurações padrão no Gerenciador de cluster de failover, especificamente os proprietários preferenciais da função AG e os possíveis proprietários dos recursos IP do ouvinte AG? Os padrões usados ​​parecem entrar em conflito com nossos objetivos de alta disponibilidade usando os dois nós em NY e usando apenas o nó CO para recuperação de desastres.

Aqui estão as configurações padrão para os proprietários preferenciais do nosso Multi-Subnet AG: Configurações padrão para proprietários preferenciais no Multi-Subnet FoC AG

Devemos adicionar uma verificação ao lado de NY-SQL02 e movê-la acima de CO-SQL01 para que seja preferida? E quanto a outras funções, podemos definir os proprietários preferenciais dos recursos do cluster principal (como o nome do cluster)?

E aqui estão as configurações padrão para os recursos IP do SQL-StackOverflow_AG: Configurações padrão para os possíveis proprietários do recurso IP do ouvinte AG

Devemos remover as marcas de seleção ao lado dos servidores que estão em uma sub-rede diferente desse endereço IP?

Essa pergunta surgiu em um horário comercial recente , mas é algo que pensamos que pode ajudar a evitar o tempo de inatividade quando nosso cluster tiver problemas. Recentemente, tivemos uma interrupção de 5 minutos quando substituímos nosso hardware de servidor CO-SQL01 e ele foi adicionado de volta ao cluster de failover (mas não ao AG) sem remover seu voto. O servidor CO-SQL01 sofreu uma falha grave (achamos que foi um bug do driver NVMe/PCIe sob carga pesada) e conseguiu derrubar o AG com ele (acreditamos que o CO-SQL01 se apossou dos recursos do cluster principal quando chegou de volta online).

Para ser honesto, tivemos vários problemas inesperados com o uso de grupos de disponibilidade de cluster de failover de várias sub-redes e parece que os proprietários de funções preferenciais padrão e os possíveis proprietários de recursos podem estar incorretos ou pelo menos não ideais para nosso cenário. Atualmente, estamos analisando o uso do novo recurso Distributed Availability Groups no SQL Server 2016 para dividir nosso AG de várias sub-redes em dois AGs de sub-rede únicos (um para cada datacenter) como forma de evitar esses problemas no futuro. Também achamos que isso nos permitirá atualizar o sistema operacional do cluster com o mínimo de tempo de inatividade .

sql-server availability-groups
  • 1 respostas
  • 3055 Views
Martin Hope
Greg Bray
Asked: 2017-02-04 15:04:58 +0800 CST

Falha na tentativa de login do espelhamento de banco de dados com erro: 'Falha no handshake de conexão. A verificação do handshake falhou. Estado 36.'

  • 4

Ao realizar uma atualização sem interrupção de um grupo de disponibilidade do SQL Server 2016 CU1 para 2016 SP1, notamos um problema. Imediatamente após a atualização, a replicação da réplica secundária parou de funcionar para esse nó e os logs do SQL indicaram que havia um problema com o logon do espelhamento de banco de dados:

Tentativa de login de espelhamento de banco de dados pelo usuário 'DOMAIN\SERVICEACCOUNT.' falhou com o erro: 'Falha no handshake de conexão. A verificação do handshake falhou. Estado 36.'. [CLIENTE: 10.1.2.3]

O que causa esse problema e como podemos resolvê-lo?

sql-server availability-groups
  • 2 respostas
  • 4330 Views
Martin Hope
Greg Bray
Asked: 2016-02-17 17:01:50 +0800 CST

Banco de dados do Grupo de Disponibilidade travado no modo Não Sincronizando/Recuperação Pendente

  • 16

Ao atualizar o armazenamento em uma instância do SQL Server 2014 SP1 (12.0.4422.0), encontramos um problema em que dois dos bancos de dados não iniciavam no secundário após reiniciar o SQL Server. O servidor ficou offline por algumas horas enquanto instalávamos novos SSDs (maiores) e copiávamos os arquivos de dados para o novo volume. Quando reiniciamos o SQL Server, todos os bancos de dados, exceto dois, começaram a sincronizar novamente. Os outros dois foram exibidos no SSMS como Not Synchronizing/Recovery Pending .

SSMS não sincronizado/recuperação pendente

Tendo tido um problema semelhante Não Sincronizando / Em Recuperação antes, verifiquei o status na seção Grupos de Disponibilidade -> Bancos de Dados de Disponibilidade, mas eles exibiram um X vermelho:

Grupos de Disponibilidade, Bancos de Dados de Disponibilidade

e mesmo tentar Suspender a Movimentação de Dados gerou uma mensagem de erro:

Falha ao suspender a movimentação de dados no banco de dados 'StackExchange.Bycycles.Meta', que reside na réplica de disponibilidade 'ny-sql03' no grupo de disponibilidade 'SENetwork_AG'. (Microsoft.SqlServer.Smo)

Informações Adicionais: Ocorreu uma exceção ao executar uma instrução ou lote transact-SQL. (Microsoft.SqlServer.ConnectionInfo)

O banco de dados 'StackExchange.Bycycles.Meta' não pode ser aberto devido a arquivos inacessíveis ou memória insuficiente ou espaço em disco. Consulte o log de erros do SQL Server para obter detalhes. (Microsoft SQL Server, Erro: 945)

Eu verifiquei e os arquivos existiam e não tinham problemas de permissão. Também verifiquei os logs do SQL Server no SSMS em Gerenciamento, mas não vi nada sobre recuperação pendente ou problemas com os dois bancos de dados.

Procurando ajuda, encontrei dois artigos diferentes que diziam que os bancos de dados precisariam ser restaurados.

Existe alguma maneira de retomar a replicação de dados em um secundário quando um banco de dados está travado em Recuperação pendente?

sql-server availability-groups
  • 4 respostas
  • 39613 Views
Martin Hope
Greg Bray
Asked: 2016-01-08 20:09:06 +0800 CST

Banco de dados SQL Server AlwaysOn travado no modo Não Sincronizando / Em Recuperação após a atualização. Erro: Não é possível abrir o banco de dados '...' versão 782

  • 12

Ao testar uma atualização do SQL Server 2014 SP1 (12.0.4422.0) para o SQL Server 2016 CTP 3.2 (13.0.900.73), eu estava seguindo o processo de atualização recomendado e encontrei um problema em que o banco de dados não iniciava no primário antigo após o failover para o secundário atualizado. Nossa configuração é uma réplica primária e uma única réplica secundária, e as etapas que concluí foram:

  1. Remova o failover automático na réplica secundária de confirmação síncrona
  2. Faça upgrade das instâncias do servidor secundário para a nova versão
  3. Failover manualmente para a réplica secundária
  4. Verifique se os bancos de dados estão online na nova réplica primária
  5. Atualize a réplica primária anterior para a nova versão

A atualização do secundário e o failover para torná-lo o primário funcionaram exatamente como esperado. Mas depois de atualizar a réplica anteriormente primária, notei que os bancos de dados nela estavam listados no SSMS como Not Synchronizing / In Recovery . Também tentar acessá-los geraria uma mensagem de erro:

O banco de dados... não está acessível. (Explorador de Objetos)

Verificando através dos logs do SQL Server que vi

Não é possível abrir o banco de dados '...' versão 782. Atualize o banco de dados para a versão mais recente.

Consultar a tabela master..sysdatabases mostrou que realmente era uma versão mais antiga e não havia sido atualizada durante a atualização:

SSMS sysdatabases version

Infelizmente, os logs não indicaram por que não foi atualizado, e o Painel de Grupos de Disponibilidade forneceu apenas um aviso genérico indicando que o estado de sincronização de dados de algum banco de dados de disponibilidade não está íntegro sem motivo.

Eu tentei usar o TSQL para desanexar os bancos de dados ou defini-los offline para "chutá-lo" para atualização, mas como eles fazem parte do SQL AG, esses comandos não funcionam.

Como posso atualizar o banco de dados para a versão mais recente quando ele faz parte de um SQL AG?

sql-server availability-groups
  • 1 respostas
  • 68603 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve