Cisco CallManager からのサブスクライバ サーバの削除
Cisco CallManager クラスタからサブスクライバ サーバを削除するには、Cisco CallManager Administration の Server Configuration ウィンドウを使用します。ただし、この削除操作では、Cisco CallManager Administration データベースからサブスクライバ サーバが削除されますが、サーバの依存関係がすべて削除されるわけではありません。
システムからサーバを完全に削除するには、次の手順を実行する必要があります。
1. サーバからすべての依存関係を削除します。たとえば、Cisco CallManager サービスを削除します。「サーバの削除」を参照してください。
ヒント 依存関係を表示するには、Server Configuration ウィンドウの Dependency Records リンクをクリックします。
2. Cisco CallManager Administration からサーバを削除します。「サーバの削除」を参照してください。
3. データベースから SQL 複製情報を削除するスクリプト ファイルを実行します。「SQL 複製情報の削除」を参照してください。
4. Cisco CallManager クラスタがローカル DC Directory と統合されている場合は、パブリッシャから DCD 複製許諾契約を削除するスクリプト ファイルを実行します。「冗長 DCD 複製許諾契約の削除」を参照してください。
SQL 複製情報の削除
Cisco CallManager Administration によってサーバが削除されたら、SQL 複製情報を削除するスクリプト ファイルを実行します。パブリッシャ用およびサブスクライバ サーバ用の適切なスクリプト ファイルを実行します。
ヒント P.B-5の例B-1 および P.B-6の例B-2 にあるスクリプト ファイルの内容をメモ帳のようなテキスト ファイルにコピーし、.bat 拡張子で保存します(たとえば、removesubscription.bat と removeserverfromDB.bat)。
パブリッシャの RemoveServerFromDB.bat スクリプトの実行
削除対象のサブスクライバを含むクラスタの Cisco CallManager パブリッシャ サーバから RemoveServerFromDB.bat スクリプト ファイルを実行します。このスクリプトは、任意のディレクトリのコマンド プロンプトから実行します。
ヒント スクリプトの実行手順を確認するには、パラメータなしでスクリプトを実行します。
パブリッシャ サーバの任意のディレクトリから、次のコマンドを入力します。
<スクリプトを保存してあるパス>:\RemoveServerFromDB "server" "database" "name_of_server_to_delete_from_database connection string"
ヒント データベース接続文字列の名前を探すには、Service > Service Parameters に移動し、Cisco Database Layer Monitor を選択して、Advanced をクリックします。その結果、Database Connection String フィールドに名前が表示されます(たとえば、DSN=CiscoCallManager;Server=ABC2)。
コマンド プロンプトからこのコマンドを実行すると、エラー メッセージが表示され、個別のエラー ログ ファイルは生成されません。
スクリプト ファイルの内容を確認するには、「RemoveServerFromDB.bat スクリプト ファイルの内容」を参照してください。
サブスクライバの RemoveSubscription.bat スクリプトの実行
削除対象の Cisco CallManager サブスクライバ サーバから RemoveSubscription.bat スクリプト ファイルを実行します。このスクリプトは、任意のディレクトリのコマンド プロンプトから実行します。
ヒント スクリプトの実行手順を確認するには、パラメータなしでスクリプトを実行します。
サブスクライバ サーバの任意のディレクトリから、次のコマンドを入力します。
<スクリプトを保存してあるパス>:\RemoveSubscription "server" "database"
コマンド プロンプトからこのコマンドを実行すると、エラー メッセージが表示され、個別のエラー ログ ファイルは生成されません。
スクリプト ファイルの内容を確認するには、「RemoveSubscription.bat スクリプト ファイルの内容」を参照してください。
冗長 DCD 複製許諾契約の削除
クラスタからサブスクライバ サーバが削除されたら、clean_publisher スクリプトを実行して、パブリッシャ DCD から DCD 複製情報を消去します。このスクリプトは、パブリッシャ サーバのみで実行されます。
Cisco CallManager Release 3.3 以降でこのスクリプトを入手できます。このスクリプトは、Cisco Directory コンポーネントのインストール時に Cisco CallManager サーバにインストールされます。
パブリッシャ サーバの任意のディレクトリから、次のコマンドを入力します。
c:\Clean_publisher.cmd
このスクリプト ファイルは、削除されたすべてのサブスクライバの複製許諾契約をパブリッシャ DCD から削除します。このとき、既存のデータが削除されたり変更されたりすることはありません。
(注) 管理者が、Clean_publisher.cmd スクリプトを実行せずにサーバを削除した後に、元のクラスタに対して同じホスト名でサーバを追加し直した場合、サブスクライバ DCD の設定に使用される DCD スクリプトは、サーバへの Cisco CallManager の Directory のインストール時に、以前の DCD 複製許諾契約をパブリッシャ DCD データベースから消去します。
RemoveServerFromDB.bat スクリプト ファイルの内容
例B-1 に、パブリッシャ サーバから SQL 複製情報を削除するスクリプト ファイルの内容を示します。
例B-1 スクリプト ファイルの内容
@echo off
@if "%3x" == "x" goto Usage
echo Install stored procedure in database %2
echo USE %2 > temp.sql
echo GO >> temp.sql
echo sp_dropsubscription @publication = %2, @subscriber = '%3', @article='all' >> temp1.sql
echo GO >> temp1.sql
osql -S %1 -d %2 -E -e -i temp1.sql
del temp1.sql
goto endd
:Usage
@echo Usage: RemoveServerFromDB "server" "database" "name_of_server_to_delete_from_ProcessNode.Name"
@echo Example: RemoveServerFromDB . CCM0300 fred.cisco.com
:end
RemoveSubscription.bat スクリプト ファイルの内容
例B-2 に、サブスクライバ サーバから SQL 複製情報を削除するスクリプト ファイルの内容を示します。
例B-2 スクリプト ファイルの内容
@echo off
@if "%2x" == "x" goto Usage
echo Install stored procedure in database %2
echo sp_removedbreplication @dbname = %2 > temp1.sql
echo GO >> temp1.sql
osql -S %1 -d %2 -E -e -i temp1.sql
del temp1.sql
goto endd
:Usage
@echo Usage: RemoveSubscription "server" "database"
@echo Example: RemoveSubscription . CCM0300
:endd