ConnectionString:共有メモリ接続を使う

posted on 2006年3月29日 9:38 投稿者 Elfaria

SQL Server 2000/2005で共有メモリ接続を使用する場合、ConnectionStringのServerオプションは、(local)でなくてはならない。

先ほどDotNetNuke 3.2.2 + SQL Server 2000 SP4 でなんとか共有メモリ接続ができないかと考えてました。
昨日書いたサーバーネットワークユーティリティで、すべての接続をオフ(=共有メモリ接続しか認めない)にしたのに、何故つながらないか、悩んでました。

で、今朝、MSDNを見てみたら書いてありました。(.NET Framework 2.0のライブラリでしたが)

ローカル コンピュータに接続するには、サーバーとして (local) を指定します。サーバーは常に指定する必要があります。

接続は、まず、共有メモリで接続してみて、接続できなければ、TCP/IP接続として接続を試みるらしい。

Network Library オプションでも共有メモリ接続を使うか、TCP/IP接続を使うか指定できるみたい。

オプション名:Network Library または Net

既定値:dbmssocn

SQL Server のインスタンスへの接続を確立するために使用するネットワーク ライブラリ。サポートされる値は、dbnmpntw (名前付きパイプ)、dbmsrpcn (マルチプロトコル)、dbmsadsn (AppleTalk)、dbmsgnet (VIA)、dbmslpcn (共有メモリ)、dbmsspxn (IPX/SPX)、および dbmssocn (TCP/IP) です。

接続先のシステムに、対応するネットワーク DLL がインストールされている必要があります。ネットワークを指定せずに、.、(local) など、ローカル サーバーを使用する場合は、共有メモリが使用されます。

ちなみに、今使ってるのはSQL Server 2000(インスタンス名:SQL2000) ですが、Server=.\SQL2000 で指定していたら共有メモリ接続ができず、Server=(local)\SQL2000 と書き換えたら共有メモリ接続ができたとか。

昨日から悩んでいた問題が早くも解決。

コメント