株式会社ヴァンデミックシステム

Blog

<スポンサーリンク>

データベースは、オブジェクトの追加・削除が繰り返されることによって、徐々に断片化されていってしまう。
断片化するとパフォーマンスが低下するため、最適化が必要。最適化の方法は、オンライン最適化とオフライン最適化がある。

・オンライン最適化
ActiveDirectoryDcomainServiceの稼働中に自動的に行われる最適化処理のこと。
ガベージコレクションというバックグラウンドプロセスの際に、自動的に12時間ごとに実行される。
オンライン最適化では、データベースファイルのサイズは小さくならないが、データベース内の空き領域が大きくなる。

ガベージコレクションは、保存期間が過ぎた削除済みオブジェクトをデータベースから完全削除し、最適化する処理のこと。
ドメインコントローラ―間のレプリケーションの遅延を考慮して、オブジェクトを削除しても、削除マークをつけた状態でデータベースに格納し続ける。

・オフライン最適化
ActiveDirectoryDomainServiceを停止した状態で行う最適化処理のこと。
データベースは自動的にオンライン最適化されるから、基本的にはオフライン最適化を実行する必要はない。
オフライン最適化は、データベースファイルの物理サイズを小さくしたいときに実行する。
例えば、グローバルカタログサーバーとして構成したサーバーを、通常のドメインコントローラーに変更した場合、今までグローバルカタログ用に使用していたデータベース内の領域が不要になる。
このような不要な領域を削除するときにオフライン最適化を行う。

①ActiveDirectoryDomainServiceを停止
②ntdsutil.exeを実行し、FilesコマンドのCompact Toサブコマンド
③最適化後のntds.ditをActiveDirectoryデータベースパスにコピー
④ActiveDirectoryDomainServiceをを開始

# ActiveDirectoryDomainService停止
C:\Users\Administrator>net stop ntds
次のサービスは Active Directory Domain Services サービスに依存しています。
Active Directory Domain Services サービスを停止すると、これらのサービスも停止されます。

   Kerberos Key Distribution Center
   Intersite Messaging
   DNS Server
   DFS Replication

この操作を続行しますか? (Y/N) [N]: Y
Kerberos Key Distribution Center サービスを停止中です.
Kerberos Key Distribution Center サービスは正常に停止されました。

Intersite Messaging サービスを停止中です.
Intersite Messaging サービスは正常に停止されました。

DNS Server サービスを停止中です.
DNS Server サービスは正常に停止されました。

.
DFS Replication サービスは正常に停止されました。

Active Directory Domain Services サービスを停止中です.
Active Directory Domain Services サービスは正常に停止されました。

# ntdsutilを起動し、適当なフォルダ「compact to c:\temp\」を対象にする
C:\Users\Administrator>ntdsutil
ntdsutil: activate instance ntds
アクティブ インスタンスが "ntds" に設定されました。
ntdsutil: files
file maintenance: compact to c:\temp\
最適化モードを起動しています...
     ソース データベース: C:\NTDS\ntds.dit
     ターゲット データベース: c:\temp\ntds.dit

                  Defragmentation  Status ( omplete)

          0    10   20   30   40   50   60   70   80   90  100
          |----|----|----|----|----|----|----|----|----|----|
          ...................................................

このデータベースの完全なバックアップを今すぐ作成する
ことをお勧めします。最適化の前に作成されたバックアップ
を復元すると、データベースはそのバックアップ時の状態に
ロールバックされます。

圧縮に成功しました。次のコマンドで、ファイルのコピーと古いログ ファイルの削除を
実行してください:
   copy "c:\temp\ntds.dit" "C:\NTDS\ntds.dit"
   del C:\NTDS\*.log


file maintenance: quit
ntdsutil: quit


# 「C:\temp」にファイルができている
C:\Users\Administrator>dir C:\temp
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は 826F-8115 です

 C:\temp のディレクトリ

2018/06/20  04:51    <DIR>          .
2018/06/20  04:51    <DIR>          ..
2018/06/20  04:51        25,165,824 ntds.dit
2018/06/20  04:51            16,384 ntds.jfm
               2 個のファイル          25,182,208 バイト
               2 個のディレクトリ  51,007,913,984 バイトの空き領域

# ActiveDirectoryデータベースフォルダにコピー
C:\Users\Administrator>xcopy c:\temp\ntds.dit c:\NTDS\ntds.dit
C:\NTDS\ntds.dit を上書きしますか (Yes/No/All)? Y
C:\temp\ntds.dit
1 個のファイルをコピーしました

# ActiveDirectoryデータベースフォルダ内のログを削除
C:\Users\Administrator>del c:\NTDS\*.log

# ActiveDirectoryDomainService開始
C:\Users\Administrator>net start ntds
Active Directory Domain Services サービスを開始します.
Active Directory Domain Services サービスは正常に開始されました。

<スポンサーリンク>

コメントを残す

Allowed tags:  you may use these HTML tags and attributes: <a href="">, <strong>, <em>, <h1>, <h2>, <h3>
Please note:  all comments go through moderation.

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)