修正: メタデータの不整合エラー後、テーブルのパーティションを切り替えるし、対応するファイルとファイル グループを削除します。

重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。

英語版 KB:3095958
現象
次のような状況を考えます。
  • Microsoft SQL Server の 2014 年に 2 つのパーティション テーブルがあるし、最初のテーブルのパーティションが同じパーティション スキームと関数を使用して別のファイルとファイル グループにマップされます。
  • 2 番目のテーブルにこれらのパーティションの 1 つを切り替えるし、2 番目のテーブルが切り捨てられます。
  • ファイルとスイッチのパーティションにマップされるファイル グループを削除するとします。
  • 2 番目のテーブルに SELECT ステートメントを実行するとします。
この場合、次のようなエラー メッセージが表示されます。

606 のメッセージ、レベル 21、状態 1
メタデータに不整合があります。ファイル グループ idファイル グループ id> テーブルの指定テーブル名> がありません。CHECKCATALOG DBCC CHECKDB を実行します。

CHECKTABLE と DBCC CHECKDB を実行すると、次のエラー メッセージが表示されます。

インデックスを処理できません。IndexName> テーブルのテーブル名> ため (ファイル グループ ID のファイル グループFileGroupNumber>) を使用することはできません。
解決方法
問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。 SQL Server 用の最新の累積的な更新をインストールする推奨事項。
SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていた、すべての修正プログラムおよびすべてのセキュリティ更新プログラムが含まれています。ダウンロードして、SQL Server の最新の累積的な更新プログラムをインストールすることをお勧めします。


注: <b>この修正プログラムでは、今後この問題がなくなるだけです。既にこの問題が発生する場合、既存のメタデータの破損のない新しいデータベースにデータをエクスポートします。これを行うには、以下の手順を実行します。
  1. パーティションが、無効なファイル グループを持つかどうかを確認するのにして、結果を返すかどうかは、次のクエリを実行します。
    SELECT * FROM sys.allocation_units AS au WHERE au.data_space_id NOT IN (SELECT data_space_id FROM sys.filegroups)
  2. メタデータの破損を含むテーブルをもう一度で表示できるようにします。

    手順 1 からのクエリ結果が返された場合、メタデータが破損しているパーティションが拒否されて表示 (選択 * から)、テーブル内の行です。この問題を回避するには、その不正なパーティションを削除します。

    無効なパーティションを空にする必要があります。それ以外の場合、ファイルとファイル グループの可能性がありますがまたはされていない削除削除します。

    これを行うには、このパーティションを同じパーティション ・ スキームを使用する別のテーブルに移動します。次の表は、ダミー テーブルのみにできます。手順 1 で、クエリから container_id を使用し、sys.partitions から partition_id に該当します。(を確認してください、ナンバーを持つ。 注意すること)ダミー テーブルに表示されたテーブルの変更のテーブル スイッチ パーティションを実行するのには、ナンバーを持つ。 を使用します。ダミー テーブルは、列のセットが同じと同じパーティション スキームを使用する必要があります。一貫性のないパーティションを検索するクエリは、次のようになります。

    SELECT au.container_id, au.data_space_id, p.partition_number FROM sys.partitions AS p JOIN sys.allocation_units AS au ON p.partition_id = au.container_id LEFT JOIN sys.filegroups AS fgs ON fgs.data_space_id = au.data_space_id WHERE object_id = OBJECT_ID('MyTableName') AND fgs.data_space_id IS NULL;
  3. 新しいデータベース以前の祖先のテーブルからのデータをコピーします。
状況
マイクロソフトは、この問題を「対象製品」セクションに記載されているマイクロソフト製品の問題として認識しています。

警告: この記事は自動翻訳されています

プロパティ

文書番号:3095958 - 最終更新日: 04/12/2016 00:49:00 - リビジョン: 2.0

Microsoft SQL Server 2014 Service Pack 1

  • kbfix kbqfe kbexpertiseadvanced kbsurveynew kbmt KB3095958 KbMtja
フィードバック