Microsoft vertreibt Microsoft SQL Server 2008 Service Pack 3 (SP3) oder Microsoft SQL Server 2008 R2-Fixes als eine herunterladbare Datei. Da die Fixes kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen SQL Server 2008 SP3-oder SQL Server 2008 R2-Update Version enthalten waren.
Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
-
Sie erstellen Partitionen für eine Tabelle in SQL Server 2008 oder in SQL Server 2008 R2.
-
Sie aktivieren keine Komprimierung für alle Partitionen.
-
Sie versuchen, einen Datensatz in eine neue leere Partition einzufügen.
In diesem Szenario tritt eine Zugriffsverletzung auf, und der folgende Fehler wird im SQL Server-Fehlerprotokoll protokolliert:
<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
Hinweis Dieses Problem tritt auch in Microsoft SQL Server 2008 R2 auf.
Fehlerbehebung
Informationen zum kumulativen Update
SQL Server 2008 Service Pack 2
Der Fix für dieses Problem wurde erstmals im kumulativen Update 8 für SQL Server 2008 Service Pack 2 veröffentlicht. Wenn Sie weitere Informationen zu diesem kumulativen Updatepaket erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2648096 Kumulatives Updatepaket 8 für SQL Server 2008 Service Pack 2Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen Version von SQL Server 2008 behoben wurden. Microsoft empfiehlt, die neueste Fix-Version zu verwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
2402659 Die SQL Server 2008-Builds, die nach der Veröffentlichung von SQL Server 2008 Service Pack 2 veröffentlicht wurden Microsoft SQL Server 2008-Hotfixes werden für bestimmte SQL Server-Service Packs erstellt. Sie müssen einen SQL Server 2008 Service Pack 2-Hotfix auf eine Installation von SQL Server 2008 Service Pack 2 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server-Service Pack bereitgestellt wird, im nächsten SQL Server-Service Pack enthalten.
SQL Server 2008 R2
Der Fix für dieses Problem wurde erstmals im kumulativen Update 11 veröffentlicht. Wenn Sie weitere Informationen zum beziehen dieses kumulativen Updatepakets für SQL Server 2008 R2 benötigen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2633145 Kumulatives Update Paket 11 für SQL Server 2008 R2 Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die mit der vorherigen Version von SQL Server 2008 R2 behoben wurden. Wir empfehlen, dass Sie die neueste Fix-Version anwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
981356 Die SQL Server 2008 R2-Builds, die nach der Veröffentlichung von SQL Server 2008 R2 veröffentlicht wurden
SQL Server 2008 R2 Service Pack 1
Der Fix für dieses Problem wurde erstmals im kumulativen Update 4 für SQL Server 2008 R2 Service Pack 1 veröffentlicht. Wenn Sie weitere Informationen zum Abrufen dieses kumulativen Updatepakets benötigen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2633146 Kumulatives Update Paket 4 für SQL Server 2008 R2 Service Pack 1Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die mit der vorherigen Version von SQL Server 2008 R2 behoben wurden. Wir empfehlen, dass Sie die neueste Fix-Version anwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
2567616 Die SQL Server 2008 R2-Builds, die nach dem Veröffentlichen von SQL Server 2008 R2 Service Pack 1 veröffentlicht wurden
SQL Server 2008 Service Pack 3
Die Lösung für dieses Problem wurde erstmals im kumulativen Updatepaket 2 für SQL Server 2008 Service Pack 3 veröffentlicht. Wenn Sie weitere Informationen zum beziehen dieses kumulativen Updatepakets für SQL Server 2008 Service Pack 3 erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base zu lesen:
2633143 Kumulatives Updatepaket 2 für SQL Server 2008 Service Pack 3Hinweis Da die Builds kumulativ sind, enthält jede neue Update Version alle Hotfixes und alle Sicherheitsupdates, die im vorherigen SQL Server 2008 Service Pack 3-Update veröffentlicht wurden. Wir empfehlen, die neueste Update Version zu verwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
2629969 Die SQL Server 2008-Builds, die nach der Veröffentlichung von SQL Server 2008 Service Pack 3 veröffentlicht wurden
Weitere Informationen
Führen Sie die folgenden Schritte aus, um zu überprüfen, ob das in diesem Knowledge Base-Artikel beschriebene Problem auftritt:
-
Öffnen Sie eine DAC-Verbindung mit SQL Server, und führen Sie die folgende Abfrage aus:
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)
Hinweis In dieser Abfrage ist <YourPartitionedTable> ein Platzhalter für den Partitionstabellen Namen.
-
Überprüfen Sie in der Ausgabe der Abfrage, ob die Spalte rscolid einen hohen Wert enthält. Der folgende Code ist ein Beispiel für einen derart hohen Wert:
RSID
rscolid
hbcolid
rcmodified
TI
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
In diesem Beispiel ist der Wert von 67108865 deutlich größer als andere. Dies zeigt an, dass das Problem auftritt, das in diesem Knowledge Base-Artikel beschrieben wird.
Um dieses Problem zu umgehen, erstellen Sie die betroffenen Partitionen neu. Bitte wenden Sie sich an den Microsoft-Support, um herauszufinden, welche Partitionen betroffen sind. Oder Sie können alle Partitionen mithilfe der folgenden Abfrage neu erstellen:
ALTER INDEX <your_table_index>ON <your_table_name>REBUILD Partition = allGO
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.