KB2629456 Labojums: piekļuves pārkāpums, kad ievietojat ierakstu jaunā tukšā nodalījumā SQL Server 2008 vai SQL Server 2008 R2

Microsoft izplata Microsoft SQL Server 2008 3. servisa pakotni (SP3) vai Microsoft SQL Server 2008 R2 labojumus kā vienu lejupielādējamo failu. Tā kā labojumi ir kumulatīvi, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības atjauninājumi, kas iekļauti iepriekšējā SQL Server 2008 SP3 vai SQL Server 2008 R2 atjauninājumu laidienā.

Simptomi

Iedomājieties šādu scenāriju:

  • Varat izveidot nodalījumus tabulai SQL Server 2008 vai SQL Server 2008 R2.

  • Nav iespējota saspiešana visos nodalījumos.

  • Jūs mēģināt ievietot ierakstu jaunā tukšā nodalījumā.

Šajā scenārijā tiek parādīts piekļuves pārkāpums, un SQL Server kļūdu žurnālā tiek reģistrēts šāds kļūdas ziņojums:

<Date> <Time> spid##      ***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\LOG\SQLDump0001.txt<Date> <Time> spid##      SqlDumpExceptionHandler: Process 66 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.<Date> <Time> spid##      * BEGIN STACK DUMP:<Date> <Time> spid##      *  Exception Address = 0000000000C37D22 Module(sqlservr+0000000000137D22)<Date> <Time> spid##      *  Exception Code    = c0000005 EXCEPTION_ACCESS_VIOLATION<Date> <Time> spid##      *  Access Violation occurred reading address 0000000000000020 

Piezīme. Šī problēma rodas arī programmā Microsoft SQL Server 2008 R2.

Risinājums

Kumulatīvās atjaunināšanas informācija

SQL Server 2008 2. servisa pakotne

Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 8 SQL Server 2008 2. servisa pakotnei. Lai iegūtu papildinformāciju par šo kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2648096 Kumulatīvās atjaunināšanas pakotne 8 SQL Server 2008 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 labošanas laidienā. Microsoft iesaka, ka apsveriet iespēju lietot 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:

2402659 SQL Server 2008 būvējumi, kas tika izlaisti pēc tam, kad tika izlaista SQL Server 2008 2. servisa pakotne Microsoft SQL Server 2008 labojumfaili tiek izveidoti specifiskām SQL Server servisa pakotnēm. SQL Server 2008 2. servisa pakotnes labojumfails ir jālieto SQL Server 2008 2. servisa pakotnes instalēšanai. Pēc noklusējuma visi labojumfaili, kas tiek nodrošināti SQL Server servisa pakotnē, ir iekļauti nākamajā SQL Server servisa pakotnē.

SQL Server 2008 R2

Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 11. Lai iegūtu papildinformāciju par to, kā iegūt SQL Server 2008 R2 kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2633145 Kumulatīvās atjaunināšanas pakotne 11 SQL Server 2008 R2 Piezī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 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:

981356 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2008 R2

SQL Server 2008 R2 1. servisa pakotne

Šīs problēmas labojums pirmo reizi tika izlaists SQL Server 2008 R2 1. servisa pakotnei, kas tiek izmantota kumulatīvajā atjauninājumā 4. Lai iegūtu papildinformāciju par to, kā iegūt šo kumulatīvo atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2633146 Kumulatīvās atjaunināšanas pakotne 4 SQL Server 2008 R2 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 2008 R2 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:

2567616 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc tam, kad tika izlaista SQL Server 2008 R2 1. servisa pakotne

SQL Server 2008 3. servisa pakotne

Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvo atjauninājumu pakotnē 2 SQL Server 2008 3. servisa pakotnei. Lai iegūtu papildinformāciju par to, kā iegūt šo kumulatīvo atjaunināšanas pakotni SQL Server 2008 3. servisa pakotnei, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2633143 Kumulatīvās atjaunināšanas pakotne 2 SQL Server 2008 3. servisa pakotneiPiezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā atjauninājumu laidienā ir iekļauti visi labojumfaili un visi drošības atjauninājumi, kas iekļauti iepriekšējā SQL Server 2008 3. servisa pakotnē. Iesakām apsvērt jaunāko atjauninājumu 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:

2629969 SQL Server 2008 būvējumi, kas tika izlaisti pēc SQL Server 2008 3. servisa pakotnes izlaišanas

Papildinformācija

Lai pārliecinātos, vai rodas problēma, kas ir aprakstīta šajā zināšanu bāzes rakstā, veiciet tālāk norādītās darbības.

  1. Atveriet DAC savienojumu ar SQL Server un izpildiet šādu vaicājumu:

    Use <your_db_name>select * from sys.sysrscols rsc where rsc.rsid in ( select sau.container_idfrom sys.system_internals_allocation_units sau join sys.partitions pt on sau.container_id = pt.partition_idand pt.object_id = object_id(<YourPartitionedTable>) and pt.index_id = 1) 

    Piezīme. Šajā vaicājumā <YourPartitionedTable> ir jūsu nodalījuma tabulas nosaukuma vietturis.

  2. Vaicājuma izvadē pārbaudiet, vai kolonnā rscolid ir liela vērtība. Tālāk ir sniegts šādas lielas vērtības piemērs:

    rsid

    rscolid

    hbcolid

    rcmodified

    IE

    CID

    ordkey m

    72057594380091392

    0

    1

    614911578

    56

    0

    4

    72057594380091392

    11

    13

    614911578

    12967

    53265

    0

    72057594380091392

    12

    14

    614911578

    32999

    53265

    0

    72057594380091392

    13

    15

    614911578

    32999

    53265

    0

    72057594380091392

    14

    16

    614911578

    59

    0

    0

    72057594380091392

    15

    17

    614911578

    59

    0

    0

    72057594380091392

    17

    18

    614911578

    1834

    0

    0

    72057594380091392

    67108865

    19

    614911578

    19627

    53625

    0

    72057594380091392

    22

    23

    614911578

    56

    0

    0

    72057594380091392

    23

    24

    614911578

    10407

    53625

    0

    72057594380091392

    24

    25

    614911578

    662636

    0

    0

Šajā piemērā 67108865 vērtība ir ievērojami lielāka nekā citiem. Tas norāda, ka rodas problēma, kas ir aprakstīta šajā zināšanu bāzes rakstā.

Lai novērstu šo problēmu, atkārtoti izveidojiet ietekmētos nodalījumus. Lūdzu, sazinieties ar Microsoft atbalsta dienestu, lai uzzinātu, kādi ir starpsienas. Varat arī atkārtoti izveidot visus nodalījumus, izmantojot šādu vaicājumu:

ALTER INDEX <your_table_index>ON <your_table_name>REBUILD Partition = allGO 

Statusa

Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×