MSSQLSERVER_3159

適用対象: SQL サーバー

詳細

属性 Value
製品名 SQL Server
イベント ID 3159
イベント ソース MSSQLSERVER
コンポーネント SQLEngine
シンボル名 LDDB_LOGNOTBACKEDUP
メッセージ テキスト データベース "%ls" のログの末尾がバックアップされませんでした。 この部分の作業を保存しておく場合は BACKUP LOG WITH NORECOVERY を使用してログをバックアップしてください。 ログのコンテンツを上書きするだけの場合は、RESTORE ステートメントで WITH REPLACE 句または WITH STOPAT 句を使用してください。

説明

ほとんどの場合、完全復旧モデルまたは一括ログ復旧モデルでは、まだバックアップされていないログ レコードをキャプチャするために、ログの末尾をバックアップする必要があります。 復元操作直前のログの末尾から取ったログ バックアップをログ末尾のバックアップといいます。

データベースを障害発生時点に復旧するとき、ログ末尾のバックアップは復旧計画の対象になる最後のバックアップです。 ログの末尾をバックアップできない場合、障害の前に作成した最後のバックアップの末尾までしかデータベースを復旧できません。

SQL Server では、通常、データベースの復元を開始する前にログ末尾のバックアップを作成する必要があります。 ログ末尾のバックアップを取ることで、作業の損失を防ぎ、ログ チェーンを完全な状態で保持することができます。 ただし、ログ末尾のバックアップは、すべての復元シナリオで必要となるわけではありません。 復元ポイントが以前のログ バックアップに含まれている場合、またはデータベースを移動するか置き換えて (上書きして) いる場合、ログ末尾のバックアップは不要であり、最新のバックアップ以降の特定の時点に復元する必要もありません。 また、ログ ファイルが破損し、ログ末尾のバックアップを作成できない場合、ログ末尾のバックアップを使用することなくデータベースを復元する必要があります。 最新のログ バックアップの後にコミットされたトランザクションは失われます。 詳細については、後の「ログ末尾のバックアップを使用しない復元」を参照してください。

注意事項

REPLACE は頻繁に使用するのではなく、十分に検討した後で必要と判断される場合にのみ使用してください。

ユーザーの操作

ログ末尾のバックアップを行い、復元操作を再試行します。

ログ末尾をバックアップできない場合は、RESTORE ステートメントで WITH STOPAT または WITH REPLACE を使用します。

参照

SQL Server データベースを特定の時点に復元する方法 (完全復旧モデル)
データベースが破損したときのトランザクション ログのバックアップ (SQL Server)
トランザクション ログのバックアップ (SQL Server)
ログ末尾のバックアップ (SQL Server)