データ ディスク領域の不足に関するトラブルシューティング

SQL Server データベース エンジンでは、復旧中にデータ ファイル用の追加ディスク領域が必要になることがあります。操作でディスク領域が不足した場合、データベース エンジンはエクステントまたはオブジェクトのいずれに対して領域を割り当てることができないかに応じて、1101 エラーまたは 1105 エラーを生成します。データベースのオンライン中にディスクがいっぱいになった場合、データベースはオンラインのままになりますが、データを挿入することはできません。復旧中にディスクがいっぱいになった場合、データベース エンジンはデータベースを "リソース待ち" としてマークします。いずれの場合も、ディスク領域を使用可能にするためのユーザー操作が必要です。

領域問題の解決

次のいずれかの操作により、ファイル グループで領域を使用できるようになることがあります。

  • 容量不足のディスクでディスク領域を解放します。

  • データ ファイルを別のディスクに移動します。

  • ファイルを別のディスクに追加します。

  • 自動拡張を有効にします。

注意

データベースの復旧中にエラーが発生した場合、問題を解決した後にデータベースを復旧する必要があります。

容量不足のディスクでディスク領域を解放するには

  • エラー メッセージで示されているファイル グループのファイルが格納されているディスクで、不要なインデックスまたはテーブルを削除することにより、ディスク領域を解放します。ディスク領域を解放することにより、ファイル グループ内のファイルを拡張することが可能になります。

データ ファイルを別のディスクに移動するには

ファイルを別のディスクに追加するには (Transact-SQL)

  • ALTER DATABASE <database_name> ADD FILE TO FILEGROUP <filegroup_name> を使用することにより、別のディスク上のファイル グループにファイルを追加します。
注意

詳細については、「データ ファイルとトランザクション ログ ファイルの追加と削除」を参照してください。

ファイルを別のディスクに追加するには (SQL Server Management Studio)

ファイル サイズを増やすには

自動拡張が無効に設定されており、データベースがオンラインで、ディスク上に十分な空き領域がある場合、次のいずれかを実行します。

  • ファイル サイズを手動で増やし、単一の拡張増分値を作成します。

  • ALTER DATABASE ステートメントを使用して自動拡張を有効にし、FILEGROWTH オプション用に 0 以外の拡張増分値を設定します。

注意

いずれの場合も、現在のサイズ制限に達している場合は、MAXSIZE 値を増やします。

データベースを復旧するには

データベースの復旧中にディスク領域を使い果たした場合は、ALTER DATABASE <database_name> SET ONLINE を使用してデータベースを復旧します。