SQL Server 2005でネットワーク接続できない。
M:\>osql -E
[SQL Native Client]名前付きパイプのプロバイダ : SQL Server への接続を開けません
でした [2].
[SQL Native Client]ログイン タイムアウトが時間切れになりました
[SQL Native Client]サーバーへの接続確立時にエラーが発生しました。接続先が SQL Se
rver 2005 である場合は、既定の設定では
SQL Server がリモート接続を許可していないことが原因である可能性があります。
というエラーメッセージが出ます。
SQL Server Configuration Manager で設定を確認したところ
SQL Server 2005 のサービス
SQL Server (SQLEXPRESS) 状態:実行中、開始モード:自動
SQL Server Browser 状態:停止、開始モード:その他
SQL Server 2005 ネットワークの構成 > SQLEXPRESS のプロトコル
共有メモリ :有効
名前付きパイプ :無効
TCP/IP :無効
VIA :無効
@ITの記事 『SQL Server 2005でネットワーク接続を有効にするには?』を参照して、設定変更する。
SQL Server 2005 ネットワークの構成 > SQLEXPRESS のプロトコル > TCP/IP
変更前:
TCPポート:空欄
TCP動的ポート:1440
変更後:
TCPポート:1433
TCP動的ポート:空欄
設定後の状況は次のようになる
SQL Server Configuration Manager の サービス設定画面
SQL Server Configuration Manager の プロトコル設定画面
SQL Server Configuration Manager の TCP/IP設定ダイアログ
少し古い SQL Server 2000 を利用している場合は、SQL Server Network Utility で、TCP/IPを有効 (ポート:1433)とする。
また、SQL認証を有効とするため、次のレジストリを修正する。(キーが無い場合は追加する)
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSqlserver\MSSqlServer\
LoginMode (REG_DWORD) = 2
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQLSERVER\MSSQLServer\
LoginMode (REG_DWORD) = 2