Microsoft distribuerar Microsoft SQL Server 2008 Service Pack 3 (SP3) eller Microsoft SQL Server 2008 R2-korrigeringar som en nedladdnings bar fil. Eftersom de här korrigeringarna är kumulativa innehåller alla nya versioner alla snabb korrigeringar och alla säkerhets uppdateringar som ingick i föregående version av SQL Server 2008 SP3 eller SQL Server 2008 R2.
Symptom
Tänk dig följande situation:
-
Du skapar partitioner för en tabell i SQL Server 2008 eller i SQL Server 2008 R2.
-
Du aktiverar inte komprimering på alla partitioner.
-
Du försöker infoga en post i en ny, Tom partition.
I det här scenariot uppstår ett åtkomst fel och följande fel loggas i SQL Server-felloggen:
<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
Obs! Det här problemet uppstår också i Microsoft SQL Server 2008 R2.
Lösning
Kumulativ uppdaterings information
SQL Server 2008 Service Pack 2
Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 8 för SQL Server 2008 Service Pack 2. Om du vill veta mer om det här kumulativa uppdaterings paketet klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
2648096 Kumulativt uppdaterings paket 8 för SQL Server 2008 Service Pack 2Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008. Microsoft rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2402659 SQL Server 2008-versioner som släpptes efter att SQL Server 2008 Service Pack 2 släpptes Snabb korrigeringar för Microsoft SQL Server 2008 skapas för specifika SQL Server Service Pack. Du måste använda en SQL Server 2008 Service Pack 2 Hotfix för en installation av SQL Server 2008 Service Pack 2. Som standard ingår alla snabb korrigeringar som tillhandahålls i ett Service Pack för SQL Server i nästa SQL Server Service Pack.
SQL Server 2008 R2
Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 11. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet för SQL Server 2008 R2 klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
2633145 Kumulativt uppdaterings paket 11 för SQL Server 2008 R2 Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008 R2. Vi rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
981356 SQL Server 2008 R2-versioner som släpptes efter SQL Server 2008 R2 släpptes
SQL Server 2008 R2 Service Pack 1
Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 4 för SQL Server 2008 R2 Service Pack 1. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
2633146 Kumulativt uppdaterings paket 4 för SQL Server 2008 R2 Service Pack 1Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008 R2. Vi rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2567616 SQL Server 2008 R2-versioner som släpptes efter SQL Server 2008 R2 Service Pack 1 släpptes
SQL Server 2008 Service Pack 3
Korrigeringen för det här problemet släpptes först i det kumulativa uppdaterings paketet 2 för SQL Server 2008 Service Pack 3. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet för SQL Server 2008 Service Pack 3 klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
2633143 Kumulativt uppdaterings paket 2 för SQL Server 2008 Service Pack 3Obs! Eftersom build-versionerna är kumulativa innehåller varje ny uppdaterings version alla snabb korrigeringar och alla säkerhets uppdateringar som ingick med föregående version av SQL Server 2008 Service Pack 3. Vi rekommenderar att du använder den senaste uppdateringen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2629969 SQL Server 2008-versioner som släpptes efter att SQL Server 2008 Service Pack 3 släpptes
Mer information
Så här kontrollerar du om problemet som beskrivs i den här Knowledge Base-artikeln är uppfyllt:
-
Öppna en DAC-anslutning till SQL Server och kör följande fråga:
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)
Obs! I den här frågan är <YourPartitionedTable> en plats hållare för namnet på partitionstabellen.
-
I frågeresultatet kontrollerar du om kolumnen rscolid innehåller ett stort värde. Här är ett exempel på ett stort värde:
rsid
rscolid
hbcolid
rcmodified
TI
Cid
ordkey m
72057594380091392
siffrorna
1
614911578
56
siffrorna
9.4
72057594380091392
Nr
11
614911578
12967
53265
siffrorna
72057594380091392
12,5
14
614911578
32999
53265
siffrorna
72057594380091392
11
0,15
614911578
32999
53265
siffrorna
72057594380091392
14
16.1
614911578
59
siffrorna
siffrorna
72057594380091392
0,15
17.3
614911578
59
siffrorna
siffrorna
72057594380091392
17.3
18.3
614911578
1834
siffrorna
siffrorna
72057594380091392
67108865
19.1
614911578
19627
53625
siffrorna
72057594380091392
22
23
614911578
56
siffrorna
siffrorna
72057594380091392
23
24.3
614911578
10407
53625
siffrorna
72057594380091392
24.3
250
614911578
662636
siffrorna
siffrorna
I det här exemplet är 67108865 betydligt större än andra. Det visar att det problem som beskrivs i den här Knowledge Base-artikeln är uppfyllt.
Undvik det här problemet genom att återskapa de berörda partitionerna. Kontakta Microsoft Support för att ta reda på vilka partitioner som är inblandade. Du kan också återskapa alla partitioner med följande fråga:
ALTER INDEX <your_table_index>ON <your_table_name>REBUILD Partition = allGO
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".