Sintomas
Suponha que utiliza o SQL Server 2017 e tem muitos pacotes do SQL Server Integration Services (SSIS), poderá reparar que os relatórios do SSIS ou do Power BI falham esporadicamente com os seguintes erros de tempo limite de ligação:
"_Main_XXXXX:Erro: Código de Erro SSIS DTS_E_OLEDBERROR. Ocorreu um erro de OLE DB. Código de erro: 0x80004005".
Está disponível um registo OLE DB. Fonte: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Descrição: "Login timeout expired".
Está disponível um registo OLE DB. Fonte: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Descrição: "Não é possível concluir o processo de login devido a atraso na resposta de login".
Está disponível um registo OLE DB. Fonte: "Microsoft SQL Server Native Client 11.0" Hresult: 0x80004005 Descrição: "Fornecedor TCP: erro de tempo limite [258]. "."
Caso contrário, o problema não está limitado apenas aos relatórios do SSIS ou do Power BI. Qualquer aplicação pode afetar problemas de desempenho e atingir tempos limite ao ligar-se ao SQL Server.
Esta correção introduz duas novas colunas, error_code e op_history no sys.dm_os_buffer_descriptors Detran. Error_code coluna representa as informações de erro durante a última tentativa de preencher o buffer em questão. Op_history coluna representa o histórico operacional da memória intermédia no formato de bits (4 bits por operação, 16 operações no total, os últimos 4 bits representam a operação mais recente e deslocam-se para a esquerda à medida que o tempo avança).
Observação Esta correção não resolve quaisquer erros específicos que você vê ao preencher as páginas do buffer. Apenas expõe informações sobre códigos de erro e operações em memórias intermédias para que possa ser executada resolução de problemas adicional com as novas informações.
Causa raiz
Os problemas de tempo limite e desempenho são genéricos por natureza e podem ter muitas causas subjacentes. Neste caso em particular, há muitos erros e repetições que são observados ao tentar ler páginas de dados de arquivos de dados e preencher os buffers de memória (representação de memória de páginas de dados). A causa raiz dos erros de população de buffer não é identificada claramente como os códigos de erro subjacentes ao tentar preencher os buffers que não são expostos.
Estado
A Microsoft confirmou que se trata de um problema nos produtos Microsoft listados na secção "Aplica-se a".
Resolução
Este problema foi corrigido na seguinte atualização cumulativa para SQL Server:
Acerca das atualizações cumulativas para SQL Server:
Cada nova atualização cumulativa para SQL Server contém todos os hotfixes e todas as correções de segurança que foram incluídas com a atualização cumulativa anterior. Consulte as atualizações cumulativas mais recentes para SQL Server:
Referências
Saiba mais sobre a terminologia que a Microsoft utiliza para descrever as atualizações de software.