LOG_BACKUP log_reuse_wait_descを使用したSQL Server 2012シンプルリカバリモデル


11

私は私自身の調査をやっている間に、データベース、なぜ、誰もが知っているんSIMPLE復旧モデルを持っているLOG_BACKUPためにlog_reuse_wait_desc

SQL Server 2012 SP1。数週間前に作成されたデータベース。レプリケーションもミラーリングもログ配布もありません。

私たちは、データベースのバックアップを行なったし、それは示して、別のインスタンスに復元SIMPLEし、NOTHING中にlog_reuse_wait他のインスタンスに。しかし、別のインスタンスへの復元は、復元操作がトランザクションをロールフォワード/ロールバックするときに問題を再現する良い方法だとは思いません。

回答:


11

さて、昨日昼も夜も問題の調査、テスト、再現に費やしました。根本原因を発見:

MODELSIMPLE復旧モデルに設定されたデータベース。

モデルデータベースがSIMPLE復旧モデルに設定されていて、ユーザーデータベースがSIMPLE復旧モデルで作成されている場合、SQL Serverは何らかの形でそれをFULL復旧モデルにあるかのように処理します。したがってLOG_BACKUP、ログの切り捨てを待機しています。

このリンクに手順をリストして、問題の再現方法を示しました。

根本的な原因は、ユーザーデータベースが単純な復旧モデルで作成された(後で変更されていない)場合に、この問題が発生すると考えられます。モデルデータベースに責任があるのは、それが定義された復旧モデルでユーザーデータベースを作成する唯一の方法だからです。

これは、マイクロソフトサポート技術情報の記事2830400に記載されており、SQL Server 2012 SP1 CU4およびRTM CU7で修正されています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.