IPv6 を使用して SQL Server Analysis Services の名前付きインスタンスに接続するときにエラーが発生する

この記事は、IPv6 を使用するように構成された SQL Server Analysis Services サーバーの名前付きインスタンスに接続するときに発生する可能性がある問題を解決するのに役立ちます。

元の製品バージョン: SQL Server Enterprise
元の KB 番号: 2658571

現象

Microsoft SQL Server では、IPv6 を使用して SQL Server Analysis Services (SSAS) の名前付きインスタンスに接続しようとすると、次のようなエラーが表示されます。

ターゲット マシンがアクティブに拒否したため、接続を確立できませんでした [:: n]: nnnnn (System)

注:

このエラーでは、n は整数です。

原因

この問題は、SSAS の名前付きインスタンスをホストするサーバーが、SQL Serverがインストールされたときに IPv4 と IPv6 を使用するように構成されている場合に発生する可能性があります。 その後、サーバーは後で IPv6 のみを使用するように再構成されました。

解決方法

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

  1. SQL Server Analysis Services サービスを停止します。

  2. メモ帳で Msmdredir.ini ファイルを開きます。

    注:

    既定では、Msmdredir.ini ファイルは 次のフォルダーにあります。 %ProgramFiles%\Microsoft SQL Server\90\Shared\ASConfig

  3. [ インスタンス] セクションで、名前付きインスタンスの Port プロパティと IPv6 プロパティの値が異なっていることを確認します。

  4. PortIPV6 プロパティを削除します。

  5. Msmdredir.ini ファイルを保存し、メモ帳を終了します。

  6. SQL Server Analysis Services サービスを開始します。

詳細

SSAS は、IPv4 と IPv6 の両方でリッスンするようにホスト サーバーが構成されていることを検出すると、SSAS によって MSmdredir.ini ファイルに 2 つのエントリが作成されます。 ただし、サーバーが 1 つのプロトコルでリッスンするように構成されている場合は、 <ポート> エントリが使用されます。

SSAS の名前付きインスタンスをホストするサーバーが、SQL Serverのインストール時に IPv4 と IPv6 を使用するように構成され、後で IPv6 のみを使用するようにサーバーが再構成されたシナリオを考えてみましょう。 このシナリオでは、 Msmdredir.ini ファイルには、SSAS 名前付きインスタンスがリッスンしているポートを指していない古いエントリが含まれている可能性があります。

SQL Server Analysis Services サービスが開始されると、サービスは使用されているプロトコルを検出し、Msmdredir.ini ファイルを更新します。 サーバーが IPv4 と IPv6 の両方を使用するように構成されている場合、Msmdredir.ini ファイルには 2 つのエントリがあります。 ただし、SQL Server Analysis Services サービスで 1 つのプロトコルが使用されていることが検出された場合は、Port プロパティのみが更新されます。 したがって、PortIPv6 プロパティには古い情報が含まれている可能性があります。

SQL Browser サービスは、古い情報を読み取ると、名前付きインスタンスに要求をリダイレクトし、接続エラーを引き起こす可能性があります。 PortIPv6 プロパティに含まれる古い情報が削除されると、Port プロパティの情報が使用されます。