既定のクライアント接続の動作
SQL Server Native Client をクライアント コンピューターにインストールすると、すぐにそのクライアントでデータベース エンジンのインスタンスに接続できるようになります。通常、データベース エンジンのインスタンスに接続するために、SQL Server クライアントで特別な構成を行う必要はありません。クライアント アプリケーションで指定する必要がある情報は、コンピューター名とインスタンス名だけです。SQL Server Browser サービスがサーバーで実行されていない場合は、接続のエンドポイント (TCP/IP ポートまたは名前付きパイプ) を指定して名前付きインスタンスに接続する必要があります。
注 |
---|
サーバー ネットワーク プロトコルは、既定では無効になっています。詳細については、「サーバー ネットワーク プロトコルを有効または無効にする方法 (SQL Server 構成マネージャー)」を参照してください。 |
サーバーでのローカル接続
ローカル クライアントからデータベース エンジンに接続する場合 (クライアント アプリケーションと SQL Server が同じコンピューター上にある場合)、接続では既定で共有メモリ プロトコルが使用されます。SQL Server Native Client では、共有メモリ プロトコルを使用してローカルで接続するために、次の形式のいずれかを使用できます。
"<computer_name>"
名前付きのインスタンスの場合は "<computer_name>\<instance_name>"
"(local)"
名前付きのインスタンスの場合は "(local)\<instance_name>"
"Localhost"
名前付きのインスタンスの場合は "localhost\<instance_name>"
単一のピリオド "."
名前付きのインスタンスの場合は ".\<instance_name>"
別のプロトコルを使用して、(トラブルシューティングのために) ローカルで接続するには、そのプロトコルを有効にして次のいずれかを行います。
プロトコルを指定するクライアント エイリアスに接続します。詳細については、SQL Server 構成マネージャーのヘルプの「エイリアス」を参照してください。
コンピューター名の前にプロトコルを付加します (たとえば、"np:<computer_name>" または"tcp:<computer_name>" など)。
IP アドレスに接続して TCP/IP 接続を確立します。
完全修飾ドメイン名 (FQDN) に接続して TCP/IP 接続を確立します (たとえば、"<computer_name>.<domain_name>.com" など)。
接続プロトコルの確認
次のクエリからは、現在の接続で使用しているプロトコルが返されます。
SELECT net_transport
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;
SELECT net_transport
FROM sys.dm_exec_connections
WHERE session_id = @@SPID;
ネットワーク経由の接続
既定では、SQL Server クライアントで通常使用するプロトコルは TCP/IP です。TCP/IP を使用して接続できない場合は、別の有効なプロトコルで接続しようとします。ネットワークを経由する場合、共有メモリ接続は使用できません。SQL Server 構成マネージャーを使用して、クライアント プロトコルの有効化や無効化を行ったり、接続の試行順番を変更したりします。
以前のバージョンの SQL Server との互換性
SQL Server の既定のインスタンスは、Microsoft SQL Server 2000 や Microsoft SQL Server 7.0 など、以前のバージョンの SQL Server と同じネットワーク アドレスをリッスンします。以前のバージョンのクライアント接続コンポーネントを使用するアプリケーションは、変更されることなく引き続き既定のインスタンスに接続します。SQL Server の名前付きインスタンスは、動的ポートをリッスンします。以前のバージョンのクライアント接続コンポーネントを使用するクライアント コンピューターを、そのような動的ポートのアドレスに接続するように設定する必要があります。詳細については、「クライアントが使用するサーバーの別名を作成する方法 (SQL Server 構成マネージャ)」を参照してください。
SQL Server Native Client または Microsoft Data Access Components (MDAC) クライアントが既にインストールされている場合、プロトコルの設定が維持されます。新規インストールの場合、クライアントでは VIA を除くすべてのプロトコルが有効であり、共有メモリ、TCP、名前付きパイプの順にプロトコルの適用が試行されます。
重要 |
---|
VIA プロトコルは推奨されません。この機能は、将来のバージョンの Microsoft SQL Server では削除される予定です。新しい開発作業では、この機能の使用を避け、現在この機能を使用しているアプリケーションは修正するようにしてください。 |
名前付きインスタンスに接続するには、MDAC クライアントを MDAC 2.6 以上にアップグレードする必要があります。
注 |
---|
セキュリティ強化のため、SQL Server の Developer、Evaluation、および SQL Server Express の各エディションの新規インストールでは SQL Server への TCP/IP による接続が無効になっています。MDAC 2.8 を使用して接続する OLEDB アプリケーションでは、"."、"(local)"、または (<空白>) をサーバー名に使用してローカル サーバーの既定のインスタンスに接続することができません。これを解決するには、サーバー名を指定するか、そのサーバーの TCP/IP を有効にします。ローカルの名前付きインスタンスへの接続および SQL Server Native Client を使用した接続は、影響を受けません。以前のバージョンの SQL Server が存在する環境も、影響を受けないことがあります。 |