Pierakstīties, izmantojot Microsoft
Pierakstīties vai izveidot kontu
Sveicināti!
Atlasīt citu kontu.
Jums ir vairāki konti
Izvēlieties kontu, ar kuru vēlaties pierakstīties.

Simptomi

Iedomājieties šādu scenāriju:

  • Varat ievietot daudzas rindas tabulā programmā Microsoft SQL Server 2008 vai SQL Server 2008 R2, izmantojot kādu no šiem vaicājumiem:

    • INSERT INTO <target_table> SELECT * FROM <target_table> WHERE <predicate>
    • SELECT * INTO <target_table> FROM <source_table> WHERE <predicate>

    Piezīmes.

    • <target_table> vietturis apzīmē faktisko tabulas nosaukumu.

    • <predikātu> vietturis apzīmē reālo predikātu.

    • <source_table> vietturis apzīmē reālo avota tabulu.

  • Tiek pārsniegts tabulas bloķēšanas slieksnis.

Šajā scenārijā datu bāzes programma nemaina tabulas slēdzenes.

Cēlonis

Šī problēma rodas tāpēc, ka SQL Server iekšēji neskaitīs visas jaunās slēdzenes, kuras ģenerēja ievietošanas darbības. Tādējādi bloķēšanas eskalācijas slieksnis, iespējams, netiek izraisīts, ja tas ir nepieciešams.

Risinājums

Informācija par servisa pakotnes SQL Server 2008

Lai atrisinātu šo problēmu, iegūstiet jaunāko SQL Server 2008 servisa pakotni. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

968382 Jaunākās SQL Server 2008 servisa pakotnes iegūšana

Informācija par servisa pakotni SQL Server 2008 R2

Lai atrisinātu šo problēmu, iegūstiet jaunāko SQL Server 2008 R2 servisa pakotni. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2527041Jaunākās SQL Server 2008 R2 servisa pakotnes iegūšana

Statusa

Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".Šī problēma pirmo reizi tika izlabota SQL Server 2008 2. servisa pakotnē SQL Server 2008. Šī problēma pirmo reizi tika izlabota SQL Server 2008 R2 1. servisa pakotnē SQL Server 2008 R2.

Papildinformācija

Lai iegūtu papildinformāciju par bloķēšanas eskalāciju, apmeklējiet šo Microsoft TechNet tīmekļa vietni:

Vispārēja informācija par bloķēšanas eskalācijuLai noteiktu, vai tabulas slēdzenes tiek izvērstas, izpildiet tālāk norādītās Transact-SQL priekšrakstus.

USE tempdbGOCREATE TABLE x (i INT NOT NULL PRIMARY KEY)GOBEGIN TRANINSERT xSELECT TOP (40000)ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS rFROM master..spt_values a, master..spt_values bORDER BYrSELECTCOUNT(*)FROM sys.dm_tran_locksWHERE request_session_id = @@SPID ROLLBACKGODROP TABLE x 

Ja tabulas slēdzenes tiek izvērstas, pēdējais priekšraksts SELECT atgriež vērtību no 1 vai 2. Ja tabulas slēdzenes netiek izvērstas, pēdējā priekšraksta SELECT atgriež vērtību no 40 066 vai 40 067.

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.

Kopienas palīdz uzdot jautājumus un atbildēt uz tiem, sniegt atsauksmes, kā arī saņemt informāciju no ekspertiem ar bagātīgām zināšanām.

Vai šī informācija bija noderīga?

Cik lielā mērā esat apmierināts ar valodas kvalitāti?
Kas ietekmēja jūsu pieredzi?
Nospiežot Iesniegt, jūsu atsauksmes tiks izmantotas Microsoft produktu un pakalpojumu uzlabošanai. Jūsu IT administrators varēs vākt šos datus. Paziņojums par konfidencialitāti.

Paldies par jūsu atsauksmēm!

×