Symptômes
Prenons l’exemple du scénario suivant :
-
Pour créer un package SQL Server Integration Services (SSIS), vous utilisez Microsoft SQL Server 2012 ou SQL Server 2014 et Microsoft SQL Server Data Tools (SSDT).
-
Dans la tâche de flux de données, vous devez utiliser un composant source tel qu’une source OLE DB, ADO.NET source ou une source ODBC pour définir le mode d’accès aux données sur la commande SQL et taper une requête dans la zone de commande.
-
Pour afficher le résultat de la requête, cliquez sur Aperçu .
Dans ce scénario, la commande prévisualisée s’exécute plus de 30 secondes et ne fonctionne pas dans le concepteur. Par ailleurs, vous recevez un message d’erreur semblable à « délai de requête expiré ».
Cause
Ce problème se produit car le seuil de CommandTimeout est codé en dur sous la forme de 30 secondes pour la fonctionnalité d’aperçu dans SSIS Designer.
Résolution
Le problème a été résolu dans la mise à jour cumulative suivante de SQL Server.
Mise à jour cumulative 3 pour SQL Server 2014 /en-us/help/2984923
Mise à jour cumulative 1 pour SQL Server 2012 SP2 /en-us/help/2976982
Mise à jour cumulative 10 pour SQL Server 2012 SP1 /en-us/help/2954099
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs et les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :
Remarques:
-
Avant d’appliquer ce correctif, le paramètre délai d’expiration est fixé à 30 secondes dans l’aperçu des données pour tous les composants SSIS.
-
Après avoir appliqué ce correctif :
-
Pour le composant source ADO.NET et le composant source OLE DB, il possède déjà une propriété CommandTimeout. Cette propriété sera utilisée dans l’aperçu des données.
-
Pour tous les autres composants disposant d’une fonctionnalité d’aperçu des données, mais qui n’ont pas de propriété CommandTimeout :
-
S’il existe une valeur DWORD DataPreviewTimeout sous clé de Registre système :\\HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\SSIS\Preferences SSIS utilisera cette valeur comme délai d’expiration lors de la prévisualisation.
-
S’il n’y a pas de valeur DWORD DataPreviewTimeout, SSIS utilise toujours 30 secondes.
-
-
Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.