SQL Server 2005 または SQL Server 2000 の名前付きインスタンスに以前のバージョンの SQL Server のクライアント ツールを使用して接続する方法

中小企業のお客様は、中小企業向けサポートサイトで問題解決コンテンツや学習リソースもご利用ください。

概要

Microsoft SQL Server 2005 および Microsoft SQL Server 2000 では、複数インスタンス機能が導入されています。しかし、それ以前のバージョンの Microsoft SQL Server で使用可能なクエリ アナライザや ISQL/W などのクライアント ツールでは、既定のインスタンス以外の名前付きインスタンスへの接続が困難な場合があります。たとえば、\\computer_name\instance_name という形式を使用して名前付きインスタンスに接続しようとすると、クライアント ツールから次のエラー メッセージが返される場合があります。
エラー : \\computer_name\instance_name
サーバーに接続できません\\computer_name\instance_name
サーバー : メッセージ 67、レベル 61、状態 1 [Microsoft][ODBC SQL Server Driver] クライアントの接続が確立できません。

詳細

\\computer_name\instance_name という形式を使用して名前付きインスタンスに接続するには、Microsoft Data Access Components (MDAC) 2.6 以降がインストールされている必要があります。SQL Server 2005 または SQL Server 2000 で作業する場合は、クライアント ツールと MDAC のバージョンをアップグレードすることをお勧めします。


ただし、以前のバージョンのクライアント ツールと MDAC しかインストールされていないクライアント コンピュータでも、サーバー別名を使用することで上記のエラーを回避できます。サーバー別名を使用したこの回避策では機能が限定されます。SQL Server 7.0 クライアント ツールのクエリ アナライザや Osql.exe を使用して、または SQL Server 6.5 クライアント ツールの ISQL/W や Isql.exe を使用して、SQL Server 2005 の名前付きインスタンスまたは SQL Server 2000 の名前付きインスタンスに接続することはできます。しかし、SQL Server 7.0 の Enterprise Manager を使用して SQL Server 2005 または SQL Server 2000 を管理することはできません。


以下の手順では、サーバー別名を設定して TCP/IP ソケットまたは名前付きパイプのいずれかを使用することにより、名前付きインスタンスの名前を指定することなく、SQL Server 2000 の名前付きインスタンスまたは SQL Server 2005 の名前付きインスタンスに直接接続する方法について説明します。

TCP/IP ソケットを使用する場合のサーバー別名の設定

: TCP/IP ソケットを使用する場合にサーバー別名を設定するには、サーバー名と TCP/IP ポート番号を指定する必要があります。

  1. SQL Server インスタンスの TCP/IP ポート番号を確認します。


    SQL Server 2005
    1. SQL Server 構成マネージャを開き、[SQL Server 2005 ネットワークの構成] を展開します。
    2. [InstanceName のプロトコル] をクリックし、右側のウィンドウで [TCP/IP] をダブルクリックします。


      : InstanceName は、SQL Server 2005 の名前付きインスタンスを表しています。
    3. [プロトコル] タブで [すべて受信待ち] の値を確認します。
    4. [IP アドレス] タブをクリックします。
      • [すべて受信待ち] の値が [はい] の場合、現在参照している SQL Server 2005 インスタンスの TCP/IP ポート番号は、[IPAll] の [TCP 動的ポート] に表示される値です。
      • [すべて受信待ち] の値が [いいえ] の場合、現在参照している SQL Server 2005 インスタンスの TCP/IP ポート番号は、いずれか特定の IP アドレスの [TCP 動的ポート] に表示される値です。
      : [TCP 動的ポート] の値が設定されていない場合、手動で設定する必要があります。特定の TCP ポートで受信待ちするようにサーバーを構成する方法の詳細については、次の MSDN (Microsoft Developer Network) Web サイト http://msdn2.microsoft.com/ja-jp/library/ms177440.aspx を参照してください。
    5. [OK] をクリックします。
    SQL Server 2000
    1. SQL Server 2000 を実行しているサーバーで、サーバー ネットワーク ユーティリティを起動します。
    2. [全般] タブをクリックし、[このサーバー上のインスタンス] ボックスの一覧で使用するインスタンスをクリックします。
    3. 有効になっているプロトコルの一覧で [TCP/IP] をクリックし、[プロパティ] をクリックします。選択したインスタンスの TCP/IP ポート番号が表示されます。 後で参照できるようにこの番号をメモします。
  2. クライアント コンピュータでサーバー別名を設定します。


    SQL Server 2000
    1. クライアント ネットワーク ユーティリティを起動します。
    2. [全般] タブで、[プロトコルが有効になる順序] ボックスの一覧に [TCP/IP] が表示されていることを確認します。
    3. [別名] タブをクリックし、[追加] をクリックします。
    4. [ネットワーク ライブラリ] の [TCP/IP] をクリックします。
    5. [サーバー名] ボックスに、SQL Server 2005 を実行しているサーバーの IP アドレスを入力します。


      : ここに入力する IP アドレスは、既に確認した TCP/IP ポート番号を使用するように構成されている IP アドレスです。
    6. [ポートを動的に決定する] チェック ボックスをオフにし、SQL Server 2005 インスタンスのポート番号を [ポート番号] ボックスに入力します。
    7. [サーバー別名] ボックスに別名を入力し、[OK] をクリックします。
    SQL Server 7.0
    1. クライアント ネットワーク ユーティリティを起動します。
    2. [全般] タブの [追加] をクリックし、[ネットワーク ライブラリ設定の追加] ダイアログ ボックスで [ネットワーク ライブラリ] の [TCP/IP] をクリックします。
    3. [サーバー別名] ボックスに別名を入力します。別名は任意の名前を入力できます。
    4. [コンピュータ名] ボックスに、SQL Server 2000 または SQL Server 2005 のコンピュータ名または IP アドレスを入力します。インスタンス名を追加しないでください。
    5. [ポート番号] ボックスに、手順 1. でメモしたポート番号を入力します。[OK] を 2 回クリックします。
    SQL Server 6.5
    1. SQL クライアント設定ユーティリティを起動します。
    2. [拡張] タブをクリックします。
    3. [サーバー] ボックスに別名を入力します。
    4. [DLL 名] ボックスの一覧の [TCP/IP ソケット] をクリックします。
    5. [コネクション] ボックスに SQL Server を実行しているコンピュータ名を入力し、続いてコンマ (",")、手順 1. でメモしたポート番号の順に入力します。以下に例を示します。

      ComputerA, 1523
      インスタンス名を追加しないでください。[追加/変更] をクリックします。
    6. [終了] をクリックします。


      : SQL Server 6.5 では、TCP/IP を使用した信頼関係接続はサポートされません。そのため、TCP/IP ソケットを使用する場合に、SQL Server 6.5 クライアント ツールを使用して SQL Server 2000 信頼関係接続を行うと、次のエラー メッセージが表示される場合があります。
      メッセージ 18452、レベル 14、状態 1: ユーザー 'user_name' のログインに失敗しました。理由 : SQL Server の信頼関係接続に関連付けられていません。
      SQL Server 6.5 クライアント ツールを使用する場合は、名前付きパイプを使用して信頼関係接続を行います。
これで、SQL Server 7.0 クライアント ツールのクエリ アナライザや Osql.exe を使用して、または SQL Server 6.5 クライアント ツールの ISQL/W や Isql.exe を使用して SQL Server 2005 の名前付きインスタンスまたは SQL Server 2000 の名前付きインスタンスに接続するときに、サーバー別名を使用できます。

名前付きパイプを使用する場合のサーバー別名の設定

: 名前付きパイプを使用する場合に別名を設定するには、サーバー名とパイプ名を指定する必要があります。
  1. サーバー インスタンスのパイプ名を確認します。


    SQL Server 2005
    1. SQL Server 構成マネージャを開き、[SQL Server 2005 ネットワークの構成] を展開します。
    2. [InstanceName のプロトコル] をクリックし、右側のウィンドウで [名前付きパイプ] をダブルクリックします。
    3. [プロトコル] タブで [パイプ名] の値を確認します。この [パイプ名] の値は、SQL Server がリッスンする名前付きパイプを示します。


      : [パイプ名] の値が設定されていない場合、手動で設定する必要があります。代替パイプをリッスンするようにサーバーを構成する方法の詳細については、MSDN Web サイト http://msdn2.microsoft.com/ja-jp/library/ms189321.aspx を参照してください。
    4. [OK] をクリックします。
    SQL Server 2000
    1. SQL Server 2000 を実行しているサーバーで、サーバー ネットワーク ユーティリティを起動します。
    2. [全般] タブの [このサーバー上のインスタンス] ボックスの一覧で使用するインスタンスをクリックします。
    3. 有効になっているプロトコルの一覧で [名前付きパイプ] をクリックし、[プロパティ] をクリックします。 後で参照できるようにパイプ名をメモします。

  2. クライアント コンピュータでサーバー別名を設定します。


    SQL Server 2000
    1. クライアント ネットワーク ユーティリティを起動します。
    2. [全般] タブで、[プロトコルが有効になる順序] ボックスの一覧に [名前付きパイプ] が表示されていることを確認します。
    3. [別名] タブをクリックし、[追加] をクリックします。
    4. [ネットワーク ライブラリ] の [名前付きパイプ] をクリックします。
    5. SQL Server 2005 を実行しているサーバーのパイプ名を [パイプ名] ボックスに入力します。パイプ名の最初のピリオド (.) を、SQL Server 2005 を実行しているサーバーの IP アドレスに置き換えます。たとえば、確認済みの SQL Server 2005 インスタンスのパイプ名が \\.\pipe\MSSQL$Instance\sql\query の場合には、\\IPAddess\pipe\MSSQL$Instance\sql\query と入力する必要があります。


      : "IPAddress" には、SQL Server 2005 を実行しているサーバーの IP アドレスを指定します。
    6. [サーバー別名] ボックスに別名を入力し、[OK] をクリックします。
    SQL Server 7.0
    1. クライアント ネットワーク ユーティリティを起動します。
    2. [全般] タブの [追加] をクリックし、[ネットワーク ライブラリ設定の追加] ダイアログ ボックスで [ネットワーク ライブラリ] の [名前付きパイプ] をクリックします。
    3. [サーバー別名] ボックスに別名を入力します。別名は任意の名前を入力できます。
    4. [パイプ名] ボックスに手順 1. でメモしたパイプ名を入力します。
    5. "." (ピリオド) を、SQL Server を実行しているコンピュータの実際の名前に変更します。以下に例を示します。

      \\ComputerA\pipe\MSSQL$s2000\sql\query
      インスタンス名を追加しないでください。[OK] を 2 回クリックします。
    SQL Server 6.5
    1. SQL クライアント設定ユーティリティを起動します。
    2. [拡張] タブをクリックします。
    3. [サーバー] ボックスに別名を入力します。
    4. [DLL 名] ボックスの一覧の [名前付きパイプ] をクリックします。
    5. [コネクション] ボックスに、手順 1. でメモしたパイプ名を入力します。
    6. "." (ピリオド) を、SQL Server を実行しているコンピュータの実際の名前に変更します。


      以下に例を示します。

      \\ComputerA\pipe\MSSQL$s2000\sql\query
      インスタンス名を追加しないでください。
    7. [追加/変更] をクリックし、[終了] をクリックします。
これで、SQL Server 7.0 クライアント ツールのクエリ アナライザや Osql.exe を使用して、または SQL Server 6.5 クライアント ツールの ISQL/W や Isql.exe を使用してインスタンスに接続するときに、サーバー別名を使用できます。
プロパティ

文書番号:265808 - 最終更新日: 2013/07/16 - リビジョン: 1

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 6.5 Standard Edition

フィードバック