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

 

 

名前をつけて、サーバを指定。

 

 

事前に、サーバ側でSQL Serverの認証方式を混在モードにして、ユーザを作成しておいた。ID/Passwordを設定。

 

 

次へ。

 

 

完了。

 

 

テストボタンを押した結果。

 

 

無事成功。