Microsoft distributes Microsoft SQL Server 2008 Service Pack 3 (SP3) or Microsoft SQL Server 2008 R2 fixes as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security updates that were included with the previous SQL Server 2008 SP3 or SQL Server 2008 R2 update release.
Symptoms
Consider the following scenario:
-
You create partitions for a table in SQL Server 2008 or in SQL Server 2008 R2.
-
You do not enable compression on all the partitions.
-
You try to insert a record into a new empty partition.
In this scenario, an access violation occurs and the following error is logged in the SQL Server error log:
<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
Note This issue also occurs in Microsoft SQL Server 2008 R2.
Resolution
Cumulative update information
SQL Server 2008 Service Pack 2
The fix for this issue was first released in Cumulative Update 8 for SQL Server 2008 Service Pack 2. For more information about this cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base:
2648096 Cumulative update package 8 for SQL Server 2008 Service Pack 2Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 fix release. Microsoft recommends that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2402659 The SQL Server 2008 builds that were released after SQL Server 2008 Service Pack 2 was released Microsoft SQL Server 2008 hotfixes are created for specific SQL Server service packs. You must apply a SQL Server 2008 Service Pack 2 hotfix to an installation of SQL Server 2008 Service Pack 2. By default, any hotfix that is provided in a SQL Server service pack is included in the next SQL Server service pack.
SQL Server 2008 R2
The fix for this issue was first released in Cumulative Update 11. For more information about how to obtain this cumulative update package for SQL Server 2008 R2, click the following article number to view the article in the Microsoft Knowledge Base:
2633145 Cumulative Update package 11 for SQL Server 2008 R2 Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
981356 The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 was released
SQL Server 2008 R2 Service Pack 1
The fix for this issue was first released in Cumulative Update 4 for SQL Server 2008 R2 Service Pack 1. For more information about how to obtain this cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base:
2633146 Cumulative Update package 4 for SQL Server 2008 R2 Service Pack 1Note Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 R2 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2567616 The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 Service Pack 1 was released
SQL Server 2008 Service Pack 3
The fix for this issue was first released in cumulative update package 2 for SQL Server 2008 Service Pack 3. For more information about how to obtain this cumulative update package for SQL Server 2008 Service Pack 3, click the following article number to view the article in the Microsoft Knowledge Base:
2633143 Cumulative update package 2 for SQL Server 2008 Service Pack 3Note Because the builds are cumulative, each new update release contains all the hotfixes and all the security updates that were included with the previous SQL Server 2008 Service Pack 3 update release. We recommend that you consider applying the most recent update release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
2629969 The SQL Server 2008 builds that were released after SQL Server 2008 Service Pack 3 was released
More Information
To confirm whether you are experiencing the issue that is described in this knowledge base article, follow these steps:
-
Open a DAC connection to SQL Server, and run the following query:
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)Note In this query, <YourPartitionedTable> is a placeholder for your partition table name.
-
In the output of the query, check whether the rscolid column contains a large value. The following is an example of such a large value:
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 this example, the value of 67108865 is significantly larger than others. This indicates that you are experiencing the issue that is described in this knowledge base article.
To work around this issue, rebuild the affected partitions. Please contact Microsoft Support to find out what partitions are involved. Or, you can rebuild all partitions by using the following query:
ALTER INDEX <your_table_index>
ON <your_table_name> REBUILD Partition = all GO
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.