Společnost Microsoft distribuuje Microsoft SQL Server 2008 Service Pack 3 (SP3) nebo Microsoft SQL Server 2008 R2 opravy jako jeden soubor ke stažení. Protože jsou opravy kumulativní, každá nová verze obsahuje všechny opravy hotfix a všechny aktualizace zabezpečení, které byly součástí předchozí verze aktualizace SQL Server 2008 SP3 nebo SQL Server 2008 R2 Update.
Příznaky
Zvažte následující scénář:
-
Vytvoříte oddíly pro tabulku v SQL serveru 2008 nebo v SQL serveru 2008 R2.
-
U všech oddílů se nepovoluje komprese.
-
Pokusili jste se vložit záznam do nového prázdného oddílu.
V tomto scénáři dojde k porušení přístupu a do protokolu chyb SQL serveru se zaznamená následující chyba:
<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
Poznámka K tomuto problému dochází taky v Microsoft SQL serveru 2008 R2.
Řešení
Informace o kumulativní aktualizaci
SQL Server 2008 Service Pack 2
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 8 pro SQL Server 2008 Service Pack 2. Další informace o tomto kumulativním balíčku aktualizací najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2648096 Kumulativní aktualizace 8 pro SQL Server 2008 Service Pack 2Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 Oprava. Společnost Microsoft doporučuje zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
2402659 Buildy SQL Server 2008, které byly vydány po vydání SQL Server 2008 Service Pack 2 Pro určité aktualizace SQL serveru jsou vytvořené opravy hotfix Microsoft SQL serveru 2008. Na instalaci SQL serveru 2008 Service Pack 2 musíte použít opravu hotfix systému SQL Server 2008 Service Pack 2. Ve výchozím nastavení je každá oprava hotfix, která je součástí aktualizace Service Pack systému SQL Server, součástí další aktualizace Service Pack systému SQL Server.
SQL Server 2008 R2
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 11. Další informace o tom, jak získat tento kumulativní balíček aktualizací pro SQL Server 2008 R2, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2633145 Kumulativní aktualizace 11 pro SQL Server 2008 R2 Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 R2 fix release. Doporučujeme zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
981356 Buildy SQL Server 2008 R2 vydaná po vydání SQL serveru 2008 R2
SQL Server 2008 R2 Service Pack 1
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci 4 pro SQL Server 2008 R2 Service Pack 1. Další informace o tom, jak získat tento kumulativní balíček aktualizací, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2633146 Kumulativní aktualizace 4 pro SQL Server 2008 R2 Service Pack 1Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová oprava obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozího SQL serveru 2008 R2 fix release. Doporučujeme zvážit použití nejnovější opravy, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
2567616 Sestavení SQL Server 2008 R2, která byla vydána po SQL serveru 2008 R2 Service Pack 1, byla vydána
SQL Server 2008 Service Pack 3
Oprava pro tento problém byla poprvé vydána v kumulativní aktualizaci pro SQL Server 2008 Service Pack 3. Další informace o tom, jak získat tento kumulativní balíček aktualizací pro SQL Server 2008 Service Pack 3, najdete v následujícím článku znalostní báze Microsoft Knowledge Base:
2633143 Kumulativní aktualizace 2 pro SQL Server 2008 Service Pack 3Poznámka Vzhledem k tomu, že buildy jsou kumulativní, každá nová aktualizace obsahuje všechny opravy hotfix a všechny aktualizace zabezpečení, které byly součástí předchozí verze aktualizace SQL Server 2008 Service Pack 3. Doporučujeme zvážit použití nejnovější aktualizace, která obsahuje tuto opravu hotfix. Další informace naleznete v následujícím článku znalostní báze Microsoft Knowledge Base:
2629969 Buildy SQL Server 2008, které byly vydány po vydání SQL Server 2008 Service Pack 3
Další informace
Chcete-li ověřit, zda dochází k problému popsanému v tomto článku znalostní báze Knowledge Base, postupujte takto:
-
Otevřete připojení DAC na SQL Server a spusťte následující dotaz:
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)
Poznámka V tomto dotazu <YourPartitionedTable> zástupný symbol pro název tabulky oddílu.
-
Ve výstupu dotazu zkontrolujte, jestli sloupec rscolid neobsahuje velkou hodnotu. Zde je příklad velké hodnoty:
rsid
rscolid
hbcolid
rcmodified
či
identifikátor CID
ordkey m
72057594380091392
0,30
0,1
614911578
56
0,30
čtyř
72057594380091392
11
13
614911578
12967
53265
0,30
72057594380091392
12měsíční
14
614911578
32999
53265
0,30
72057594380091392
13
0,15
614911578
32999
53265
0,30
72057594380091392
14
15
614911578
59
0,30
0,30
72057594380091392
0,15
sedmnáct
614911578
59
0,30
0,30
72057594380091392
sedmnáct
osmnáct
614911578
1834
0,30
0,30
72057594380091392
67108865
odstavec
614911578
19627
53625
0,30
72057594380091392
26
listopadu
614911578
56
0,30
0,30
72057594380091392
listopadu
čl
614911578
10407
53625
0,30
72057594380091392
čl
24
614911578
662636
0,30
0,30
V tomto příkladu je hodnota 67108865 podstatně větší než ostatní. Znamená to, že se vyskytl problém popsaný v tomto článku znalostní báze Knowledge Base.
Tento problém vyřešíte tak, že znovu vytvoříte ovlivněné oddíly. Kontaktujte podporu Microsoftu a zjistěte, jaké oddíly se vás týkají. Můžete taky znovu sestavit všechny oddíly pomocí následujícího dotazu:
ALTER INDEX <your_table_index>ON <your_table_name>REBUILD Partition = allGO
Stav
Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.