BizTalk Server管理コンソールに関する一般的な問題と解決策

この記事では、BizTalk Server管理コンソールに関する一般的な問題の解決策について説明します。

元の製品バージョン: BizTalk Server 2009、2010
元の KB 番号: 2449532

BizTalk 管理パックで System Center Operations Manager (SCOM) 2007 を使用すると、次の潜在的な問題が発生する可能性があります。

BizTalk グループを展開すると、MMC の応答が停止します

この問題を解決するには、次のいずれかの解決策を使用します。

  • BizTalk 管理パックが正しく構成されていることを確認します。 たとえば、BizTalk Server監視アカウントの実行アカウントを指定し、SCOM 内の探索アカウント プロファイルをBizTalk Serverする必要があります。 具体的な詳細については、「Microsoft BizTalk Server Management Pack for System Center Operations Manager 2007」を参照してください。

  • BizTalk 管理パックは、ホストごとにすべての成果物の種類 (送信ポート、受信ポート、受信場所、送信ポート グループ、オーケストレーションなど) のスクリプトを実行します。 ホストが 50 個ある場合、成果物の種類ごとに Windows Management Instrumentation (WMI) に対して 50 個のスクリプトが実行されます。 このシナリオでは、WMI がオーバーロードされる可能性があります。 このクエリにより、BizTalk WMI プロバイダーが継続的に実行され続ける場合があります。

    これを回避するには、SCOM 内の監視間隔を高い値に増やします。 たとえば、スクリプト間のランダムな 5 分から 7 分の差を選択して、監視間隔を増やします。

    Script 時間 (秒)
    アダプター可用性モニター 420
    ホスト可用性モニター 780
    ホスト インスタンス可用性モニター 1140
    オーケストレーション可用性モニター 1500
    受信場所可用性モニター 1860
    受信ポート可用性モニター 2220
    送信ポート可用性モニター 2580
    送信ポート グループ可用性モニター 2940

[更新] または [ハンドラー] の展開中にエラーが発生する

次のいずれかのエラー メッセージが表示されます。

アダプター アダプターのアダプター ハンドラーを読み込むことができません。(Microsoft.BizTalk.Administration.SnapIn)

追加情報 :

BizTalk サーバーと共にインストールされているCLSID_Biztalk Property Bag Factory COM コンポーネントを作成できませんでした。
ダイナミック リンク ライブラリ (DLL) の初期化ルーチンが失敗しました。 (WinMgmt)

解決方法

BizTalk Server管理は、Windows 管理インストルメンテーション (WMI) に依存しています。具体的には、BizTalk WMI プロバイダー (BTSWMIProvider.dll)。

BizTalk WMI プロバイダーは、WMI ルート名前空間内の ClearAfter プロパティに依存しています。 既定 ClearAfter のプロパティは 30 秒 (0000000000030.000000:0000) です。 この値が 500 秒 (00000000005000.000000:0000) のような大きい値に変更された場合、このエラーが返される可能性があります。

プロパティを設定するには、次の ClearAfter 手順を使用して、グループ内のすべての BizTalk サーバーで Windows Management Instrumentation Tester (wbemtest) を使用します。

  1. [スタート] または [実行] に移動し、「wbemtest」と入力します。

  2. [ 接続 ] ボタンをクリックし、名前のペースをルートに変更します。 [接続] をクリックします。

  3. [ クエリ ] ボタンをクリックし、「」と入力します select * from __CacheControl。 [適用] をクリックします。

  4. 各項目をダブルクリックし、プロパティを ClearAfter 選択します。 次の値があることを確認します。

    アイテム
    __EventConsumerProviderCacheControl=@ 00000000000030.000000:000
    __EventProviderCacheControl=@ 00000000000030.000000:000
    __EventSinkCacheControl=@ 00000000000015.000000:000
    __ObjectProviderCacheControl=@ 00000000000030.000000:000
    __PropertyProviderCacheControl=@ 00000000000030.000000:000

    上記の値を超える値がある場合は、[ プロパティの編集 ] ボタンをクリックして変更します。 [ プロパティの保存] をクリックします。 [ オブジェクトの保存] をクリックします

  5. Windows Management Instrumentation サービスを再起動します。

オーケストレーションを停止するときのエラー

SCOM サーバーでは、オーケストレーションの停止を試みます。 これにより、次のエラー メッセージが返される場合があります。

オーケストレーション処理を停止しようとしたときにエラーが発生しました。
オーケストレーション 'Orchestration, Version=4.12.1.1, Culture=neutral, PublicKeyToken=1710edac7131301e' を停止できませんでした。 データベース接続の問題が原因でデータベースエラーが発生しました。 (HRESULT: 80131600)。

SCOM サーバー エラーと同じ時間のBizTalk Serverに、次のエラー メッセージが表示されます。

イベントの種類: エラー
イベント ソース: COM+
イベント カテゴリ: (98)
イベント ID: 4791
説明:
スレッド ローカル ストレージの割り当てが失敗したため、COM+ Services DLL (comsvcs.dll) を読み込めませんでした。
プロセス名: wmiprvse.exe
エラー コード = 0x80070008: このコマンドを処理するのに十分なストレージがありません。
COM+ サービス内部情報:
ファイル: d:\nt\com\complus\src\comsvcs\comsvcs\comsvcs.cpp, 行: 334
Comsvcs.dll ファイル のバージョン: ENU 2001.12.4720.4045

これを解決するには、以下のリンクの手順に従ってレジストリ キーを変更し、適切な修正プログラムをインストールします。
System Center Operations Manager 2007 を使用してBizTalk Serverを監視するときの問題のトラブルシューティング

また、次のセクションで説明する追加の問題が発生する場合もあります。

一般的なタスクには、特定の権限が必要です

BizTalk ホストの作成や送信ポートの停止など、多くの一般的なタスクには、BizTalk とSQL Server内の特定の権限が必要です。 BizTalk 管理内で特定の機能を実行できない場合は、BizTalk グループへのメンバーシップが不足している可能性があります。 グループまたはロールの要件の詳細については、「 最小セキュリティ ユーザー権限」を参照してください。

1433 以外のポートでリッスンするように構成SQL Server、問題が発生する可能性があります

1433 以外のポートでリッスンするように構成されたSQL Serverは、次の動作を引き起こす可能性があります。

  • BizTalk グループの展開には予想以上に時間がかかり、赤い円が表示されます。
  • アプリケーションの展開には、予想よりも長い時間がかかります。
  • リソースの追加には、予想よりも長い時間がかかります。
  • [送信ポート] を選択すると、表示に予想以上に時間がかかります。
  • [すべての成果物] を展開すると、赤い円が表示されます。

これらの問題を解決するには、グループ内のすべての BizTalk サーバーでSQL Server ブラウザー サービスが開始されていることを確認します。 また、グループ内のすべての BizTalk サーバーで、SQL Server 構成マネージャーを開き、エイリアスを作成します。

  1. [SQL Native Client Configuration]\(SQL ネイティブ クライアント構成\) を展開し、[エイリアス] を選択 します

  2. [エイリアス] を右クリックし、[新しいエイリアス] を選択します。 次の情報を入力します。

    エイリアス名 SQL Server名
    ポート番号 SQL Serverで使用される TCP ポート
    プロトコル Tcp/ip
    サーバー SQL Server名

    たとえば、SQL Server コンピューターの名前が MySQL で、ポート 40090 でリッスンしている場合は、次のように指定します。

    エイリアス名 MySQL
    ポート番号 40090
    プロトコル Tcp/ip
    サーバー MySQL
  3. [OK] をクリックします。

    注:

    このシナリオでは、ネットワーク モニター キャプチャでポート 1433 への接続が継続的にリセットされる可能性があります。 これは通常、SQL Serverがポート 1433 でリッスンしていない場合に発生します。 SQL Server ポートを確認するには、SQL Serverを実行netstat -a noonします。 出力で sqlservr.exe プロセス ID (PID) を netstat 探して、ポート番号を確認します。

ネットワーク レイヤーは、一部の遅延を担当する可能性があります

BizTalk とSQL Serverがリモートである場合、ネットワーク レイヤーが一部の遅延を担当する可能性があります。 次の状況について検討しましょう。

  • ドメイン ネーム システム (DNS) 内で名前解決に遅延や問題が発生した場合、BizTalk 管理コンソールが影響を受けます。 回避策として、グループ内のすべての BizTalk サーバー上の hosts ファイルにSQL Server IP アドレスを追加できます。 hosts ファイルは次のディレクトリにあります。

    32 ビット サーバー: %systemroot% \system32\drivers\etc

    64 ビット サーバー: %systemroot% \SysWOW64\drivers\etc

    たとえば、SQL Server IP アドレスが 1.1.1.1 で、SQL Server名が MySQL の場合は、hosts ファイル 1.1.1.1 MySQL を追加する必要があります。

    BizTalk 管理は、64 ビット サーバーで 32 ビット プロセスとして実行されます。 その結果、以下で説明する問題が MMC に影響する可能性があります。
    32 ビット アプリケーションは、x64 ベースのバージョンの Windows Server 2003 または Windows XP を実行しているコンピューター上のドメイン ネーム システム (DNS) キャッシュを使用しません

    リモート サーバーが 32 ビット ホストで実行されている受信場所または送信ポートで指定されている場合は、このサーバーの DNS クエリも影響を受ける可能性があります。 このシナリオでは、リモート サーバーを hosts ファイルに追加できます。 たとえば、リモート サーバーの IP アドレスは であり 1.1.1.1 、リモート サーバー名は MyServer です。 以下を hosts ファイル 1.1.1.1 MyServer に追加します

    hosts ファイルを既定値にリセットするには、「 Hosts ファイルを既定値にリセットする方法」を参照してください。

  • ネットワーク インターフェイス カード (NIC) と追加のネットワーク 層 (ルーターなど) の速度 & 双方向の値は、パフォーマンスに影響を与える可能性があります。 SQL Server NIC の [速度 & 双方向] の値が 100 MB Half に設定され、BizTalk Server NIC の [スピード & 双方向] の値が 1 GB フルに設定されている場合、遅延が発生する可能性があります。

    関係するすべてのネットワーク レイヤー (NIC、ルーターなど) の速度 & 双方向の値が同じであることを確認します。 上記のシナリオでは、SQL Server NIC とルーターを 1 GB フルに構成します。

    このシナリオをテストするには、ファイルをBizTalk ServerからSQL Server上のフォルダーにコピー/貼り付けます。その逆も同様です。 このコピー プロセスに時間がかかる場合は、ネットワーク レイヤー内の何かが問題の原因になっています。

  • SQL Server データベース エンジンに接続するときは、ネットワーク プロトコルを有効にする必要があります。 BizTalk の場合は、TCP/IP プロトコルが有効になっていることを確認します。 「ネットワーク プロトコルの選択」を参照してください。

BizTalk 管理内で作業する場合の OutOfMemory 例外

BizTalk 管理内で OutOfMemory 作業するときに例外が発生する場合があります。 WMI には、 __ProviderHostQuotaConfiguration BizTalk WMI 名前空間に適用されるクラスがあります。 このクラスは、次のプロパティで構成されます。

  • HandlesPerHost
  • MemoryAllHosts
  • MemoryPerHost
  • ProcessLimitAllHosts
  • ThreadsPerHost

MemoryPerHost 値をチェックするには、グループ内のすべての BizTalk サーバーで wbemtest を使用します。

  1. [スタート] または [実行] に移動し、「wbemtest」と入力します。
  2. [ 接続 ] ボタンをクリックし、名前のペースをルートに変更します。 [接続] をクリックします。
  3. [ Enum Instances]\(列挙インスタンス\ ) ボタンをクリックし、「 __ProviderHostQuotaConfiguration」と入力します。 [OK] をクリックします。
  4. [__ProviderHostQuotaConfiguration=@] をダブルクリックします。
  5. MemoryPerHost の値が 512 MB (536870912) 未満の場合は、[MemoryPerHost] をダブルクリックし、値を 536870912 に設定します。 [ プロパティの保存] をクリックし、[ オブジェクトの保存 ] をクリックして終了します。
  6. Windows Management Instrumentation サービスを再起動します。

詳細については、「 ProviderHostQuotaConfiguration クラス」を参照してください。

トラブルシューティング

BizTalk サポート の支援が必要な場合は、問題の再現中に次のデータを収集します。

  1. 問題の再現中に、 オプションを -all 使用して BizTalk トレースをキャプチャします。 、

  2. 次の手順を使用して、BizTalk 管理コンソールで WMI トレースを有効にするようにプライベート トレース レジストリ キーを構成します。

    1. レジストリを開き、次のキーに移動します。

      32 ビット サーバー: HKEY_LOCAL_MACHINE\Software\Microsoft\BizTalk Server\3.0\Administration

      64 ビット サーバー: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\BizTalk Server\3.0\Administration

    2. プライベート トレースという名前の新しい DWORD 値をCreateし、1 に設定します。

    3. Windows Management Instrumentation サービスを再起動します。

      これにより、ログ ファイルが作成されます c:\BizTalkAdminDbgLog.txt 。 ログ ファイルのパスとファイル名を変更できます。

  3. 次のイベントを使用してSQL Server Profiler トレースをキャプチャします。

    エラーと警告 すべてのイベント
    ロック ロック: デッドロック
    ロック: エスカレーション
    ロック: タイムアウト
    セキュリティ監査 監査ログイン
    ログインの監査に失敗しました
    監査ログアウト
    セッション ExistingConnection
    ストアド プロシージャ SP: 完了
    SP: 開始中
    SP: StmtCompleted
    SP: StmtStarting
    Tsql SQL: StmtCompleted
    SQL: StmtStarting
    トランザクション DTCTransaction
    SQL トランザクション
  4. 問題を再現しながら、BizTalk サーバーと SQL サーバーで同時にネットワーク モニター キャプチャをキャプチャします。