クライアントマシンからSQLServerにODBC接続したときに、なかなか接続できず、いろいろ調べました。
調べて設定したことなどをまとめておきます。
1~3の設定を行いました。
設定は基本的にサーバーで行う設定です。
1.[スタートメニュー]-[すべてのプログラム]-[Microsoft SQL Server 2008 R2]-[構成ツール]-[SQL Server 構成マネージャー]を起動。
2.[SQL Server 構成マネージャー(ローカル)]-[SQL Server ネットワークの構成]-[【インスタンス名】のプロトコル]をクリック。
3.右のエリアにプロトコル名の一覧が表示されるので、[TCP/IP]を右クリックし、有効化を行う。
※SQL Server Browserの説明は後述。
1.[スタートメニュー]-[すべてのプログラム]-[Microsoft SQL Server 2008 R2]-[構成ツール]-[SQL Server 構成マネージャー]を起動。
2.[SQL Server 構成マネージャー(ローカル)]-[SQL Server のサービス]をクリック。
3.右のエリアにサービスの一覧が表示されるので、[SQL Server Browser]を右クリックし、プロパティを開く。
4.[ログオン]タブのサービスの状態のところに[開始]ボタンがあるので、開始する。
5.[サービス]タブの開始モードを[自動]に変更。
SQL Server Browserとは
SQL Serverの視点 – 「SQL Server Browser」とは?:ITproより引用
SQL Server Browserは、デフォルトでは有効化されていない。
SQL Server Browserの主な目的は、ネットワーク上にあるシステムにおけるSQL Serverデータベース・エンジンの名前付きインスタンスの場所を特定することだ。
SQL Server Expressは、SQL Server 2005の完全なサブセットなので、1つのコンピュータ上で複数の名前付きデータベース・インスタンスをサポートする。
SQL Server Browserが重要なのは、このためだ。
各SQL Serverインスタンスは、それぞれのポート番号で待機し、クライアントからの個別の要求に応答する。
SQL Serverシステムを開始すると、ポート番号が名前付きデータベース・インスタンスに動的に割り当てられる。
割り当ては動的に行われるため、システムを再起動すると、これらのポート番号は変更されることがある。
SQL Server Browserの役割は、レジストリに問い合わせ、すべてのアクティブなSQL Serverの名前付きインスタンスの場所を特定し、クライアント・アプリケーションに報告することだ。
デフォルトでは、SQL Server BrowserはUDP 1434ポートを使ってネットワークにあるクライアントにアクティブなSQL Serverデータベース・インスタンスを報告する。
1.[コントロールパネル]-[Windowsファイアウォール]を起動。
2.[Windowsファイアウォールを介したプログラムまたは機能を許可する]をクリック。
3.許可されたプログラムの一覧が表示されるので、[別のプログラムの許可]ボタンをクリック。
4.プログラムの追加ウィンドウが表示されるので、[参照]から以下のプログラムを参照し、追加。
C:\Program Files\Microsoft SQL Server\MSSQL10_50.【インスタンス名】\MSSQL\Binn\sqlservr.exe
5.許可されたプログラムの一覧に[SQL Server Windows NT]が表示されたことを確認して、[OK]。
6.[管理ツール]-[セキュリティが強化されたWindowsファイアウォール]を起動。
7.[受信の規則]-[新しい規則]をクリック。
8.[規則の種類]で[ポート]を選択し、次へ。
9.[プロトコルおよびポート]で[UDP]を選択し、特定のローカルポートに[1434]を設定し、次へ。
10.[操作]で[接続を許可する]を選択し、次へ。
11.[プロファイル]で全てのチェックをONにし、次へ。
12.[名前]で、わかりやすい名前をつけて、完了。
13.[送信の規則]-[新しい規則]をクリック。
14.「8~12」の手順を行い、完了。
SQL Serverがリモート接続を許可しているか確認する。(デフォルトでは許可されているはず)
1.[スタートメニュー]-[すべてのプログラム]-[Microsoft SQL Server 2008 R2]-[構成ツール]-[SQL Server Management Studio]を起動。
2.[オブジェクトエクスプローラー]-[(local)\【インタンス名】]を右クリックし、プロパティを開く。
3.[ページの選択]-[接続]をクリック。
4.右のエリアに[接続]の設定が表示されるので、[このサーバーへのリモート接続を許可する]がチェックされているか確認する。(デフォルトではチェックが入っているはず)
5.「4」でチェックがない場合、チェックして[OK]
クライアントのWindowsファイアウォールの設定で、UDP 1434ポートを解放してみる。
以上、SQLServerにODBC接続できない時に設定したこと、試してみたことでした。
SQL Server 2012逆引き大全515の極意(データベース構築管理編) [ 長岡秀明 … |