データベース圧縮(オフラインデフラグ)手順


Windows Server 2008 での手順をまとめておく。
データベース圧縮作業は全てのDCで実行の必要がある。
サイト内に複数のDCがある場合は、サービス停止しない様に1サーバずつ実行するとよい。


◆準備

  • イベントビューアの[ディレクトリサービス]で複製エラーが発生していないか確認
  • システムバックアップを取得


◆実行
1.Domain Admins権限でログオン
2.管理者モードでコマンドプロンプトを起動
3.Acitive Directory Domain Serviceを停止する
 次のコマンドを入力し実行

net stop ntds

 次の関連サービスの停止確認があるので、[Y]を入力し実行

次のサービスは Active Directory Domain Services サービスに依存しています。
Active Directory Domain Services サービスを停止すると、これらのサービスも停止さ
れます。

  File Replication Service
  Kerberos Key Distribution Center
  Intersite Messaging
  DNS Server

この操作を続行しますか? (Y/N) [N]: Y

4.ntdsutilを起動する
 次のコマンドを入力し実行。

ntdsutil

5.ntdsインスタンスに接続
 次のコマンドを入力し実行

ntdsutil: activate instance ntds
アクティブ インスタンスが "ntds" に設定されました。

6.ファイルメンテナンスモードに切り替え
 次のコマンドを入力し実行

ntdsutil: files

7.DBを圧縮する
 ここでは、[c:\temp]へ圧縮したDBを出力する。
 次のコマンドを入力し実行

ntdsutil: files
file maintenance: compact to c:\temp
最適化モードを起動しています...
     ソース データベース: C:\Windows\NTDS\ntds.dit
     ターゲット データベース: c:\temp\ntds.dit

                  Defragmentation  Status (% complete)

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

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

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

 エラーがなく、ステータスが100までいけば終了。
 圧縮時間はサーバスペック、DBサイズにより異なる。
8.ntdsutilを終了する。
 次のコマンドを入力し実行

file maintenance: quit
ntdsutil: quit

9.ログを削除する
 次のコマンドを入力し実行

del C:\Windows\NTDS\*.log

10.Ntds.ditファイルをバックアップする
 [C:\Windows\NTDS\ntds.dit]を別のフォルダまたはネットワークドライブにコピーしておく。
 コピー後は誤って上書きされないようリネームしておく。
 圧縮したDBが正常に動作しない場合はこのコピーを元に戻すことで対応する。 
11.圧縮したDBを置き換える
 次のコマンドを入力し実行

copy "c:\temp\ntds.dit" "C:\Windows\NTDS\ntds.dit"

12.圧縮したDBの整合性チェックを行う
 ntdsutilを起動する。
 次のコマンドを入力し実行。

ntdsutil

13.ntdsインスタンスに接続
 次のコマンドを入力し実行

ntdsutil: activate instance ntds
アクティブ インスタンスが "ntds" に設定されました。

14.ファイルメンテナンスモードに切り替え
 次のコマンドを入力し実行

ntdsutil: files

15.整合性チェックを行う
 次のコマンドを入力し実行

file maintenance: integrity
次のデータベースの整合性チェックを行っています: C:\Windows\NTDS\ntds.dit

Checking database integrity.

                     Scanning  Status (% complete)

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


Integrity check successful.

semantic データベース分析を実行して semantic データ
ベースの整合性も確認することを推奨します。

 エラーなくステータスが100になれば終了。
 semanticデータベース分析はオプション。
16.ntdsutilを終了する
 次のコマンドを入力し実行

file maintenance: quit
ntdsutil: quit

17.Active Directory Domain Serviceを起動する
 次のコマンドを入力し実行

net start ntds

 エラーなく起動すれば終了。
 一応、イベントビューアも確認する。


これで終了。
手順は下記参照。
エラー発生時の対処も載っています。
そのうち日本語でまとめよう。



http://technet.microsoft.com/ja-jp/library/cc794920(WS.10).aspx