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.
-
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.
-
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".