Simptomi
Pieņemsim, ka veicat vaicājumu binārā lielā objekta (BLOB) kolonnā programmā Microsoft SQL Server 2008 R2 vai Microsoft SQL Server 2012 datorā ar vairākiem centrālajiem procesoriem. Vaicājums izmanto NOLOCK atgādinājumu. Šajā situācijā datorā ir augsts centrālā procesora lietojums.Piezīme.Šī problēma var rasties, ja datorā ir instalēti 16 vai vairāk procesori.
Cēlonis
Šī problēma rodas tāpēc, ka spinlock backoff algoritms nav efektīvs.
Risinājums
Kumulatīvās atjaunināšanas informācija
SQL Server 2012 SP1 kumulatīvais atjauninājums 2
Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 2. Lai iegūtu papildinformāciju par to, kā iegūt SQL Server 2012 SP1 kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2790947 Kumulatīvās atjaunināšanas pakotne 2 SQL Server 2012 1. servisa pakotneiPiezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2012 SP1 labošanas laidienā. Iesakām apsvērt jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2772858 SQL Server 2012 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2012 1. servisa pakotne
Kumulatīvais atjauninājums 5 SQL Server 2012
Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjaunināšanā 5. Lai iegūtu papildinformāciju par to, kā iegūt šo kumulatīvo atjaunināšanas pakotni SQL Server 2012, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2777772 Kumulatīvās atjaunināšanas pakotne 5 sistēmai SQL Server 2012Piezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2012 labošanas laidienā. Iesakām apsvērt jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2692828 SQL Server 2012 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2012
SQL Server 2008 R2 2. servisa pakotne
Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 3. Lai iegūtu papildinformāciju par to, kā iegūt šo kumulatīvo atjaunināšanas pakotni SQL Server 2008 R2 2. servisa pakotnei, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2754552 Kumulatīvās atjaunināšanas pakotne 3 SQL Server 2008 R2 2. servisa pakotneiPiezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 R2 2. servisa pakotnes labošanas laidienā. Iesakām apsvērt jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2730301 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc tam, kad tika izlaista SQL Server 2008 R2 2. servisa pakotne
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".
Risinājums
Lai novērstu šo problēmu, izmantojiet kādu no tālāk norādītajām metodēm.
-
Samazināt lielas kolonnas binārā objekta lielumu
-
No vaicājuma NOŅEMIET NOLOCK atgādinājumu.
-
Samaziniet centrālo procesoru skaitu, ko izmanto SQL Server.