Microsoft distribue les correctifs Microsoft SQL Server 2012 sous la forme d’un fichier téléchargeable. Dans la mesure où les correctifs sont cumulatifs, chaque nouvelle version contient tous les correctifs et les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2012.

Symptômes

Prenons l’exemple du scénario suivant :

  • Vous pouvez créer un ou plusieurs projets de qualité de données dans le client de qualité des données dans Microsoft SQL Server 2012.

  • Vous installez la mise à jour cumulative 1 pour SQL Server 2012 (SQL Server 2012 CU1), puis vous exécutez le fichier DQSInstaller. exe pour mettre à niveau des catalogues de services de qualité de données (DQS) et ajouter de nouveaux objets.

  • Vous essayez de supprimer l’un des projets de qualité des données créés à l’aide du client de qualité des données.

Dans ce scénario, le client de qualité des données cesse de répondre et le moteur de base de données SQL Server entre dans une boucle infinie. Par ailleurs, le processus sqlservr. exe rencontre une utilisation élevée de l’UC. Remarque

  • Pour résoudre ce problème, redémarrez le client de qualité des données et DQS.

  • Ce problème se produit uniquement si le projet de qualité des données a été créé avant l’installation de SQL Server 2012 CU1.

Cause

Ce problème survient en raison d’une boucle infinie dans une procédure stockée système qui est provoquée par la mise à jour incorrecte d’un compteur de boucle.RemarqueCe problème survient en raison d’une régression dans SQL Server 2012 CU1.

Résolution

Informations sur les mises à jour cumulatives

Informations sur le Service Pack pour SQL Server 2012

Pour résoudre ce problème, procurez-vous le dernier Service Pack pour SQL Server 2012. Pour plus d’informations, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

2755533 Obtention du dernier Service Pack pour SQL Server 2012

SQL Server 2012

Le correctif de ce problème a été émis pour la première fois dans la mise à jour cumulative 2 pour SQL Server 2012. Pour plus d’informations sur la façon d’obtenir ce package de mise à jour cumulative pour SQL Server, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

2703275 Package de mise à jour cumulative 2 pour SQL Server 2012Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version du correctif contient tous les correctifs et les correctifs de sécurité inclus dans la version précédente du correctif SQL Server. Nous vous recommandons d’appliquer la version de correctif la plus récente qui contient ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

2692828 Builds SQL Server 2012 publiées après la sortie de SQL Server 2012

Solution de contournement

Pour contourner ce problème, appliquez l’une des méthodes ci-dessous.Méthode 1Pour ajouter une procédure factice qui permet la procédure stockée en boucle infinie et de se fermer correctement, procédez comme suit :

  1. Exécutez la requête suivante pour identifier le nom de schéma du projet concerné que vous tentez de supprimer :

    SELECT 'KnowledgeManagement'+CAST(ID AS NVARCHAR) AS SchemaName, Name FROM DQS_MAIN.dbo.A_KNOWLEDGEBASE WHERE TYPE=2
  2. Utilisez la valeur SchemaName qui est renvoyée, puis exécutez les instructions similaires à ce qui suit dans SQL Server Management Studio pour indiquer le nom de schéma correspondant et l’ID du projet de qualité des données. Une nouvelle procédure factice sera créée pour le schéma et le projet de qualité des données correspondant. Par conséquent, la boucle infinie se déroule correctement.

    USE DQS_PROJECTSGOCREATE PROCEDURE DQProject<ID>.NewIndexParseTrigramsFromLexiconAS BEGINPRINT 'THIS IS A DUMMY PROCEDURE TO MAKE DELETE WORK for Microsoft KB Article 2705571';END

    Remarque <ID> représente l’ID interne du projet de qualité des données qui est supprimé.

  3. Vérifiez que le projet de qualité des données est supprimé du client de qualité des données comme prévu.

Méthode 2Si vous devez arrêter rapidement la procédure de bouclage pour économiser les ressources de l’UC, exécutez les instructions suivantes pour identifier la session correcte. Toutefois, la mise à mort de la procédure en boucle ne supprime pas le projet de qualité des données correctement. Les instructions Transact-SQL suivantes permettent d’identifier et d’arrêter la session correcte. S’il s’agit d’une session de client de qualité des données en cours d’exécution, vous devrez peut-être exécuter les instructions plusieurs fois :

DECLARE @session smallint, @text nvarchar(2000), @killcommand nvarchar(200)SELECT TOP 1 @session=s.session_id, @text=st.textFROM sys.dm_exec_sessions sFULL OUTER JOIN sys.dm_exec_requests r ON s.session_id=r.session_idCROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS stWHERE program_name like 'DQ Services Client: Client Id = %, KB Id = %, Proxy = KnowledgebaseManagementEntryPointClient'AND s.status='running';SELECT 'Killing this DQS session:', @session SessionID, @text QueryText;SET @killcommand=N'Kill '+ cast(@session as nvarchar)+';'EXEC sp_executesql @killcommand;

Remarque Si vous utilisez la méthode 2 pour supprimer la connexion DQS, le message d’erreur suivant peut apparaître dans le client de qualité des données :

SQL Server Data Quality Services--------------------------------------------------------------------------------<id>: ApplicationUnhandledExceptionAn exception non gérée s’est produite. Pour plus d’informations, consultez journalisation du client Data Quality Services.--------------------------------------------------------------------------------System. Data. SqlClient. SqlException (0x80131904) : une erreur sérieuse s’est produite sur la commande actuelle. Les résultats éventuels doivent être supprimés.

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.

Références

Pour plus d’informations sur la mise à niveau de DQS, accédez au site Web Microsoft TechNet suivant :

Comment mettre à niveau DQS

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.