SQL Server 2008にODBC接続
さて、クライアントからODBCでつないでみるか。
つながらない・・・。
"SQL Server does not exist or access denied"とのことだが、サーバのローカルではつながるので、ネットワークの問題と見た。
一応、ポートを調べておく
netstatして、ポート1433があがっていることを確認。
C:\Users\Administrator>netstat -na
アクティブな接続
プロトコル ローカル アドレス 外部アドレス 状態
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 0.0.0.0:<span style="font-weight:bold;">1433</span> 0.0.0.0:0 LISTENING
TCP 0.0.0.0:3389 0.0.0.0:0 LISTENING
(以下、略)
ポートスキャンしてみる
クライアント側から見ると、何番ポートが開いているのであろうか。nmapしてみる。
C:\Program Files\Nmap>nmap -O -sV hogehoge
Starting Nmap 4.85BETA7 ( http://nmap.org ) at 2009-04-22 01:01 Tokyo Standard Time
Interesting ports on shibuya-sql01 (hogehoge):
Not shown: 996 filtered ports
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn
445/tcp open netbios-ssn
3389/tcp open microsoft-rdp Microsoft Terminal Service
MAC Address: 00:0X:XX:XX:XX:XX (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed por
t
Device type: general purpose
Running (JUST GUESSING) : Microsoft Windows Vista|2008 (98%)
Aggressive OS guesses: Microsoft Windows Vista SP0 or SP1 (98%), Microsoft Windows Vista or Windows
Server 2008 SP1 (96%), Microsoft Windows Vista Business SP1 (95%), Microsoft Windows Vista Home Prem
ium (92%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop
Service Info: OS: Windows
OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 18.05 seconds
RPCやNetBIOSなんかは見えてるので、ファイアウォールのポリシーと見た。
ファイアウォールのポリシーを変更する
サーバのローカルにて、管理ツールから「セキュリティが強化されたWindowsファイアウォール」を起動。
実験環境なんでポリシーも晒しちゃう。デフォルトの状態。
左ペインで「受信の規則」を右クリックし、「新規の規則」。
今回は1433を許可したいので、「ポート」を選択。次へ。
TCPの1433を指定。次へ。
接続を許可する。次へ。
今回は全部チェック入れたが、ちゃんとした環境でやるなら、ドメインだけとかに絞るんじゃないかしら。次へ。
名前付けて完了。
再度、ポートスキャンしてみる
さて、開いたであろうか。nmapしてみる。
C:\Program Files\Nmap>nmap -O -sV hogehoge
Starting Nmap 4.85BETA7 ( http://nmap.org ) at 2009-04-22 09:24 Tokyo Standard Time
Interesting ports on shibuya-sql01 (hogehoge):
Not shown: 995 filtered ports
PORT STATE SERVICE VERSION
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn
445/tcp open netbios-ssn
<span style="font-weight:bold;">1433/tcp open ms-sql-s Microsoft SQL Server 2008</span>
3389/tcp open microsoft-rdp Microsoft Terminal Service
1 service unrecognized despite returning data. If you know the service/version, please submit the fo
llowing fingerprint at http://www.insecure.org/cgi-bin/servicefp-submit.cgi :
SF-Port1433-TCP:V=4.85BETA7%I=7%D=4/22%Time=49EE63CE%P=i686-pc-windows-windows%r(ms-sql-s,25,"\x04\x
01\0%\0\0\x01\0\0\0\x15\0\x06\x01\0\x1b\0\x01\x02
SF:\0\x1c\0\x01\x03\0\x1d\0\0\xff\n\0\x06@\0\0\0\0");
MAC Address: 00:0X:XX:XX:XX:XX (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed por
t
Device type: general purpose
Running: Microsoft Windows Vista
OS details: Microsoft Windows Vista SP0 or SP1
Network Distance: 1 hop
Service Info: OS: Windows
OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 23.13 seconds
開通。
気を取り直し、ODBC接続
ネットワークさえ開通すれば、後は特に迷うところなし。
System DSNタブ。
名前をつけて、サーバを指定。
事前に、サーバ側でSQL Serverの認証方式を混在モードにして、ユーザを作成しておいた。ID/Passwordを設定。
次へ。
完了。
テストボタンを押した結果。
無事成功。
売り上げランキング: 12,383