音声とユニファイド コミュニケーション : Cisco Unity

Unity フェール オーバー設定ウィザードのエラー メッセージ: Failed to Configure SQL Replication

2016 年 10 月 27 日 - 機械翻訳について
その他のバージョン: PDFpdf | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

このドキュメントでは、Cisco Unity サーバで Cisco Unity フェールオーバー設定ウィザードを実行したときに表示される「failed to configure sql replication(sql 複製の設定に失敗しました)」というエラー メッセージをトラブルシューティングする方法について説明します。

前提条件

要件

このドキュメントに関する固有の要件はありません。

使用するコンポーネント

このドキュメントの情報は、Cisco Unity 4.x に基づいています。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。 ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

問題

Cisco Unity サーバ上で Cisco Unity フェールオーバー設定ウィザードを起動すると、次のエラー メッセージが表示されます。

failed to configure sql replication

diag-failoverconfig.txt に次のエラー メッセージが出力されています。

Error [0x80040afc] : [Microsoft][ODBC SQL Server Driver][SQL Server]
Could not find stored procedure

SQL Query Analyzer でクエリ exec sp_dboption 'UnityDb','published',false を実行すると、次のエラーが返されます。

The Distributor has not been installed correctly.  
Could not disable database for publishing.

Unity サーバで、SQL Enterprise Manager に移動して、サーバを右クリックし、[Properties] を選択します。 [Replication] タブで、発行と配布を無効にするオプションがグレー表示されます。 これは、SQL 発行が正しく開始または設定されていないために SQL レプリケーションが失敗することを意味します。

解決策 1

次の解決策を使用して問題を解決してください。

  1. [Start] > [Programs] > [Microsoft SQL Server] > [Enterprise Manager] に移動します。

  2. [Server] を右クリックしてから、[Properties] を選択します。 [Replication] タブで、[Publishing and Distribution] に対して [Configure] を選択します。

  3. この時点で、「SQL Server replication does not support nicknames」というメッセージが表示されたら、次の手順を実行します。

    1. サーバ名(local など)に戻って、[Delete SQL Server Registration] を右クリックします。

    2. [SQL-Group] を右クリックしてから、[New SQL Server Registration] を選択して Unity サーバの名前を追加します。

    エラー メッセージが表示されなければ、ステップ 4 に進みます。

  4. [Next] をクリックします。 次のウィンドウで、[Make <Servername> it's own distributor; SQL server will create a distribution database and log] オプション ボタンを選択します。

  5. [Customize the Configuration] ウィンドウが表示されるまで [Next] をクリックします。 [use the default settings] を選択して、[Next] をクリックします。

  6. [Finish] をクリックします。 「SQL Server Enterprise Manager successfully enabled <servername> as the distributor for <servername>」というメッセージが表示されます。 [OK] をクリックしてから、[Close] をクリックします。

解決策 2

この問題は、SQL サーバをインストールしてからその名前を変更した場合にも発生する可能性があります。 そのため、Unity フェールオーバー エラー メッセージに記載されているように、SQL サーバ名(古いサーバ名)が新しいマシン名(新しいサーバ名)と一致しません。 問題を解決するには、[ODBC Error: Could not change the Publisher because the subscription has been dropped] の [Problem Description and Workaround] セクションに記載された手順を実行します。

確認

確認するには、SQL Query Analyzer でクエリ exec sp_dboption 'UnityDb','published',false を実行します。 エラー メッセージは表示されないはずです。 これで、Cisco Unity フェールオーバー設定ウィザードを実行できるようになります。

ウィザードがまだ diag-failoverconfig.txt 内のエラー「[SQL-DMO]Invalid to alter this property after the distributor has been installed」で失敗する場合は、サーバ上で動作しているすべてのウイルス対策アプリケーションを無効にしてから、再度ウィザードを実行する必要があります。

解決策 3

問題を解決するには、次の解決策を使用してください。

  1. MSSQLSERVERSQLSERVERAGENT に対するログオンをローカル システムに変更します。

  2. セカンダリ サーバ上で SQL Server Enterprise Manager を開きます。

  3. ツリーを SQL サーバまで展開します。

  4. 右クリックして、ローカル ホストとして [Delete SQL Server Registration] を選択します。

  5. [SQL Server Group] を右クリックして、[New SQL Server Registration] を選択します。 両方のサーバでプライマリ サーバとセカンダリ サーバの両方の登録を作成します。

  6. 両方のサーバをリブートします。

  7. MSSQLSERVER と SQLSERVERAGENT に対するログオンをドメイン管理者が割り当てられたアカウントに変更します。

  8. 両方のサーバをリブートします。

問題

Cisco Unity のフェールオーバーを設定しようとすると、プライマリ サーバとセカンダリ サーバの両方で次のメッセージが表示されます。

Failed to configure SQL Replication

セカンダリ サーバで、次のエラー メッセージが表示されます。

Runtime Error! 
Program D:\CommServer\AvTtsServer.exe
R6025
-Pure Virtual FunctionalCall.

解決策

次の手順を実行します。

  1. プライマリ Cisco Unity サーバで、[Start] > [Programs] > [Microsoft SQL Server] > [Client Network Utility] の順に選択します。

  2. [General] タブで、[Enables protocols by order] に [TCP/IP] と [Named Pipes] が含まれていることを確認します。

  3. [Alias] タブで、[Add] ボタンをクリックして、[Server Alias] フィールドにセカンダリ Cisco Unity サーバのマシン名を入力してから、[OK] をクリックします。

  4. セカンダリ Cisco Unity サーバでステップ 1 ~ 3 を繰り返しますが、ステップ 3 で、[Server Alias] フィールドにプライマリ Cisco Unity サーバのマシン名を入力します。

フェールオーバー設定ウィザードを再実行して、問題が解決されたかどうかを確認します。 「Failed to configure SQL replication for Cisco Unity Failover」というエラー メッセージが表示された場合は、次の手順を実行します。

  1. Windows の [Start] メニューで、[Programs] > [Microsoft SQL Server] > [Query Analyzer] の順にクリックします。

  2. [Connect to SQL Server] ダイアログボックスで、次の設定を入力します。

    1. [SQL Server] フィールドに、Cisco Unity サーバの名前を入力します。

    2. [Connect Using] で、[Windows Authentication] をクリックします。

    3. [OK] をクリックします。

  3. SQL Query Analyzer ウィンドウで、「select @@servername」と入力して Enter キーを押し、[Execute Query] ボタンをクリックします。 ウィンドウの下側のペインに、ステップ 4 で入力する古いサーバ名が表示されます。

  4. exec sp_dropserver '<Old_server_name>'」と入力して、Enter キーを押します(ここで、<Old_server_name> はステップ 3 で見つかった名前です)。 一重引用符(')を忘れずに入力してください。

  5. exec sp_addserver '<new_server_name>', 'local'」と入力して、Enter キーを押します。 一重引用符(')を忘れずに入力してください。

  6. [Execute Query] ボタンをクリックします。

  7. システム トレイで、MSSQLServer アイコンを右クリックして、[MSSQLServer – Stop] をクリックします。

  8. MSSQLServer サービスを停止してよいか尋ねられたら、[Yes] をクリックします。

  9. すべての依存サービスを停止してよいか尋ねられたら、[Yes] をクリックします。

  10. [AvCsTrayStatus] ダイアログボックスで、[OK] をクリックします。

  11. MSSQLServer アイコンが SQL サーバが再起動したことを示している場合は、[Query] ウィンドウで [@@servername] を選択して、[Execute Query] ボタンをクリックし、新しいサーバ名を確認します。

  12. SQL Query Analyzer ウィンドウを閉じます。

  13. システム トレイで、Cisco Unity アイコンを右クリックして、[Start Unity] をクリックします。


関連情報


Document ID: 100604