Update: Zugriffsverletzung beim Einfügen eines Datensatzes in eine neue, leere Partition, in SQL Server 2008 oder SQL Server 2008 R2

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 2629456 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Microsoft vertreibt Microsoft SQL Server 2008 Service Pack 3 (SP3) oder Microsoft SQL Server 2008 R2 als downloadbare Datei behebt. Da die Updates kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die mit der vorherigen SQL Server 2008 SP3 oder SQL Server 2008 R2 enthalten waren update-Release.

Problembeschreibung

Betrachten Sie das folgende Szenario:
  • Sie können Partitionen für eine Tabelle erstellen, in SQL Server 2008 oder SQL Server 2008 R2.
  • Aktivieren Sie die Komprimierung auf allen Partitionen nicht.
  • Sie versuchen, einen Datensatz in eine neue, leere Partition einzufügen.
In diesem Szenario tritt eine Zugriffsverletzung auf, und die folgende Fehlermeldung 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.

Lösung

Kumulatives Update-Informationen

SQL Server 2008 Servicepack 2

Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Update 8 für SQL Server 2008 Service Pack 2 veröffentlicht. Weitere Informationen zu diesem kumulativen Update-Paket finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2648096 Kumulatives Updatepaket 8 für SQL Server 2008 Service Pack 2
Hinweis Da die Builds kumulativ sind, enthält jede neue Update-Version alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2008 geliefert wurden beheben Version. Microsoft empfiehlt, dass Sie in Betracht ziehen, die neueste Version, die diesen Hotfix enthält anzuwenden. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2402659 Die SQL Server 2008 erstellt, die nach dem SQL Server 2008 Service Pack 2 veröffentlicht wurden
Microsoft SQL Server-2008-Hotfixes sind für bestimmte SQL Server Servicepacks 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 Servicepack bereitgestellt wird in das nächste Servicepack für SQL Server enthalten.

SQL Server 2008 R2

Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Update 11 veröffentlicht. Weitere Informationen dazu, wie Sie dieses kumulative Updatepaket für SQL Server 2008 R2 zu erhalten finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2633145 Kumulatives Updatepaket 11 für SQL Server 2008 R2
Hinweis Da die Builds kumulativ sind, enthält jede neue Update-Version alle Hotfixes und alle Sicherheitsupdates, die mit der vorherigen SQL Server 2008 R2 geliefert wurden beheben Version. Es wird empfohlen, dass Sie in Betracht ziehen, die neueste Version, die diesen Hotfix enthält anzuwenden. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
981356 Die SQL Server 2008 R2 erstellt, die nach der Freigabe SQL Server 2008 R2

SQL Server 2008 R2 Servicepack 1

Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Update 4 für SQL Server 2008 R2 Service Pack 1 veröffentlicht. Weitere Informationen dazu, wie Sie dieses kumulative Updatepaket beziehen finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2633146 Kumulatives Updatepaket 4 für SQL Server 2008 R2 Service Pack 1
Hinweis Da die Builds kumulativ sind, enthält jede neue Update-Version alle Hotfixes und alle Sicherheitsupdates, die mit der vorherigen SQL Server 2008 R2 geliefert wurden beheben Version. Es wird empfohlen, dass Sie in Betracht ziehen, die neueste Version, die diesen Hotfix enthält anzuwenden. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2567616 Die SQL Server 2008 R2 erstellt, die nach dem SQL Server 2008 R2 Service Pack 1 veröffentlicht wurden

SQL Server 2008 Servicepack 3

Die Fehlerbehebung für dieses Problem wurde zuerst im Kumulatives Updatepaket 2 für SQL Server 2008 Service Pack 3 veröffentlicht. Weitere Informationen dazu, wie Sie dieses kumulative Updatepaket für SQL Server 2008 Service Pack 3 zu erhalten finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2633143 Kumulatives Updatepaket 2 für SQL Server 2008 Service Pack 3
Hinweis Da die Builds kumulativ sind, enthält jede neue Update-Version alle Hotfixes und alle Sicherheitsupdates, die mit der vorherigen SQL Server 2008 Service Pack 3 enthalten waren update-Release. Es wird empfohlen, dass Sie in Betracht ziehen Anwenden der neuesten Update-Version, die diesen Hotfix enthält. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2629969 Die SQL Server 2008 erstellt, die nach dem SQL Server 2008 Service Pack 3 veröffentlicht wurden

Weitere Informationen

Gehen Sie folgendermaßen vor, um zu bestätigen, ob Sie das Problem auftritt, das in diesem Knowledge Base-Artikel beschrieben wird:
  1. Öffnen Sie eine DAC-Verbindung zu SQL Server, und führen Sie die folgende Abfrage:
    Use <your_db_name>
    
    select * from sys.sysrscols rsc where rsc.rsid in 
    
    ( select sau.container_id
    
    from sys.system_internals_allocation_units sau 
    
    join sys.partitions pt 
    
    on sau.container_id = pt.partition_id
    
    and pt.object_id = object_id(<YourPartitionedTable>) 
    
    and pt.index_id = 1)
    Hinweis In dieser Abfrage <YourPartitionedTable>ist ein Platzhalter für Ihre Partition Table Name.</YourPartitionedTable>
  2. In der Ausgabe der Abfrage zu überprüfen, ob die rscolid Spalte enthält einen großen Wert. Es folgt ein Beispiel für einen so großen Wert:
    Tabelle minimierenTabelle vergrößern
    RSID rscolid hbcolid rcmodified ti CID Ordkey m
    72057594380091392 016149115785604
    72057594380091392111361491157812967532650
    72057594380091392121461491157832999532650
    72057594380091392 131561491157832999532650
    72057594380091392 14166149115785900
    72057594380091392 15176149115785900
    72057594380091392 1718614911578183400
    72057594380091392 671088651961491157819627536250
    72057594380091392 22236149115785600
    72057594380091392 232461491157810407536250
    72057594380091392 242561491157866263600
In diesem Beispiel wird der Wert der 67108865 erheblich größer ist als andere. Dies gibt an, dass Sie das Problem auftritt, das in diesem Knowledge Base-Artikel beschrieben wird.

Abhilfe

Um dieses Problem zu umgehen, erstellen Sie die betroffenen Partitionen neu. Wenden Sie sich an Microsoft Support, um herauszufinden, welche Partitionen betroffen sind. Oder Sie können alle Partitionen neu erstellen, mit die folgende Abfrage:
ALTER INDEX <your_table_index>

ON <your_table_name>

REBUILD Partition = all

GO

Status

Microsoft hat bestätigt, dass dieses Problem auf die im Abschnitt "Gilt für" aufgeführten Microsoft-Produkte zutrifft.

Eigenschaften

Artikel-ID: 2629456 - Geändert am: Montag, 16. Januar 2012 - Version: 2.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
Keywords: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2629456 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 2629456
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com