SQLLocalDB でのモデル データベースの破損を解決する
この記事では、SQLLocalDB ユーティリティの既知の問題について説明しますModel
データベースが破損しているために ADSync サービスが開始されるのを防ぐことができます。 この問題は主に Microsoft Entra Connect 2. に影響しますx Microsoft SQL Server 2019 LocalDB で実行されるサーバー。
この問題は、SQL Server Model
データベースのスタート ページに一貫性のない状態を作成する SQL Server バックアップ ロジックのバグが原因で発生します。 バックアップが行われると、Model
データベースは復旧モード (dbi_status
== 0x40010000) FULL
に設定され、dbi_dbbackupLSN
(データベース バックアップのログ シーケンス番号 (LSN) はログ ファイルを指す値に設定されます。 ただし、 Master
データベースによって管理される実際の復旧モードは SIMPLE
。
SIMPLE
復旧モードでは、データベース ログは自動的に切り捨てられます。 FULL
回復モードでは、ログはバックアップ後にのみ切り捨てられます。 ログ ファイルが切り捨てられた後に SQLLocalDB が再起動されると、最も古いログ ファイルより前のバックアップ LSN が検出されます。 そのため、サービスは開始されません。
次のセクションのガイダンスを確認して、次のタスクを実行する方法を学習します。
Model
データベースが破損したため、Microsoft Entra Connect サービス (ADSync) が起動しないかどうかを正しく特定します。破損した状態から
Model
データベースを復旧して、問題を軽減します。永続的な修正プログラムを適用して、この
Model
データベースの破損が再び発生しないようにします。
現象
問題が Microsoft Entra Connect サーバーの次のイベントに基づいていることを確認できます。
イベント ビューアー: Application、EventID 528、Source: SQLLocalDB 15.0
WaitForMultipleObjects 575 {Application Error} The application was unable to start correctly (0x%lx). Click OK to close the application. 3714
イベント ビューアー: アプリケーション、EventIDs 2005 および 6226、ソース: ADSync
0x8023044a OriginalError=0x80004005 OLEDB Provider error(s): Description = 'Login timeout expired' Failure Code = 0x80004005
ADSync サービス プロファイル パスの SQLLocalDB error.log ファイル>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\ADSync2019 <yyyy-MM-dd HH:mm:ss.##> spid14s The resource database build version is 15.00.4138. This is an informational message only. No user action is required. <yyyy-MM-dd HH:mm:ss.##> spid8s Starting up database 'msdb'. <yyyy-MM-dd HH:mm:ss.##> spid14s Starting up database 'model'. <yyyy-MM-dd HH:mm:ss.##> spid14s Error: 9003, Severity: 20, State: 1. <yyyy-MM-dd HH:mm:ss.##> spid14s The log scan number (41:488:1) passed to log scan in database 'model' is not valid. This error may indicate data corruption or that the log file (.ldf) does not match the data file (.mdf). If this error occurred during replication, re-create the publication. Otherwise, restore from backup if the problem results in a failure during startup. <yyyy-MM-dd HH:mm:ss.##> spid14s SQL Trace was stopped due to server shutdown. Trace ID = '1'. This is an informational message only; no user action is required.
対応策
重要
これらの条件がすべて発生した場合にのみ、ここで説明する軽減手順を適用します。
Microsoft Entra Connect のバージョンは 2.0.x.x。
Microsoft Entra Connect は SQL LocalDB と共にインストールされます。
Symptomsに記載されている条件のすべてが存在します。
破損した状態から Model
データベースを回復するには、次の手順に従います。
実行されているサービス アカウント (ドメイン アカウント、仮想サービス アカウント、マネージド サービス アカウントなど) に応じて、次のいずれかの ADSync サービス プロファイルの場所に移動します。
- C:\Users\<service account>\
- C:\Users\ADSyncMSAxxxx$\
- C:\Windows\ServiceProfiles\ADSync\
次のディレクトリ パスの ADSync2019 インスタンス フォルダーから error.log ファイルを開きます。
<サービス プロファイル パス>\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\ADSync2019\
ログで次のエラー エントリを見つけて、
Model
データベースが破損していることを確認します。<yyyy-MM-dd HH:mm:ss.##> spid14s Error: 9003, Severity: 20, State: 1. <yyyy-MM-dd HH:mm:ss.##> spid14s The log scan number (41:488:1) passed to log scan in database 'model' is not valid. This error may indicate data corruption or that the log file (.ldf) does not match the data file (.mdf). If this error occurred during replication, re-create the publication. Otherwise, restore from backup if the problem results in a failure during startup.
このエントリにエラー "9003" が存在する場合は、このフォルダー内の model.mdf ファイルと modellog.ldf ファイルの名前をそれぞれ old_model.mdf と old_modellog.ldf に変更します。
SQL Templates フォルダーを C:\Program Files\Microsoft SQL Server\150\LocalDB\Binn\Templates で開きます。
手順 2 の ADSync2019 インスタンス フォルダーに model.mdf ファイルと modellog.ldf ファイルをコピーします。
ADSync サービスを開始します。
ソリューション
Microsoft は、Microsoft Entra Connect バージョン 2.1.1.0 でこの問題の修正プログラムを導入しました。 同期サービス (ADSync) を開始できない場合は、Microsoft Entra Connect をアップグレードする前に、 Mitigation セクションの手順を適用する必要があります。
SQLLocalDB Model
データベースの破損の問題を防ぐために、Microsoft Entra Connect の最新のビルドをインストールします。このビルドは、 Microsoft Entra Connect: Version リリース履歴で入手できます。
お問い合わせはこちらから
質問がある場合やヘルプが必要な場合は、サポート要求を作成するか、Azure コミュニティ サポートにお問い合わせください。 Azure フィードバック コミュニティに製品フィードバックを送信することもできます。