- 締切済み
SQL Serverの認証方法について
SQL Serverについて学習中です。 認証方法の違いについてご教示ください。 SQL Serverには「Windows認証」と「SQL Server認証」の二つの認証方法があるところまでは理解したのですが、ネット検索や手元の資料をみても具体的なものが見えてきません。 (1)「Windows認証」でSQL Serverに接続するには: クライアントPCのWindowsアカウント名/パスワードが、SQL ServerがインストールされているPCに登録されているWindowsのユーザー名/パスワードと一致している必要がある。(一致していても、SQL Serverの設定で接続を拒否されていると接続できない) (2)「SQL Server認証」でSQL Serverに接続するには: SQL Serverの「ログイン」(←Windowsのアカウントではない)に登録されているユーザー名/パスワードと一致すれば、クライアントPCのWindowsアカウントのユーザー名/パスワードが何であっても、データベースに接続できる。 認証方法の違いについては、上記このような理解でよいのでしょうか?? しかし実際には「SQL Server認証」を選択すると、SQL Serverのユーザー名/パスワードだけでなく、Windowsアカウント名/パスワードも一致していないと接続できないように思えます。 つまり 「Windows認証」は「Windows認証だけ」で 「SQL Server認証」は「Windows認証 + SQL Server認証」(両方一致しないといけない) なのではないかという気がしています。 VBやVC#等でローカルアプリを作って複数で使用したいのですが、クライアントPCのアカウント名まで管理するのは厄介です。XPパソコンをAdministratorで使用している人がたくさんいて、Windows認証をクリアできないからです。 クライアントPCのアカウント名やパスワードに関係なく、SQL Serverに登録されたユーザー名/パスワードだけで接続するには、どうしたらよいのでしょうか? よくわかっていないので、よくわからない質問になってしまっていると思いますが、よろしくお願いします。 質問の意味がわからないところは補足しますので、ご指摘ください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- 原沢 信道(@nharasawa)
- ベストアンサー率53% (90/168)
実験した訳ではなく予測で回答しますのであしからず。 一応SQL Server認証は通常はWindows認証は不要です。 (1)Guestユーザーを有効化してみてはどうでしょうか。 (2)昔パソコンへのログインIDがサーバーにも有っ、てそのパスワードが異なると動かない場合がありました、パソコンへのログインIDをサーバーには存在しない物にしたら動きませんか。
- x-1919
- ベストアンサー率52% (91/173)
> しかし実際には「SQL Server認証」を選択すると、SQL Serverのユーザー名/パスワードだけでなく、Windowsアカウント名/パスワードも一致していないと接続できないように思えます。 そう思った根拠は? > VBやVC#等でローカルアプリを作って複数で使用したいのですが、クライアントPCのアカウント名まで管理するのは厄介です。XPパソコンをAdministratorで使用している人がたくさんいて、Windows認証をクリアできないからです。 そのための SQL Server 認証であるはず。 作成した DB へ接続させるためのユーザーを SQL Server に作成し、そのユーザーを DB に適切な権限でマッピングする必要がある。 db_owner 権限での例はこんな感じで。 http://www.movabletype.jp/documentation/mt5/advanced/creating-a-sql-server-database-2.html
お礼
再セットアップで解決しました。 ありがとうございました。
補足
回答ありがとうございます。 >そう思った根拠は? SQL Server認証を選択すると、WindowsアカウントのID/PW以外に、アプリケーションレベルで指定するSQL ServerアカウントのID/PWも一致させないと、SQL Serverにログインできないようになったからです。 そもそも、この二つの認証が同時に有効になる状態が正常なのかどうかもわかりません。 Windows認証とSQL Server認証は排他選択であるように思うのですが、なぜこうなったのか不思議です。 ちなみに(書き忘れていましたが)環境はWindows Server 2000 と SQL Server 2000 で、クライアントはほとんどがWindows XPです。接続は「商魂・商管」という業務会計ソフトと、その情報を取得して再加工するオリジナルアプリ(C#やAccessで作成)で使用しています。 リンクを参考にさせてもらいましたが、現時点ではやはり2つの認証情報が一致しないとSQL Serverに接続できません。再起動やODBCの再設定は一応行ってあります。 あきらめるしかないんでしょうか。
お礼
回答ありがとうございます。 ご教示いたいだた方法を試す前にサーバー再セットアップを始めてしまったのですが、終わってみたら意図したとおりSQL Server認証だけの環境が実現しました。 2つの認証が同時に有効になってしまったのは、パソコンのエラーだったのでしょうか・・・。 再度同じ症状がでたら、そのときは(1)(2)の方法を試させてもらいます。