Microsoft Entra Connect: LocalDB の 10 GB の制限から回復する方法
Microsoft Entra Connect には、ID データを格納するための SQL Server データベースが必要です。 Microsoft Entra Connect と共にインストールされる既定の SQL Server 2019 Express LocalDB を使用するか、所有している完全な SQL を使用することができます。 SQL Server Express には、10 GB のサイズ制限があります。 LocalDB を使用していて、この上限に達すると、Microsoft Entra Connect Synchronization Service は正常に開始または同期できなくなります。 この記事では、回復の手順を説明します。
現象
一般的には、次の 2 つの症状があります。
Microsoft Entra Connect Synchronization Service が実行中でも、"stopped-database-disk-full" エラーで同期が失敗する。
Microsoft Entra Connect Synchronization Service が開始できない。 このサービスを開始しようとすると、イベント 6323 で失敗し、"SQL Server のディスク領域が不足しているため、サーバーでエラーが発生しました。 " というエラー メッセージが表示されます。
短期的な回復手順
このセクションでは、Microsoft Entra Connect Synchronization Service が操作を再開するために必要な DB 空き領域を増やす手順について説明します。 これには次の手順が含まれます。
Synchronization Service の状態を確認する
まず、Synchronization Service がまだ実行中かどうかを確認します。
管理者として Microsoft Entra Connect サーバーにログインします。
[サービス コントロール マネージャー] に移動します。
Microsoft Entra ID Sync の状態を確認します。
実行されている場合は、サービスを停止または再起動しないでください。 「データベースを縮小する」の手順をスキップし、「実行履歴データを削除する」の手順に進みます。
実行されていない場合は、サービスを開始してみてください。 サービスが正常に開始した場合は、「データベースを縮小する」の手順をスキップし、「実行履歴データを削除する」の手順に進みます。 そうでない場合は、「データベースを縮小する」の手順に進みます。
データベースを縮小する
縮小操作を使用して、Synchronization Service を開始するための十分な DB 空き領域を確保します。 データベース内の空白を削除することによって、DB 空き領域が確保されます。 必ず領域を回復できる保証はないため、この手順はベスト エフォートです。 縮小操作の詳細については、「データベースの圧縮」という記事を参照してください。
重要
Synchronization Service を実行できる場合は、この手順をスキップしてください。 SQL DB の縮小は、断片化の増加によってパフォーマンスが低下する可能性があるため、お勧めしません。
Microsoft Entra Connect 用に作成されるデータベースの名前は、ADSync です。 縮小操作を実行するには、sysadmin またはデータベースの DBO としてログインする必要があります。 Microsoft Entra Connect のインストール中に、以下のアカウントに sysadmin 権限が付与されます。
- ローカル管理者
- Microsoft Entra Connect のインストールを実行するために使用されたユーザー アカウント。
- Microsoft Entra Connect Synchronization Service の操作コンテキストとして使用される Sync Service アカウント。
- インストール中に作成されたローカル グループ ADSyncAdmins。
%ProgramFiles%\Microsoft Azure AD Sync\Data
にある ADSync.mdf ファイルと ADSync_log.ldf ファイルを安全な場所にコピーして、データベースをバックアップします。新しい PowerShell セッションを開始します。
%ProgramFiles%\Microsoft SQL Server\110\Tools\Binn
フォルダーに移動します。sysadmin またはデータベースの DBO の資格情報を使用してコマンド
./SQLCMD.EXE -S "(localdb)\.\ADSync" -U <Username> -P <Password>
を実行することで、sqlcmd ユーティリティを起動します。データベースを縮小するには、sqlcmd プロンプト (
1>
) で「DBCC Shrinkdatabase(ADSync,1);
」と入力し、次の行に「GO
」と入力します。操作が成功した場合は、Synchronization Service をもう一度開始してみます。 Synchronization Service を開始できる場合は、「実行履歴データを削除する」の手順に進みます。 そうでない場合は、サポートに問い合わせてください。
実行履歴データを削除する
既定では、Microsoft Entra Connect は最大 7 日間分の実行履歴データを保持します。 この手順では、Microsoft Entra Connect Synchronization Service が再度同期を開始できるように、実行履歴データを削除して DB 空き領域を増やします。
[スタート]、[Synchronization Service] の順に移動して、Synchronization Service Manager を起動します。
[操作] タブに移動します。
[アクション] で [Clear Runs] (実行のクリア) を選択します。
[Clear all runs] (すべての実行をクリア) または [Clear runs before... <date>] (<日付> より前の実行をクリア) のいずれかのオプションを選択できます。 まずは 2 日を経過した実行履歴データをクリアすることをお勧めします。 DB サイズの問題が引き続き発生する場合は、 [Clear all runs (すべての実行をクリア)] オプションを選択してください。
実行履歴データの保有期間を短縮する
この手順は、複数の同期サイクル後に 10 GB 制限の問題が発生する可能性を低減するためのものです。
新しい PowerShell セッションを開きます。
Get-ADSyncScheduler
を実行し、現在の保有期間を指定している PurgeRunHistoryInterval プロパティを書き留めておきます。Set-ADSyncScheduler -PurgeRunHistoryInterval 2.00:00:00
を実行して、保有期間を 2 日間に設定します。 必要に応じて保有期間を調整します。
長期的な解決策 – 完全バージョンの SQL への移行
一般に、この問題は、Microsoft Entra Connect がオンプレミスの Active Directory を Microsoft Entra ID に同期するのに 10 GB というデータベース サイズが十分でなくなったことを示しています。 SQL Server の完全バージョンを使用するよう切り替えることをお勧めします。 既存の Microsoft Entra Connect デプロイの LocalDB を、SQL の完全バージョンのデータベースに直接置き換えることはできません。 代わりに、SQL の完全バージョンを搭載した新しい Microsoft Entra Connect サーバーをデプロイする必要があります。 スウィング移行を実行することをお勧めします。スウィング移行では、新しい Microsoft Entra Connect サーバー (SQL DB を含む) がステージング サーバーとして、既存の Microsoft Entra Connect サーバー (LocalDB を含む) の隣にデプロイされます。
- Microsoft Entra Connect でリモート SQL を構成する方法の手順については、「Microsoft Entra Connect のカスタム インストール」を参照してください。
- Microsoft Entra Connect アップグレードのスウィング移行の手順については、「Microsoft Entra Connect: 旧バージョンから最新バージョンにアップグレードする」を参照してください。
次のステップ
オンプレミス ID と Microsoft Entra ID の統合についての詳細情報を参照してください。