ログインとユーザ
SQL Server 2005、2000、7.0です。
たぶん6.5や2008も同じですが、未確認です。
SQL Serverのアカウント管理には、ログインとユーザがあります。
ユーザについては、データベースユーザと呼ばれることもあります。
この2種類の関係が理解できず、設定が脆弱になっているサーバを良く見かけます。
ログインというのは、SQL Serverサービスのインスタンスに対する認証です。
一方でユーザというのは、DBに対する認証です。
ですから、ログインのみ作成してユーザを作成しないと、サーバには繋がるがクエリが実行できない、などという事態になります。
また、ユーザのみ作成してログインを作成しないと、サーバに繋がらない事態になります。
適切なユーザと適切なログインを作成し、ユーザーマッピングで紐付ける必要があります。
ただ、通常は両方セットで作成しますし、ログインとユーザには同じアカウント名を使用することが多いため、あまり意識されないようです。
意識されないからこそ、いざ必要なときにトラブルになります。
ちなみに、ログインのみを作成してユーザを作成しない場合、ユーザとしてはデフォルトでguestのみにマッピングされます。
その場合、デフォルトではmodel以外のシステムデータベースではguestが有効なため、それらのDBにのみ接続できます。
逆に接続先DBや規定のDBの設定がユーザの権限が無いDBの場合、接続時に規定のデータベースが開けない旨のエラーでログインに失敗します。
上記を理解した上で、ログインとユーザの権限をそれぞれ適切に設定する必要があります。
が、それらはまた長くなりますので、機会があればその時に。