Microsoft distribuisce le correzioni di Microsoft SQL Server 2008 come un file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 FIX.Microsoft distribuisce Microsoft SQL Server 2008 o SQL Server 2008 R2 come un file scaricabile. Poiché le correzioni sono cumulative, ogni nuova versione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 o SQL Server 2008 R2 Fix.
Sintomi
Considerare lo scenario descritto di seguito:
-
Si dispone di una query di ricerca full-text che usa la funzione CONTAINSTABLE insieme a molti o e e predicati nella condizione in Microsoft SQL server 2008 o in SQL Server 2008 R2. Ad esempio, sono presenti le 50 e le operazioni seguenti: Declare @Keywords varchar(4000) = NULLset @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)
-
Si esegue la query.
In questo scenario si può verificare un errore di "utilità di pianificazione non cedente". Inoltre, viene generato un file minidump nella cartella del registro applicazioni di SQL Server 2008 o SQL Server 2008 R2 e viene registrato il seguente messaggio di errore nel file di log degli errori di SQL Server:
<indicatore di data e ora> Server con ' dbghelp. dll ' versione ' 4.0.5'<timestamp> server * * * non è possibile ottenere il contesto del thread per spid 0<timestamp> server * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *><><<timestamp>server *<tempo>SPID <SPID><timestamp> server *<timestamp>server * non restituendo l'utilità di pianificazione<timestamp>server * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *><>< Il processo di dump esterno non ha restituito errori.<indicatore di data e ora> Il processo server 0:0:0 (0xf94) Worker 0x00000000817481A0 sembra non cedere allo Scheduler 0. Tempo di creazione del thread: 12925321224306. CPU del thread CA utilizzata: kernel 62 ms, User 75187 ms. Utilizzo del processo 98%. Sistema inattivo 0%. Intervallo: 76403 ms.<indicatore di data e ora> Il processo server 0:0:0 (0xf94) Worker 0x00000000817481A0 sembra non cedere allo Scheduler 0. Tempo di creazione del thread: 12925321224306. CPU del thread CA utilizzata: kernel 125 ms, User 145250 ms. Utilizzo del processo 98%. Sistema inattivo 0%. Intervallo: 148417 ms.<indicatore di data e ora> Il processo server 0:0:0 (0xf94) Worker 0x00000000817481A0 sembra non cedere allo Scheduler 0. Tempo di creazione del thread: 12925321224306. CPU del thread CA utilizzata: kernel 171 ms, User 205515 ms. Utilizzo del processo 98%. Sistema inattivo 0%. Intervallo: 209729 ms.<indicatore di data e ora> Il processo server 0:0:0 (0xf94) Worker 0x00000000817481A0 sembra non cedere allo Scheduler 0. Tempo di creazione del thread: 12925321224306. CPU del thread CA utilizzata: kernel 218 ms, User 266343 ms. Utilizzo del processo 98%. Sistema inattivo 0%. Intervallo: 271588 ms.<indicatore di data e ora> Il processo server 0:0:0 (0xf94) Worker 0x00000000817481A0 sembra non cedere allo Scheduler 0. Tempo di creazione del thread: 12925321224306. CPU del thread CA utilizzata: kernel 234 MS, User 325156 ms. Utilizzo del processo 97%. Sistema inattivo 0%. Intervallo: 333671 ms.<indicatore di data e ora> Il processo server 0:0:0 (0xf94) Worker 0x00000000817481A0 sembra non cedere allo Scheduler 0. Tempo di creazione del thread: 12925321224306. CPU del thread CA utilizzata: kernel 296 MS, User 386000 ms. Utilizzo del processo 97%. Sistema inattivo 0%. Intervallo: 396370 ms.
Causa
Questo problema si verifica perché SQL Server 2008 o SQL Server 2008 R2 non rilascia correttamente un'utilità di pianificazione.
Risoluzione
Informazioni sull'aggiornamento cumulativo
SQL Server 2008 R2
La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 5. Per altre informazioni su come ottenere questo pacchetto di aggiornamento cumulativo per SQL Server 2008 R2, fare clic sul numero dell'articolo seguente per visualizzare l'articolo della Microsoft Knowledge Base:
2438347 Pacchetto di aggiornamento cumulativo 5 per SQL Server 2008 R2 Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 R2 Fix. Ti consigliamo di considerare l'applicazione della versione di correzione più recente che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
981356 Build di SQL Server 2008 R2 rilasciate dopo il rilascio di SQL Server 2008 R2
SQL Server 2008 Service Pack 1
La correzione di questo problema è stata rilasciata per la prima volta in aggiornamento cumulativo 10 per SQL Server 2008 Service Pack 1. Per altre informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
2279604 Pacchetto di aggiornamento cumulativo 10 per SQL Server 2008 Service Pack 1Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 FIX. Microsoft consiglia di applicare l'ultima versione di correzione che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
970365 Build di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008 Service Pack 1 Microsoft SQL Server 2008 hotfix vengono creati per specifici Service Pack di SQL Server. È necessario applicare un hotfix di SQL Server 2008 Service Pack 1 a 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 per la prima volta in aggiornamento cumulativo 1 per SQL Server 2008 Service Pack 2. Per altre informazioni su questo pacchetto di aggiornamento cumulativo, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
2289254 Aggiornamento cumulativo 1 per SQL Server 2008 Service Pack 2Nota Poiché le build sono cumulative, ogni nuova versione di correzione contiene tutti gli hotfix e tutti gli aggiornamenti della sicurezza inclusi nella versione precedente di SQL Server 2008 FIX. Ti consigliamo di considerare l'applicazione della versione di correzione più recente che contiene questo hotfix. Per ulteriori informazioni, fare clic sul numero dell'articolo seguente per visualizzare l'articolo nella Microsoft Knowledge Base:
2402659 Build di SQL Server 2008 rilasciate dopo il rilascio di SQL Server 2008 Service Pack 2
Soluzione alternativa
Per risolvere il problema, usare un thesaurus della ricerca full-text per definire i sinonimi del predicato. A questo scopo, usa la funzione FORMSOF insieme al valore del Thesaurus e quindi Aggiungi tutte le parole chiave come parametri. Per l'esempio descritto nella sezione "Sintomi", di seguito è riportata una versione aggiornata della query di esempio: 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")')
Stato
Microsoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Per altre informazioni sulla funzione CONTAINSTABLE , visitare il sito Web Microsoft Developer Network (MSDN) seguente:
Informazioni generali sulla funzione CONTAINSTABLEPer altre informazioni sul modello di manutenzione incrementale per SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
935897 Un modello di manutenzione incrementale è disponibile nel team di SQL Server per fornire gli hotfix per i problemi segnalatiPer altre informazioni sullo schema di denominazione per gli aggiornamenti di SQL Server, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
822499Nuovo schema di denominazione per i pacchetti di aggiornamento software di Microsoft SQL ServerPer altre informazioni sulla terminologia degli aggiornamenti software, fare clic sul numero dell'articolo della Microsoft Knowledge Base seguente per visualizzare l'articolo:
824684 Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft