CORRECTIF: «Planificateur produisant des autres» erreur peut se produire lorsque vous utilisez la fonction CONTAINSTABLE avec de nombreux OR et AND prédicats dans SQL Server 2008 ou dans SQL Server 2008 R2

Traductions disponibles Traductions disponibles
Numéro d'article: 2344600 - Voir les produits auxquels s'applique cet article
Microsoft distribue les correctifs de Microsoft SQL Server 2008 en tant qu'un fichier téléchargeable unique. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et correctifs de sécurité inclus avec la précédente de SQL Server 2008 version du correctif.Microsoft distribue Microsoft SQL Server 2008 ou SQL Server 2008 R2 se résout en tant qu'un fichier téléchargeable unique. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et correctifs de sécurité inclus avec la précédente SQL Server 2008 ou SQL Server 2008 R2 version du correctif.
Agrandir tout | Réduire tout

Sommaire

Symptômes

Envisagez le scénario suivant :
  • Vous disposez d'une requête de recherche de texte intégral qui utilise leCONTAINSTABLEfonction avec un grand nombreOUetETprédicats dans l'état dans Microsoft SQL Server 2008 ou dans SQL Server 2008 R2. Par exemple, vous devez les 50 suivantETopérations :
    Declare @Keywords varchar(4000) = NULL
    
    set @Keywords= N'((((((((((((((((((((((((((((((((((((((((((((((((((((
    ("TOKarchitect" OR "architectural") 
    AND ("TOKengineer" OR "engineer")) 
    AND "gineer") AND ("TOKmechanical" OR "Mechanical")) 
    AND ("TOKengineer" OR "Engineering")) 
    AND ("TOKelectronic" OR "Electronics")) AND ("TOKengineer" OR "Engineer")) AND ("TOKelectronic" OR "Electronics")) AND ("TOKengineer" OR "Engineering")) AND ("TOKelectric" OR "Electrical")) AND ("TOKengineer" OR "Engineer")) AND ("TOKelectric" OR "Electrical")) AND ("TOKengineer" OR "Engineering")) AND ("TOKcontrol" OR "Control")) AND ("TOKsystem" OR "Systems")) AND ("TOKengineer" OR "Engineer")) AND ("TOKproject" OR "Project")) AND ("TOKmanager" OR "Manager")) AND ("TOKengineer" OR "Engineering")) AND "Scheme") AND ("TOKmanufacture" OR "Manufacturing")) AND ("TOKengineer" OR "Engineer")) AND ("TOKmetallurgist" OR "Metallurgy")) AND ("TOKmetallurgist" OR "Metallurgist")) AND ("TOKprocess" OR "Process")) AND ("TOKTechnology" OR "Technology")) AND ("TOKproduct" OR "Production")) AND ("TOKengineer" OR "Engineer")) AND ("TOKQuality" OR "Quality")) AND ("TOKengineer" OR "Engineer")) AND ("TOKQuality" OR "Quality")) AND ("TOKcontrol" OR "Control")) AND ("TOKengineer" OR "Engineer")) AND "Mechatronics") AND ("TOKcivil" OR "Civil")) AND ("TOKengineer" OR "Engineer")) AND ("TOKcivil" OR "Civil")) AND ("TOKengineer" OR "Engineering")) AND ("TOKdesign" OR "Design")) AND ("TOKengineer" OR "Engineering")) AND ("TOKdesign" OR "Design")) AND ("TOKengineer" OR "Engineer")) AND ("TOKgraduate" OR "Graduate")) AND ("TOKengineer" OR "Engineer")) AND ("TOKgraduate" OR "Graduate")) AND ("TOKengineer" OR "engineering")) AND ("TOKengineer" OR "Engineering")) AND ("TOKgraduate" OR "Graduate")) AND ") ANDNOT (") AND ("TOKRecruitment" OR "Recruitment")) AND ("TOKconsultant" OR "consultant")) AND ("TOKtrainee" OR "trainee")) AND ("TOKRecruitment" OR "recruitment"))'
    
    select * from CONTAINSTABLE(test_table, *, @keywords, 1000) 
  • Vous exécutez la requête.
Dans ce scénario, une erreur «Planificateur de donner un non» peut se produire. En outre, un fichier Minidump est généré dans le dossier du journal SQL Server 2008 ou SQL Server 2008 R2 Application et le message d'erreur suivant est consigné dans le fichier journal erreur SQL Server :
<time stamp=""></time>Serveur à l'aide de 'dbghelp.dll' version '4.0.5'
<time stamp=""></time>Serveur *** Impossible d'obtenir le contexte de thread pour le spid 0
<time stamp=""></time>Serveur *
*******************************************************************************
<time stamp=""></time>Serveur *
<time stamp=""></time>Serveur * DUMP de pile BEGIN :
<time stamp=""></time>Serveur *<time></time>SPID<spid></spid>
<time stamp=""></time>Serveur *
<time stamp=""></time>Serveur * Non produisant le Planificateur
<time stamp=""></time>Serveur *
<time stamp=""></time>Serveur *
*******************************************************************************
<time stamp=""></time>Serveur de la signature de la pile pour le vidage est 0x000000000000030D
<time stamp=""></time>Serveur Processus de vidage externes renvoient code 0x20000001. Processus de vidage externe a renvoyé aucune erreur.
<time stamp=""></time>Serveur de processus 0: 0: 0 (0xf94) Worker 0x00000000817481A0 semble être dalle sur le Planificateur de 0. Heure de création de threads : 12925321224306. Utilisé environ threads du processeur: noyau ms 62, utilisateur 75187 ms. 98 de l'utilisation du processus %. Inactif du système % 0. Intervalle: ms 76403.
<time stamp=""></time>Serveur de processus 0: 0: 0 (0xf94) Worker 0x00000000817481A0 semble être dalle sur le Planificateur de 0. Heure de création de threads : 12925321224306. Utilisé environ threads du processeur: noyau ms 125, utilisateur 145250 ms. 98 de l'utilisation du processus %. Inactif du système % 0. Intervalle: ms 148417.
<time stamp=""></time>Serveur de processus 0: 0: 0 (0xf94) Worker 0x00000000817481A0 semble être dalle sur le Planificateur de 0. Heure de création de threads : 12925321224306. Utilisé environ threads du processeur: noyau 171 ms, utilisateur 205515 ms. 98 de l'utilisation du processus %. Inactif du système % 0. Intervalle: ms 209729.
<time stamp=""></time>Serveur de processus 0: 0: 0 (0xf94) Worker 0x00000000817481A0 semble être dalle sur le Planificateur de 0. Heure de création de threads : 12925321224306. Utilisé (s) environ threads du processeur: noyau 218 ms, utilisateur 266343 ms. Process Utilization 98 %. Inactif du système % 0. Intervalle: ms 271588.
<time stamp=""></time>Server Process 0:0:0 (0xf94) Worker 0x00000000817481A0 appears to be non-yielding on Scheduler 0. Thread creation time: 12925321224306. Approx Thread CPU Used: kernel 234 ms, user 325156 ms. Process Utilization 97%. System Idle 0%. Interval: 333671 ms.
<time stamp=""></time>Server Process 0:0:0 (0xf94) Worker 0x00000000817481A0 appears to be non-yielding on Scheduler 0. Thread creation time: 12925321224306. Approx Thread CPU Used: kernel 296 ms, user 386000 ms. Process Utilization 97%. System Idle 0%. Interval: 396370 ms.

Cause

This issue occurs because SQL Server 2008 or SQL Server 2008 R2 does not release a scheduler correctly.

Résolution

Informations de mise à jour cumulative

SQL Server 2008 R2

Tout d'abord, le correctif de ce problème a été publié à 5 de mise à jour cumulative. Pour plus d'informations sur l'obtention de ce package de mise à jour cumulatives pour SQL Server 2008 R2, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
2438347Package cumulatif de mise à jour de 5 pour SQL Server 2008 R2
RemarqueLes versions étant cumulatives, chaque nouvelle version de correctif contient tous les correctifs et correctifs de sécurité inclus avec la précédente de SQL Server 2008 R2 version du correctif. Il est recommandé d'envisager l'application de la version du correctif plus récente qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
981356Versions de SQL Server 2008 R2 ont été publiés après la publication de SQL Server 2008 R2

SQL Server 2008 Service Pack 1

Tout d'abord, le correctif de ce problème a été publié dans la mise à jour cumulative 10 de SQL Server 2008 Service Pack 1. Pour plus d'informations sur ce package cumulatif de mise à jour, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
2279604Package de mise à jour cumulative 10 de SQL Server 2008 Service Pack 1
RemarqueLes versions étant cumulatives, chaque nouvelle version de correctif contient tous les correctifs et correctifs de sécurité inclus avec la précédente de SQL Server 2008 version du correctif. Microsoft vous recommande d'envisager l'application de la version du correctif plus récente qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
970365Versions de SQL Server 2008 publiées après SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 les correctifs sont créés pour les service packs de SQL Server spécifiques. Vous devez appliquer un correctif SQL Server 2008 Service Pack 1 pour une installation de SQL Server 2008 Service Pack 1. Par défaut, n'importe quel correctif fourni dans un service pack SQL Server est inclus dans le prochain service pack SQL Server.

SQL Server 2008 Service Pack 2

Le correctif de ce problème a été tout d'abord publié de mise à jour cumulative 1 pour SQL Server 2008 Service Pack 2. Pour plus d'informations sur ce package cumulatif de mise à jour, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
2289254Mise à jour cumulative 1 pour SQL Server 2008 Service Pack 2
RemarqueLes versions étant cumulatives, chaque nouvelle version de correctif contient tous les correctifs et correctifs de sécurité inclus avec la précédente de SQL Server 2008 version du correctif. Il est recommandé d'envisager l'application de la version du correctif plus récente qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
2402659Versions de SQL Server 2008 publiées après SQL Server 2008 Service Pack 2

Contournement

To work around this issue, use a full-text search thesaurus to define the synonyms of the predicate.

To do this, use theFORMSOFfunction together with theTHESAURUSvalue, and then add all the keywords as parameters.

For the example that is described in the "Symptoms" section, the following is an updated version of the sample query:
Select * from test_table where Contains(*,'FORMSOF (THESAURUS,"architectural","engineer","Mechanical","Engineering","Electronics","Engineer","Electrical","Control","Systems","Project","Manager","Manufacturing","Metallurgy","Metallurgist","Process",?Design?,"Technology","Production","Quality","Control","Civil","Graduate","Recruitment","consultant","trainee","recruitment")')

Statut

Microsoft a confirmé qu'il s'agit d'un problème dans les produits Microsoft répertoriés dans la section «S'applique à».

Références

Pour plus d'informations sur laCONTAINSTABLEfonction, reportez-vous au site Web MSDN (Microsoft Developer Network) suivant :
General information about the CONTAINSTABLE function
Pour plus d'informations sur le modèle de service incrémentiel pour SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
935897Un modèle de service incrémentiel est disponible à partir de l'équipe SQL Server pour fournir des correctifs pour les problèmes signalés
Pour plus d'informations sur le schéma d'affectation de noms pour les mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
822499Nouveau schéma d'affectation de noms pour les packages de correctifs Microsoft SQL Server
Pour plus d'informations sur la terminologie de mise à jour de logiciel, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
824684 de laDescription de la terminologie standard utilisée pour décrire les mises à jour de logiciel Microsoft

Propriétés

Numéro d'article: 2344600 - Dernière mise à jour: lundi 20 décembre 2010 - Version: 3.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Service Pack 1
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Standard Edition for Small Business
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Standard Edition for Small Business
  • Microsoft SQL Server 2008 R2 Workgroup
Mots-clés : 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2344600 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 2344600
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com