KB2629456-FIX: SQL Server 2008 または SQL Server 2008 R2 で、新しい空のパーティションにレコードを挿入するとアクセス違反が発生する

Microsoft SQL Server 2008 Service Pack 3 (SP3) または Microsoft SQL Server 2008 R2 の修正プログラムは、1つのダウンロード可能なファイルとして配布されます。 修正プログラムは累積的であるため、新しいリリースごとに、以前の SQL Server 2008 SP3 または SQL Server 2008 R2 更新プログラムのリリースに含まれていたすべての修正プログラムとセキュリティ更新プログラムが含まれています。

現象

次のような状況で問題が発生します。

  • SQL Server 2008 または SQL Server 2008 R2 で、テーブルのパーティションを作成します。

  • すべてのパーティションの圧縮を有効にすることはできません。

  • 新しい空のパーティションにレコードを挿入しようとしています。

このシナリオでは、アクセス違反が発生し、次のエラーが SQL Server のエラーログに記録されます。

<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 

注: この問題は、Microsoft SQL Server 2008 R2 でも発生します。

解決方法

累積的な更新プログラムの情報

SQL Server 2008 Service Pack 2

この問題の修正プログラムは、SQL Server 2008 Service Pack 2 の累積更新プログラム8で最初にリリースされました。この累積的な更新プログラムパッケージの詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

2648096 累積的な更新プログラムパッケージ 8 (SQL Server 2008 Service Pack 2)注: ビルドは累積的であるため、それぞれの新しい修正プログラムには、以前の SQL Server 2008 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2402659 SQL Server 2008 Service Pack 2 がリリースされた後にリリースされた SQL Server 2008 ビルド Microsoft SQL Server 2008 修正プログラムは、特定の SQL Server サービスパック用に作成されます。 Sql server 2008 Service Pack 2 をインストールするには、SQL Server 2008 Service Pack 2 の修正プログラムを適用する必要があります。 既定では、SQL Server service pack に含まれているすべての修正プログラムは、次の SQL Server service pack に含まれています。

SQL Server 2008 R2

この問題の修正プログラムは、累積更新プログラム11で最初にリリースされました。SQL Server 2008 R2 用の累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

2633145 SQL Server 2008 R2 の累積更新プログラムパッケージ11 注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

981356 SQL Server 2008 R2 のリリース後にリリースされた SQL Server 2008 R2 ビルド

SQL Server 2008 R2 Service Pack 1

この問題の修正プログラムは、SQL Server 2008 R2 Service Pack 1 の累積更新プログラム4で最初にリリースされました。この累積的な更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

2633146 SQL Server 2008 R2 Service Pack 1 の累積更新プログラムパッケージ4注: ビルドは累積的であるため、各新しい修正プログラムには、以前の SQL Server 2008 R2 fix release に含まれていたすべての修正プログラムとセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラムを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2567616 SQL Server 2008 R2 Service Pack 1 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド

SQL Server 2008 Service Pack 3

この問題の修正プログラムは、SQL Server 2008 Service Pack 3 の累積的な更新プログラムパッケージ2で最初にリリースされました。SQL Server 2008 Service Pack 3 用の累積更新プログラムパッケージの入手方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を参照してください。

2633143 SQL Server 2008 Service Pack 3 の累積的な更新プログラムパッケージ2注: ビルドは累積的であるため、新しい更新プログラムの各リリースには、以前の SQL Server 2008 Service Pack 3 の更新プログラムに含まれていたすべての修正プログラムとセキュリティ更新プログラムが含まれています。 この修正プログラムを含む最新の更新プログラムのリリースを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。

2629969 SQL Server 2008 Service Pack 3 がリリースされた後にリリースされた SQL Server 2008 ビルド

詳細情報

このサポート技術情報の記事で説明されている問題が発生しているかどうかを確認するには、次の手順を実行します。

  1. SQL Server への DAC 接続を開いて、次のクエリを実行します。

    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) 

    注: このクエリでは、パーティションテーブル名のプレースホルダーとして、Partitionedtable> <ます。

  2. クエリの出力で、 rscolid 列に大きい値が含まれているかどうかを確認します。 次に大きい値の例を示します。

    rsid

    rscolid

    hbcolid

    rcmodified

    ti

    cid

    ordkey m

    72057594380091392

    0

    614911578

    56

    0

    4d

    72057594380091392

    折り

    14

    614911578

    12967

    53265

    0

    72057594380091392

    以内

    14

    614911578

    32999

    53265

    0

    72057594380091392

    14

    マート

    614911578

    32999

    53265

    0

    72057594380091392

    14

    16

    614911578

    59

    0

    0

    72057594380091392

    マート

    18

    614911578

    59

    0

    0

    72057594380091392

    18

    614911578

    1834

    0

    0

    72057594380091392

    67108865

    #

    614911578

    19627

    53625

    0

    72057594380091392

    22

    最高

    614911578

    56

    0

    0

    72057594380091392

    最高

    24

    614911578

    10407

    53625

    0

    72057594380091392

    24

    50

    614911578

    662636

    0

    0

この例では、67108865の値が他よりも大きく大きくなっています。 これは、このサポート技術情報の記事で説明されている問題が発生していることを示します。

この問題を回避するには、影響を受けるパーティションを再構築します。 関連するパーティションについては、Microsoft サポートにお問い合わせください。 または、次のクエリを使用して、すべてのパーティションを再構築することができます。

ALTER INDEX <your_table_index>ON <your_table_name>REBUILD Partition = allGO 

状態

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

フィードバックをお送りいただきありがとうございます!

×