今まで何度かこんな会話や議論を経験した。

「SQL Serverの接続ライセンス数(CAL数)とWindows のCAL数」についてだ。SQL Server のCALだけ Windows のライセンス数もユーザー数だけ要る、という話がされていることがある。

なお、SQL Server とは Microsoft が出しているデータベースであり、Windos OS上で稼働するものだ。

 

これ、実に馬鹿らしい話なのである。

 

製品としてどういう者があるか。SQL Server はCAL数の上限があるものとCPUライセンス(接続数の制限なし)のものがある。一方、Windows は CPU ライセンスというものがない。

そうなると、Windowsサーバーでは CAL 数の制限でWebシステムなんか構築できない、ということになりはしないか?じゃあ世の中のWindowsを使ったWebサーバーはすべてライセンス違反なのか?んなことはない。

 

そのあたり、つたないながらも解説してみよう。

 

サーバーへの接続方法としていくつかある。

telnet というものがある。OSでの標準のログインID/パスワードでログインできるものである。telnetは一般的に23番ポートを使う。

同じサーバーでも、

・ブラウザで閲覧できる http は一般的に80番ポート。

・メールの送信のSMTP、受信のPOP3はそれぞれ一般的に 25番ポートと110番ポート。

なお、smtp、http、smtp、pop3などを「サービス」と呼ぶことにする(概ねいいのだけれど、ちょっと違うので)。

ここで注意すべき点は「httpで接続する際にはログインID/パスワードを要求しない」「メールの送受信時はそれ用のID/パスワードを使っている」ということで、サーバー自体のID/パスワードを必要としない点である。

つまり「同一のサーバーで提供していてもサービスによって認証方法が違う」ということである。なお、ポート番号は一般的なものであり、変更可能である。

もう少し言えば、同じサーバー上のサービスごとに入り口があり、それぞれ独自の認証を行っている、ということである。

 

SQL Server のポートは忘れたが、SQL Server への要求はあくまでも SQL Server の CAL 数に依存するのであり、OSのCAL数に依存しないのである。

 

参考まで。ポートは「入り口」なのでこれが少なければ少ないほど、認証も厳しいほど、平文より暗号文、の方が侵入されるリスクは減る。この辺もそのうち取り上げられればと思う。

 

【まとめ(になっているだろうか・・)】

・サーバーはいろいろなサービスを提供する(Server という名前からしてそもそもそうなのですけど)。

・サービスごとに認証を管理している。

・ポート番号は任意に変更できる。

・サーバーにアクセスにはポート番号と認証の関門を通過しなければならない。