Symptômes
Supposons que vous utilisez SQL Server 2017 et que vous disposez de nombreux packages Integration Services (SSIS) SQL Server, vous remarquerez peut-être que les rapports SSIS ou Power BI échouent sporadiquement avec les erreurs de délai d’expiration de connexion suivantes :
« _Main_XXXXX:Error: SSIS Error Code DTS_E_OLEDBERROR. Une erreur OLE DB s’est produite. Code d’erreur : 0x80004005 ».
Un enregistrement OLE DB est disponible. Source : « Microsoft SQL Server Native Client 11.0 » Hresult : 0x80004005 Description : « Délai d’expiration de connexion expiré ».
Un enregistrement OLE DB est disponible. Source : Hresult « Microsoft SQL Server Native Client 11.0 » : 0x80004005 Description : « Impossible d’effectuer le processus de connexion en raison d’un retard dans la réponse de connexion ».
Un enregistrement OLE DB est disponible. Source : « Microsoft SQL Server Native Client 11.0 » Hresult: 0x80004005 Description : « Fournisseur TCP : erreur de délai d’expiration [258]. "."
Sinon, le problème n’est pas limité aux rapports SSIS ou Power BI uniquement. Toute application peut rencontrer des problèmes de performances et des délais d’expiration lors de la connexion à SQL Server.
Ce correctif introduit deux nouvelles colonnes, error_code et op_history dans sys.dm_os_buffer_descriptors DMV. Error_code colonne représente les informations d’erreur lors de la dernière tentative de remplissage de la mémoire tampon en question. Op_history colonne représente l’historique opérationnel de la mémoire tampon au format bits (4 bits par opération, 16 opérations au total, les 4 derniers bits représentent la dernière opération et le décalage vers la gauche à mesure que le temps progresse).
Remarque Ce correctif ne résout pas les erreurs spécifiques que vous voyez lors du remplissage des pages de mémoire tampon. Il expose uniquement des informations sur les codes d’erreur et les opérations sur les mémoires tampons afin que des résolutions de problèmes supplémentaires puissent être effectuées avec les nouvelles informations.
Cause
Les problèmes de délai d’expiration et de performances sont de nature générique et peuvent avoir de nombreuses causes racine sous-jacentes. Dans ce cas particulier, de nombreuses erreurs et nouvelles tentatives sont observées lors de la tentative de lecture de pages de données à partir de fichiers de données et de remplissage des mémoires tampons (représentation mémoire des pages de données). La cause racine des erreurs de remplissage des mémoires tampons n’est pas clairement identifiée en tant que codes d’erreur sous-jacents lors de la tentative de remplissage des mémoires tampons qui ne sont pas exposées.
État
Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « S’applique à ».
Résolution
Ce problème est résolu dans la mise à jour cumulative suivante pour SQL Server :
À propos des mises à jour cumulatives pour SQL Server :
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Découvrez les dernières mises à jour cumulatives pour SQL Server :
Références
Découvrez la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.