FIX: "producendo non pianificazione" può verificarsi quando si utilizza la funzione CONTAINSTABLE con molti OR e AND predicati in SQL Server 2008 o in SQL Server 2008 R2

Traduzione articoli Traduzione articoli
Identificativo articolo: 2344600 - Visualizza i prodotti a cui si riferisce l?articolo.
Microsoft distribuisce aggiornamenti di Microsoft SQL Server 2008 un unico file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e tutte le correzioni rilasciate con SQL Server 2008 precedente correggere versione.Microsoft distribuisce Microsoft SQL Server 2008 o in SQL Server 2008 R2 consente di correggere un unico file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e tutte le correzioni rilasciate con SQL Server 2008 o SQL Server 2008 R2 precedente correggere versione.
Espandi tutto | Chiudi tutto

In questa pagina

Sintomi

Si consideri il seguente scenario:
  • Una query di ricerca full-text che utilizza ilCONTAINSTABLEfunzione con moltiOReEpredicati nella condizione di Microsoft SQL Server 2008 o in SQL Server 2008 R2. Ad esempio, si dispone di 50 seguenteEoperazioni:
    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) 
  • Esecuzione della query.
In questo scenario, potrebbe verificarsi un errore "producendo non pianificazione". Additionally, a mini-dump file is generated in the SQL Server 2008 or SQL Server 2008 R2 Application log folder, and the following error is logged in the SQL Server Error log file:
<time stamp=""></time>Server Using 'dbghelp.dll' version '4.0.5'
<time stamp=""></time>Server ***Unable to get thread context for spid 0
<time stamp=""></time>Server *
*******************************************************************************
<time stamp=""></time>Server *
<time stamp=""></time>Server * BEGIN STACK DUMP:
<time stamp=""></time>Server *<time></time>SPID<spid></spid>
<time stamp=""></time>Server *
<time stamp=""></time>Server * Non-yielding Scheduler
<time stamp=""></time>Server *
<time stamp=""></time>Server *
*******************************************************************************
<time stamp=""></time>Server Stack Signature for the dump is 0x000000000000030D
<time stamp=""></time>Server External dump process return code 0x20000001. External dump process returned no errors.
<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 62 ms, user 75187 ms. Process Utilization 98%. System Idle 0%. Interval: 76403 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 125 ms, user 145250 ms. Process Utilization 98%. System Idle 0%. Interval: 148417 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 171 ms, user 205515 ms. Process Utilization 98%. System Idle 0%. Interval: 209729 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 218 ms, user 266343 ms. Process Utilization 98%. System Idle 0%. Interval: 271588 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 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.

Risoluzione

Informazioni sull'aggiornamento cumulativo

SQL Server 2008 R2

La correzione di questo problema è stata rilasciata prima in 5 aggiornamento cumulativo. Per ulteriori informazioni su come ottenere il pacchetto di aggiornamento cumulativo per SQL Server 2008 R2, fare clic sul numero dell'articolo della Microsoft Knowledge Base:
2438347Pacchetto di aggiornamento cumulativo 5 per SQL Server 2008 R2
NotaPoiché le generazioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e tutte le correzioni rilasciate con SQL Server 2008 R2 precedente correggere versione. Si consiglia di considerare l'applicazione alla versione più recente di correzione contenente questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base:
981356SQL Server 2008 R2 versioni rilasciate dopo il rilascio di SQL Server 2008 R2

SQL Server 2008 Service Pack 1

La correzione di questo problema è stata rilasciata prima nell'aggiornamento cumulativo 10 per SQL Server 2008 Service Pack 1. Per ulteriori informazioni sul pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base:
2279604Pacchetto di aggiornamento cumulativo 10 per SQL Server 2008 Service Pack 1
NotaPoiché le generazioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e tutte le correzioni rilasciate con SQL Server 2008 precedente correggere versione. Si consiglia di considerare l'applicazione alla versione più recente di correzione contenente questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base:
970365Versioni di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 aggiornamenti rapidi vengono creati per specifici service pack di SQL Server. È necessario applicare un hotfix di SQL Server 2008 Service Pack 1 per un'installazione di SQL Server 2008 Service Pack 1. Per impostazione predefinita, qualsiasi hotfix fornito in un service pack di SQL Server è incluso nel prossimo service pack di SQL Server.

SQL Server 2008 Service Pack 2

La correzione di questo problema è stata rilasciata prima nell'aggiornamento cumulativo 1 per SQL Server 2008 Service Pack 2. Per ulteriori informazioni sul pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base:
2289254Aggiornamento cumulativo 1 per SQL Server 2008 Service Pack 2
NotaPoiché le generazioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e tutte le correzioni rilasciate con SQL Server 2008 precedente correggere versione. Si consiglia di considerare l'applicazione alla versione più recente di correzione contenente questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base:
2402659Versioni di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008 Service Pack 2

Workaround

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")')

Status

Microsoft ha confermato che si tratta di un problema con i prodotti elencati nella sezione "Si applica a".

Riferimenti

Per ulteriori informazioni sulla funzioneCONTAINSTABLEfunzione, visitare il seguente sito Web Microsoft Developer Network (MSDN):
General information about the CONTAINSTABLE function
Per ulteriori informazioni sul modello di manutenzione incrementale per SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base:
935897Un modello di manutenzione incrementale è disponibile dal team di SQL Server per distribuire le correzioni per i problemi segnalati
Per ulteriori informazioni sullo schema di denominazione degli aggiornamenti di SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base:
822499Nuovo schema di denominazione per i pacchetti di aggiornamento software di Microsoft SQL Server
Per ulteriori informazioni sulla terminologia di aggiornamento software, fare clic sul numero dell'articolo della Microsoft Knowledge Base:
824684Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft

Proprietà

Identificativo articolo: 2344600 - Ultima modifica: lunedì 20 dicembre 2010 - Revisione: 3.0
Le informazioni in questo articolo si applicano a:
  • 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
Chiavi: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2344600 KbMtit
Traduzione automatica articoli
Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 2344600
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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