Cisco CallManager アドミニストレーション ガイド Release 4.0(1)
Cisco CallManager からのサ ブスクライバ サーバの削除
Cisco CallManager からのサブスクライバ サーバの削除
発行日;2012/01/16 | ドキュメントご利用ガイド | ダウンロード ; この章pdf | フィードバック

目次

Cisco CallManager からのサブスクライバ サーバの削除

SQL 複製情報の削除

パブリッシャの RemoveServerFromDB.bat スクリプトの実行

サブスクライバの RemoveSubscription.bat スクリプトの実行

冗長 DCD 複製許諾契約の削除

RemoveServerFromDB.bat スクリプト ファイルの内容

RemoveSubscription.bat スクリプト ファイルの内容

Cisco CallManager からのサブスクライバ サーバの削除

Cisco CallManager クラスタからサブスクライバ サーバを削除するには、Cisco
CallManager Administration の Server Configuration ウィンドウを使用します。ただし、この削除操作では、Cisco CallManager Administration データベースからサブスクライバ サーバが削除されますが、サーバの依存関係がすべて削除されるわけではありません。

システムからサーバを完全に削除するには、次の手順を実行する必要があります。

1. サーバからすべての依存関係を削除します。たとえば、Cisco CallManager サービスを削除します。「サーバの削除」を参照してください。

2. Cisco CallManager Administration からサーバを削除します。「サーバの削除」を参照してください。

3. データベースから SQL 複製情報を削除するスクリプト ファイルを実行します。「SQL 複製情報の削除」を参照してください。

4. Cisco CallManager クラスタがローカル DC Directory と統合されている場合は、パブリッシャから DCD 複製許諾契約を削除するスクリプト ファイルを実行します。「冗長 DCD 複製許諾契約の削除」を参照してください。

SQL 複製情報の削除

Cisco CallManager Administration によってサーバが削除されたら、SQL 複製情報を削除するスクリプト ファイルを実行します。パブリッシャ サーバ用のスクリプト ファイルとサブスクライバ サーバ用のスクリプト ファイルが存在します。

パブリッシャの RemoveServerFromDB.bat スクリプトの実行

削除対象の Cisco CallManager パブリッシャ サーバから RemoveServerFromDB.bat スクリプト ファイルを実行します。このスクリプトは、任意のディレクトリのコマンド プロンプトから実行します。


ヒント スクリプトの実行手順を確認するには、パラメータなしでスクリプトを実行します。


パブリッシャ サーバの任意のディレクトリから、次のコマンドを入力します。

<スクリプトを保存してあるパス>:\RemoveServerFromDB "server" "database" "name_of_server_to_delete_from_ProcessNode.Name"

コマンド プロンプトからこのコマンドを実行すると、エラー メッセージが表示され、個別のエラー ログ ファイルは生成されません。

スクリプト ファイルの内容を確認するには、「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 DROP PROCEDURE dblRemoveServerFromDB temp.sql

echo GO temp.sql

echo CREATE PROCEDURE [dblRemoveServerFromDB] temp.sql

echo (@servername NVARCHAR(50),@ispublisher NVARCHAR(50)) AS temp.sql

echo BEGIN TRANSACTION temp.sql

echo DECLARE @nodeid NVARCHAR(50), @deviceid NVARCHAR(50), @pnsid NVARCHAR(50) temp.sql

echo -- temp.sql

echo PRINT 'Get the Node ID' temp.sql

echo SELECT @nodeid=pkid from ProcessNode where name=@servername temp.sql

echo -- temp.sql

echo PRINT 'Delete associated Device and MediaMixer' temp.sql

echo WHILE (SELECT COUNT(*) FROM Device WHERE fkProcessNode=@nodeid) ^> 0 temp.sql

echo BEGIN temp.sql

echo SELECT @deviceid=pkid from Device where fkProcessNode=@nodeid temp.sql

echo PRINT 'Delete MediaMixer' temp.sql

echo DELETE FROM MediaMixer WHERE fkDevice=@deviceid temp.sql

echo PRINT 'Delete MOHServer' temp.sql

echo DELETE FROM MOHServer WHERE fkDevice=@deviceid temp.sql

echo PRINT 'Delete Device' temp.sql

echo DELETE FROM Device WHERE pkid=@deviceid temp.sql

echo END temp.sql

echo -- temp.sql

echo PRINT 'Delete associated CallManager records' temp.sql

echo DELETE FROM CallManagerGroupMember FROM CallManagerGroupMember AS M temp.sql

echo JOIN CallManager AS C ON C.pkid=M.fkCallManager WHERE C.fkProcessNode=@nodeid temp.sql

echo DELETE FROM CallManager WHERE fkProcessNode=@nodeid temp.sql

echo -- temp.sql

echo PRINT 'Delete associated ProcessConfig records' temp.sql

echo DELETE FROM ProcessConfig WHERE fkProcessNode=@nodeid temp.sql

echo -- temp.sql

echo PRINT 'Delete associated AlarmConfig records' temp.sql

echo DELETE FROM AlarmConfig FROM AlarmConfig AS A JOIN ProcessNodeService temp.sql

echo AS S ON A.fkProcessNodeService=S.pkid WHERE S.fkProcessNode=@nodeid temp.sql

echo PRINT 'Delete associated ProcessNodeService records' temp.sql

echo DELETE FROM ProcessNodeService WHERE fkProcessNode=@nodeid temp.sql

echo -- temp.sql

echo PRINT 'Delete associated ComponentVersion records' temp.sql

echo DELETE FROM ComponentVersion WHERE fkProcessNode=@nodeid temp.sql

echo -- temp.sql

echo PRINT 'Delete the node' temp.sql

echo DELETE FROM ProcessNode WHERE pkid=@nodeid temp.sql

echo -- temp.sql

echo COMMIT TRANSACTION temp.sql

echo GO temp.sql

echo -- Execute procedure on server %1

echo exec dblRemoveServerFromDB '%3' temp.sql

osql -S %1 -d %2 -E -e -i temp.sql

del temp.sql

echo USE %2 temp1.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

:endd

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