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 / dba / Perguntas / 237138
Accepted
kevinnwhat
kevinnwhat
Asked: 2019-05-02 07:18:16 +0800 CST2019-05-02 07:18:16 +0800 CST 2019-05-02 07:18:16 +0800 CST

SQLServerLogMgr::LogWriter: Erro do sistema operacional 1117

  • 772

Temos um problema contínuo com nosso servidor sql de produção (físico) onde recebemos aleatoriamente esse erro no log que coloca o banco de dados em estado de recuperação

 SQLServerLogMgr::LogWriter: Operating system error 1117(The request could not be performed because of an I/O device error.) encountered.

O problema sempre ocorre em nossa unidade armazenando os logs de transações. O banco de dados normalmente se recupera sozinho, mas poucas instâncias isso não acontece e precisamos reiniciar a instância para recuperar. Nenhum erro retornado de qualquer banco de dados para dbcc checkdb.

Nossa equipe de armazenamento está investigando há semanas com nosso fornecedor, mas sem sorte. A investigação está em andamento.

Dito isto, como o dba do sql server deve lidar com esse erro além de reportá-lo à equipe de armazenamento e verificar se há corrupção no banco de dados? Eu estou querendo saber se há mais informações que eu possa coletar do lado do servidor sql que possa ajudar em sua investigação?

Executando o SQL Server 2012 SP3, o armazenamento é uma SAN.

Primeira atualização

Nossa equipe de infraestrutura fez as seguintes alterações ontem à noite

  • Atualizado o firmware em todas as NICs no servidor de banco de dados
  • Atualizado o firmware nos switches de rede
  • Quadros Jumbo habilitados para ICSCI

Ainda não recebemos o erro, atualizarei novamente em cerca de uma semana.

Segunda atualização

As alterações feitas na atualização anterior não resolveram o problema. Ontem à noite, movemos o tempdb da SAN para a unidade local no servidor físico e desabilitamos o rastreamento de conexão de otimização iSCSI. Ainda não recebemos o erro e também vemos leitura/gravação de disco muito mais rápida em nossos dados e unidades de log (ainda na san) e, claro, o tempdb sendo local. Além disso, estávamos recebendo muitos erros de iSCSI nos logs de eventos do Windows durante a hora do erro e também ao longo do dia. Como essas mudanças na noite passada, os erros de iCSI desapareceram, ainda há alguns chegando, mas não tanto.

Obrigado, Kevin

sql-server
  • 1 1 respostas
  • 4207 Views

1 respostas

  • Voted
  1. Best Answer
    Sean Gallardy
    2019-05-02T08:15:49+08:002019-05-02T08:15:49+08:00

    Dito isto, como o dba do sql server deve lidar com esse erro além de reportá-lo à equipe de armazenamento e verificar se há corrupção no banco de dados?

    Realmente não há nada que você possa fazer do lado do banco de dados. O SQL Server é uma vítima do hardware subjacente e da virtualização (se houver) com problemas. O problema subjacente (driver, hardware, configuração, etc.) precisa ser corrigido. Observe que, se você estiver em um ambiente virtualizado, pode ser uma camada de software intermediária ou um problema com a configuração do host/convidado etc., e não um problema de hardware ou armazenamento físico.

    Realisticamente, remover todos os drivers de filtro e software associado, parar e entre camadas removendo-os e colocando-os em soluções de armazenamento físico (se virtual) e/ou em mudança (por exemplo, usando local em vez de remoto/SAN) pode ajudar a ajudar na solução do problema. A atualização de drivers (por exemplo, multipathing, dispositivo, firmware etc.) também pode ser útil, mas não é algo que eu cobraria de um DBA, mas de um datacenter ou administrador de sistemas.

    Eu estou querendo saber se há mais informações que eu possa coletar do lado do servidor sql que possa ajudar em sua investigação?

    Na verdade, não. Abaixo, estamos chamando as APIs de leitura e gravação através do Windows. O código de retorno da chamada da API por meio do Windows é esse código de erro do Windows que estamos borbulhando para que o administrador do SQL Server saiba por que o SQL Server está tendo problemas.

    Se alguma coisa, como é um único volume, eles devem ser capazes de isolá-lo no back-end e habilitar o rastreamento de infraestrutura. Se esta for uma máquina física, isso seria do controlador HBA/scsi e abaixo através do hardware. Se for virtual, então do Host pelas mesmas camadas.

    Infelizmente, isso é mais fácil de dizer do que fazer e a maioria dos lugares está mal equipada para realmente investigar esse tipo de problema - especialmente quando o ambiente é virtualizado.

    Pensamentos finais

    O que dizem os logs de eventos do sistema? Há mais NTFS ou outros problemas de corrupção surgindo? Os dispositivos estão sendo redefinidos? O log de eventos do sistema deve ser dissecado com um pente de dentes extremamente finos para ver se há uma série de eventos ou itens que parecem levar a isso ou se é espontâneo. Além disso, descobri que esses eventos geralmente se agrupam em torno de determinados itens, como horários de alto uso em um controlador específico ou SANs sobrecarregadas.

    • 5

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

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