SQL Server2012 の名前付きインスタンスに対して ODBC 接続する
クライアント側
0.SQL Server 2012 SP1 Native Client (Sqlncli.msi)(x86) のインストール
? ?Download Center から、
? ?Microsoft SQL Server 2012 SP1 用 Feature Pack の中の
? ?Microsoft SQL Server 2012 SP1 Native Client (Sqlncli.msi x86,x64) を取得。
? ?http://www.microsoft.com/ja-jp/download/details.aspx?id=35580
?
Windowsの設定
0.SQL ServerのDNSへの登録がない場合、
? ? ? C:\Windows\System32\drivers\etc\hosts
? ?に以下を追記する。
? ? ? (IP adress) ? ?(サーバ名) ? (サーバ名).(ドメイン名)
?
サーバ側
SQL Serverの構成
0.サービス起動確認
? ?SQL Server 構成マネージャー を開く。
? ? ? スタート > すべてのプログラム > Microsoft SQL Server 2012 > 構成ツール
? ?SQL Server 構成マネージャー(ローカル) > SQL Server のサービス を選択。
? ?サービス開始を確認し、停止していれば、右クリックし、"開始" する。
? ? ? "SQL Server(インスタンス名)"
? ? ? "SQL Server エージェント(インスタンス名)"
?
0.名前付きインスタンスの場合 SQL Server Browser サービスの設定と起動
? ?SQL Server 構成マネージャー(ローカル) > SQL Server のサービス を選択。
? ?SQL Server Browser を右クリックし、プロパティを開く。
? ?[ログオン]タブで、[開始] ボタンをクリックして開始する。
? ?[サービス]タブで、"開始モード" を "自動" に変更する。
?
0.待ち受けプロトコル(TCP/IP)設定
? ?SQL Server 構成マネージャー(ローカル) >
? ? ? SQL Server ネットワークの構成 > (インスタンス名)のプロトコル を選択。
? ?"TCP/IP" を右クリックし、"有効化" を行う。
? ?名前付きパイプ接続を行う場合は、
? ?"名前付きパイプ" を右クリックし、"有効化" を行う。
?
0.SQL Serverのリモート接続の確認
? ?スタート > すべてのプログラム >?
? ? ? Microsoft SQL Server 2012 > SQL Server Management Studio を開く。
? ?オブジェクトエクスプローラー >?
? ? ? (サーバ名)\(インタンス名) を右クリックし、プロパティを開く。
? ?"ページの選択" > "接続" を選択。
? ? ? "このサーバーへのリモート接続を許可する" がチェックされているか確認する。
? ? ? (デフォルトではチェックが入っている)
? ?チェックがない場合、チェックして[OK]とする。
?
0.ログインアカウントと接続設定の確認
? ?オブジェクトエクスプローラー >?
? ? ? (サーバ名)\(インタンス名) を右クリックし、プロパティを開く。
? ?"セキュリティ" を選択。
? ?"サーバー認証" が "SQL Server認証モードとWindows認証モード" にする。
?
? ?オブジェクトエクスプローラー >?
? ? ? (サーバ名)\(インタンス名) > セキュリティ > ログイン を展開する。
? ?登録アカウントとその権限を確認する。
?
?
Windowsの設定
0.名前付きインスタンスへの接続の場合、DNSへのSQL Serverの登録を確認する。
? ?コマンドプロンプトで以下を確認。
? ? ? C:\.....> nslookup (サーバ名)
? ?DNSへの登録がない場合、クライアントPCのhostsに登録する。
?
?
ファイアウォールの設定
0.Windows ファイアウォールでポートのブロックを解除する。
? ?TCPポート 1433、UDPポート 1434、sqlservr.exe のブロックを解除する。
? ?(名前付きインスタンスが使用するポートは動的で固定でないため)
?
? ?スタート > コントロールパネル > Windowsファイアウォール を開く。
? ?"Windowsファイアウォールを介したプログラムまたは機能を許可する" >
? ? ? 別のプログラムの許可 > [参照] で以下を指定して [開く] とする。
?
? ? ? %ProgramFiles%\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn\sqlservr.exe
?
? ? ? プログラムの一覧に[SQL Server Windows NT - 64Bit]が表示されるので、
? ? ? [追加] > [OK] とする。
?
? ?"詳細設定" > 受信の規則 >?
? ? ? 新しい規則 > "規則の種類" で "ポート" を選択 >
? ? ? "プロトコルおよびポート" で "UDP" を、"特定のローカルポート" で "1434" を設定 >
? ? ? "操作" で "接続を許可する" を選択 >?
? ? ? "プロファイル" で全てチェック > 名前をつけて、完了。
? ? ? 同様の手順で、"TCP" の "1433" も設定。
?
?
? ?名前付きインスタンスが使用するポートを固定にして、そのポートのブロックを解除する方法もある
?
?
?
?
0.SQL Server の名前を指定する形式
?
インスタンスの型 ?/サーバー名の入力 ?
?
?
既定のプロトコルによる既定のインスタンスへの接続 ? ? APPHOST ?
既定のプロトコルによる名前付きインスタンスへの接続 ? APPHOST\SQLEXPRESS ?
同じコンピューター上の既定のインスタンスへの接続。 ?. ?/localhost/(local) ?
同じコンピューター上の名前付きインスタンスへの接続。 ?.\SQLEXPRESS /localhost\SQLEXPRESS/(local)\SQLEXPRESS ?
IP アドレスによる既定のインスタンスへの接続。 ?192.168.17.28 ?
IP アドレスによる名前付きインスタンスへの接続。 ?192.168.17.28\SQLEXPRESS ?
ポートの指定による既定のインスタンスへの接続。 APPHOST,2828 ?
ポートの指定による名前付きインスタンスへの接続。 ? ? APPHOST,2828 ??
IP アドレスとポートの指定による、既定のインスタンスへの接続。 ?192.168.17.28,2828 ?
IP アドレスとポートの指定による、名前付きインスタンスへの接続。 ?192.168.17.28,2828 ?
名前付きパイプ名の指定による、既定のインスタンスへの接続。 ?\\APPHOST\pipe\unit\app ?
名前付きパイプ名の指定による、名前付きインスタンスへの接続。 ?\\APPHOST\pipe\MSSQL$SQLEXPRESS\SQL\query ?
名前付きパイプ接続を適用する、名前による既定のインスタンスへの接続。 ?np:APPHOST ?
名前付きパイプ接続を適用する、名前による名前付きインスタンスへの接続。 ?np:APPHOST\SQLEXPRESS?
?
?