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

Unity SQL のバックアップの問題のトラブルシューティング

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


目次


概要

Cisco Unity サーバ(および 1 つ以上の Exchange サーバ)のバックアップおよび復元を行うときは、他のシステムのバックアップと復元を行うときと同じ問題を検討する必要があります。 このドキュメントでは、Cisco Unity SQL のバックアップ障害のトラブルシューティング方法を説明します。

前提条件

要件

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

使用するコンポーネント

このドキュメントの情報は、Cisco Unity 4.0(5) 以前に基づいています。

注: ディザスタ リカバリ ツール(DiRT)バックアップは、Cisco Unity サーバに対してシスコがサポートする唯一のバックアップおよび復元ツールです。

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

表記法

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

スケジュールされたデータベース バックアップが Cisco Unity 4.0(5) 以前で動作せず、アプリケーション ログにエラー メッセージが作成される

夜間 Cisco Unity データベース バックアップ スケジュールが Cisco Unity サーバ 4.0(5) 以前で動作しません。 スケジュール バックアップが失敗し、アプリケーション ログに次のエラー メッセージが表示されます。

SQLSERVERAGENT 208 SQL Server Scheduled Job
	 'SqlNightlyBackupJob' (0xDD76B87067B64E4EA8BE7C8EE0B05F59) - Status: Failed -
	 The Job was invoked by Schedule (Nightly UnityDb Backup Schedule). The last
	 step to run was step 2 (BackupUnityDbLog).

この問題についての詳細は、Cisco Bug ID CSCsa95341登録ユーザ専用)および CSCdv82394登録ユーザ専用)を参照してください。

解決策

この問題は、Cisco Unity のインストール アカウントの特権が取り消されたか、このアカウントがディセーブルになっている Cisco Unity 4.0(5) 以前のバージョンで発生します。 ハード ドライブはいっぱいになっていないことがある一方で、Unity のデータベースやログ ファイルが、環境内の 10 K Unity サブスクライバごとに 100 MB を超えています。 この問題は、Cisco Unity 4.1(1) 以降では修正されています。 この問題は、Cisco Unity 4.1(1) 以降にアップグレードするか、このドキュメントで説明する解決方法の 1 つを実行することによって解決できます。

解決策 1

この問題を解決するには、次の手順を実行します。

  1. Cisco Unity サーバに移動し、[Start] > [Programs] > [Microsoft SQL Server] > [Enterprise Manager] を選択します。 MSDE がインストールされていない場合は、「MSDE 2000 用管理ソフトウェアのインストール」を参照してください。

  2. [Microsoft SQL Servers] > [SQL Server Group] > <UnityserverName> > [Databases] の順にクリックし、[UnityDb] を右クリックし、[Properties] を選択します。

  3. [Options] タブに移動し、[Recovery Model] が [Simple] に設定されていたら [Full] に変更します。

    http://www.cisco.com/c/dam/en/us/support/docs/voice-unified-communications/unity/71986-unity-sql-backup-ts-1.gif

  4. [Microsoft SQL Severs] > [SQL Server Group] > [Local Server] > [Management] > [Sql Server Agent] > [Jobs] をクリックします。 ジョブがこれまでに失敗した場合は、[SqlNightlyBackupJob] と [SqlWeeklyBackupJob] に赤い X があります。

  5. [SqlWeeklyBackupJob] を右クリックして、[Start Job] を選択します。

  6. 数分間待ってから F5 キーを押してステータスを更新します。

  7. [SqlNightlyBackupJob] について、ステップ 5 と 6 を繰り返します。

解決策 2

カスタム SQL バックアップ スクリプトは、Cisco Security Agent for Cisco Unity バージョン 1.1(4) 以前がインストールされており、バックアップ中に実行されて失敗することもあります。 ユーザがカスタム SQL バックアップ プロシージャまたは DiRT バックアップを実行して Cisco Security Agent for the Cisco Unity の Microsoft SQL 保護ルールに違反すると、バックアップは完了されません。 問題は、バックアップを実行するプロセスにバックアップ ターゲット ロケーションの適切な Cisco Security Agent ファイル アクセス制御権限がないと発生します。

Cisco Security Agent for Cisco Unity リリース 1.1 (4a) よりも後のバージョンには、Cisco Security Agent for Unity の SQL 保護ルールから除外されるサンドボックス ディレクトリとして SQLBackups という名前のすべてのディレクトリを識別するルールが含まれています。 このため、Cisco Security Agent for Cisco Unity を 1.1(4a) よりも後のバージョンにアップグレードすればこの問題は解決されます。 ソフトウェア ダウンロード登録ユーザ専用)のページから Cisco Security Agent for Cisco Unity の最新バージョンをダウンロードできます。

次の任意の手順を実行してこの問題を解決することもできます。

  • Cisco Security Agent for Cisco Unity バージョン 1.1(4a) 以前の場合は、カスタム バックアップ手順を実行する前に Cisco Security Agent をディセーブルにし、バックアップが完了した後、Cisco Security Agent を再度イネーブルにすることができます。

  • バージョン 1.1(4a) よりも後のバージョンの Cisco Security Agent for Cisco Unity でこの問題が検出された場合は、カスタム バックアップ ターゲットの場所か、DiRT のバックアップ ターゲットの場所を、SQLBackups というディレクトリを含むパスに変更します。 たとえば、サンドボックスのルールに一致するバックアップ宛先のターゲット パスは C:\SQLBackups\D:\ の <directory> \ SQLBackups\ <name> \\ \ backupserver \ SQLBackups\ があります。

解決策 3

DiRT バックアップと SQL バックアップに使用するアカウントが同じであることを確認する必要があります。 そうでない場合、この問題を解決するには、手動でバックアップ ジョブの所有者を変更できます。 次の手順を実行します。

  1. SQL Enterprise Manager を開きます。

  2. [Microsoft SQL Servers] > [SQL Server Group] > <UnityserverName> > [Security] を展開し、[Logins] を選択します。

  3. [Logins] を右クリックして、[New Login] を選択します。

  4. [General] タブで、[Name] フィールドの横にある [...] ボタンをクリックし、ドメイン ユーザのリストから [Unity Directory Service(dirsvc)] アカウントを選択します。 [Add] をクリックし、[OK] をクリックします。

    http://www.cisco.com/c/dam/en/us/support/docs/voice-unified-communications/unity/71986-unity-sql-backup-ts-2.gif

  5. [Server Roles] タブに移動し、[System Administrators] をオンにします。

    http://www.cisco.com/c/dam/en/us/support/docs/voice-unified-communications/unity/71986-unity-sql-backup-ts-3.gif

  6. [Database Access] タブに移動し、[UnityDb]、[ReportDb]、および [UnityDistributionDb] の [Permit] をオンにします(フェールオーバーがインストールされている場合)。 次に [Permit in Database Role] の [db_backupoperator] をオンにし、[OK] をクリックします。

    http://www.cisco.com/c/dam/en/us/support/docs/voice-unified-communications/unity/71986-unity-sql-backup-ts-4.gif

  7. [Microsoft SQL Severs] > [SQL Server Group] > <UnityserverName> > [Management] > [Sql Server Agent] > [\Jobs] をクリックします。

  8. [SqlNightlyBackupJob] を右クリックして、[Properties] を選択します。 次に [SqlWeeklyBackupJob] を右クリックし、[Properties] を再度選択します。

  9. [Owner] ドロップダウンから、追加したばかりのユーザを選択し、[OK] をクリックします。

注: この問題は、サーバのディスク領域不足によって発生する場合があります。 この場合は Cisco Unity データベースを縮小する必要があります。 Cisco Unity データベースを縮小する方法については、『Cisco Unity データベースの縮小の設定例』を参照してください。

解決 4

ドメイン アカウントに加え、ローカル システム アカウントでも、権限に関する問題が発生し、バックアップが失敗することがあります。 これは、各バックアップ ジョブに移動し、次の手順に従って修正できます。

  1. Cisco Unity サーバに移動し、[Start] > [Programs] > [Microsoft SQL Server] > [Enterprise Manager] を選択します。

  2. [Microsoft SQL Severs] > [SQL Server Group] > [Local Server] > [Management] > [Sql Server Agent] > [Jobs] をクリックします。

  3. 右側のペインで、バックアップ ジョブ、たとえば [SQLNightlyBackupJob] をクリックします。 右クリックして [Properties] を選択します。

  4. [Properties] ウィンドウで [General] タブに移動し、[Owner] でドロップダウン リストから [sa] を選択します。

  5. 保存して、バックアップをテストします。

  6. 正常に実行されたら、[SQLWeeklyBackupJob] についても所有者を sa に変更します。

    これらの手順を実行したうえで、『Cisco Unity データベースの縮小の設定例』で説明されているように、Cisco Unity データベースを縮小する必要がある場合があります。

リモート サーバが異なるドメイン内にあると Unity のリモート バックアップが失敗する

異なるドメイン内にあるリモート サーバに対して Cisco Unity バックアップを実行すると、バックアップが失敗します。 バックアップは作成されますが、リモートの場所にバックアップを移動できません。 バックアップをローカル的に作成し、ローカル サーバからリモート サーバにバックアップ ファイルを移動するジョブを作成すると、サーバのコンソールでジョブを実行する場合は正常に動作する一方で、スケジュール済みジョブとして実行すると失敗します。

解決策

この問題を解決するには、次の手順を実行します。

  1. マップされたドライブを作成します。 マップされたドライブは、サーバ ログインしているときだけ使用できます。

  2. リモート ロケーションにファイルを移動するスケジュール済みジョブを作成します。

  3. スケジュール済みジョブは、アカウントがサーバにログインしている限り、マップされたドライブを使用できるため動作します。 これは、サーバにログインする必要があることを意味します。

DiRT バックアップが次のエラーで失敗: ((error):70 (Permission denied) in procedure bAccountHasMailstoreRights of Form frmMain

DiRT バックアップを実行すると、DBWalker を実行するかどうかを尋ねるメッセージが表示されます。 [OK] を押すと、このエラーが表示されます。

(error):70 (Permission denied) in procedure bAccountsHasMailStoreRights of Form frmMain

このエラーが続きます。

(error):52 (Bad file name or number) in procedure bAccountHasMailStoreRights
of Form frmMain

解決策

このエラーの最も一般的な原因の 1 つは、実行中の DiRT に適切な権限がないことです。 バックアップを正常に実行するには、アカウントに適切な権限があることを確認します。

((または)

コマンド プロンプトから次のコマンドを発行します。

"["[Drive]: \\CommServer\Utilities\DisasterRecoveryBackup\UnityDisasterRecoveryBACKUP.exe /SkipSara"

((または)

Unity サーバで [run] > [regedit] > [HKLM\Software\Active Voice\DisasterRecovery\Settings] の [IncludeMessages] の値を 1 から 0 に変更します。

ネットワーク サーバへの Unity バックアップが失敗する

ネットワーク サーバへの Cisco Unity のバックアップが次のいずれかのエラーで失敗します。

Event Type:	Error
Event Source:	MSSQLSERVER
Event Category:	(2)
Event ID:	17055
Date:		3/11/2009
Time:		2:46:38 PM
User:		360NETWORKS\UnityInstall
Computer:	UNITY01
Description:
18204 :
BackupDiskFile::CreateMedia: Backup device 'B:\UnityDBBackUp.sql' failed to create. 
Operating system error = 3(The system cannot find the path specified.).

または

(error) in cmbBackup routine:[Microsoft][ODBC SQL Server Driver][SQL Server]
Cannot open backup device '\\Server\d$\unitybkp\UnityDBBackUp.sql'.
Device error or device off-line.
See the SQL Server error log for more details.
[Microsoft][ODBC SQL Server Driver][SQL Server]BACKUP DATABASE is 
terminating abnormally. number= 0.

解決策

この問題の原因には 2 つの候補があります。

  • Cisco Security Agent をオンにしてバックアップを実施

    問題を解決するには CSA をディセーブルにし、バックアップが完了してからイネーブルにします。

  • 2 ホップ SQL バックアップ方法を未使用

    Cisco Unity のメイン データベースと任意のレポート データベースに対する SQL データの実際のバックアップは SQL サービスで行われます。 したがって、ターゲット ディレクトリへのファイルの書き込み権限は SQL サービスを実行するアカウントによって制限されます。 サイトでこれらのサービスにローカル システム アカウントを使用しており、ボックス外の場所に SQL バックアップ データを書き込むと、書き込みは失敗します。 また、SQL サービスにドメイン アカウントを使用する一方で、ボックス外の場所への読み取りおよび書き込み権限を許可しない場合は、SQL のバックアップ部分も失敗します。

    これはかなり一般的なシナリオであるため、これを回避するための簡単な機構が提供されています。 まず、ローカル ドライブへの SQL バックアップを実行します。 DiRT バックアップが動作するアカウントを使用して、バックアップしたデータベース ファイルをボックス外のターゲットに移動します。 次に、バックアップ ファイルのローカル コピーを削除します。 これを 2 ホップ方式と呼びます。 次の手順を実行します。

  1. Cisco Unity ツール [英語] に移動し、DiRT バックアップの新しいバージョンをダウンロードします。 次に、これをインストールします。

  2. [Backup Target Location] フィールドに、ネットワークの場所を入力します。

  3. [Use 'two hop' method for backing up SQL data] をオンにします。 ここに入力する一時ローカル ディレクトリはサーバ ローカルである必要があります。

    このステップにより、ローカル ドライブに SQL がバックアップされ、ネットワーク ドライブにコピーされます。 このため、2 ホップ方式と呼びます。 DiRT では、1 回でネットワーク ドライブに SQL をバックアップできません。

DiRT バックアップでメールボックス メッセージをバックアップできない

DiRT バックアップを実行してメールボックス メッセージをバックアップすると、次のエラー メッセージが表示されてバックアップが失敗します。

The account you logged in as does not have 'Send as' and 'Recieve as' rights
on one or more message stores that Unity subscribers are associated with.

http://www.cisco.com/c/dam/en/us/support/docs/voice-unified-communications/unity/71986-unity-sql-backup-ts-5.gif

解決策

このエラーの原因は、メールボックスにアクセスする十分な権限を持たないアカウントを使用しているためである可能性があります。 Send As 権限および Receive As 権限の [Allow] がオンであるアカウントでログインしていることを確認します。

http://www.cisco.com/c/dam/en/us/support/docs/voice-unified-communications/unity/71986-unity-sql-backup-ts-6.gif

関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 71986