データベースの状態

データベースは、常に、ある特定の状態にあります。たとえば、ONLINE、OFFLINE、SUSPECT などです。データベースの現在の状態を確認するには、sys.databases カタログ ビューで state_desc 列を選択するか、DATABASEPROPERTYEX 関数で Status プロパティを選択します。

データベースの状態の定義

次の表では、データベースの状態を定義します。

状態

定義

ONLINE

データベースにアクセスできます。復旧時に行われる元に戻すフェーズが完了していなくても、プライマリ ファイル グループはオンラインです。

OFFLINE

データベースは使用できません。ユーザーの明示的な操作によってデータベースがオフラインになり、ユーザーが新たな操作を行うまでオフラインのままになります。たとえば、ファイルを新しいディスクに移動するために、データベースをオフラインにできます。移動の完了後に、データベースをオンラインに戻します。

RESTORING

プライマリ ファイル グループの 1 つ以上のファイルが復元中か、1 つ以上のセカンダリ ファイルがオフラインで復元中です。データベースは使用できません。

RECOVERING

データベースが復旧中です。復旧処理は一時的な状態です。復旧が成功すると、データベースは自動的に online 状態になります。復旧が失敗すると、データベースは suspect 状態になります。データベースは使用できません。

RECOVERY PENDING

復旧中に SQL Server でリソース関連のエラーが検出されました。データベースは破損していませんが、ファイルが見つからないか、システム リソースの制限によりデータベースを起動できない可能性があります。データベースは使用できません。エラーを解決して復旧処理を完了するには、ユーザーによる新たな操作が必要です。

SUSPECT

少なくともプライマリ ファイル グループが問題のある状態で、破損している可能性があります。SQL Server の起動中にはデータベースを復旧できません。データベースは使用できません。問題を解決するには、ユーザーによる新たな操作が必要です。

EMERGENCY

ユーザーがデータベースを変更し、状態を EMERGENCY に設定しました。データベースはシングル ユーザー モードになり、修復または復元できます。データベースは READ_ONLY に設定され、ログ記録が無効になり、アクセスが sysadmin 固定サーバー ロールのメンバに制限されます。EMERGENCY は、主にトラブルシューティングの目的に使用されます。たとえば、suspect に設定されたデータベースを、EMERGENCY 状態に設定できます。これにより、システム管理者にデータベースへの読み取り専用のアクセスを許可できます。sysadmin 固定サーバー ロールのメンバのみが、データベースを EMERGENCY 状態に設定できます。