- ベストアンサー
SQLServer認証とWIndows認証
- 現在リモートのSQLServerにVB.NETのアプリからADO.NETで接続しようとしていますが、Windows認証の接続ができなく困っています。
- sqlcmdコマンド使いSQLServer認証で確認すると以下の方法であっさりできました。sqlcmd -S DBのホスト名 -U ユーザID -P パスワード -d DB名
- Windows認証は「sqlcmd -S Bのホスト名 -E」を実行するとGuestユーザではログインできるのですが、他ユーザではログインできません。シクライアントPCとDBサーバ間の信頼関係ができていないのが原因のように思われますが、クライアント及びDBサーバのWindowsのログインユーザ名/パスワードは同じ、ワークグループも同じです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
解決するかはわかりませんが、確認してみてください。 SQL Server Configuration Manager または SQL Server 構成マネージャ を起動し、 SQL Server 2005 ネットワーク構成を選択し、 接続を行えないDBのプロトコルを表示します。 そこで、 名前付きパイプが有効であることを確認してください。 TCP/IPによる接続がある場合は、TCP/IPも有効にしてください。 以上です。
その他の回答 (2)
- AKARI0418
- ベストアンサー率67% (112/166)
そうでしたね、ゲストではログインできるのでした。 そうすると、 ログインアカウントの登録の登録内容が怪しいですね、 ログインアカウントが正しいかどうかの確認をもう一度行ってみてください。 VB.NET側のタスクがどのユーザーアカウントによって実行されているのか? そのユーザーがSQLServerのログインアカウントに登録されているか?
お礼
AKARI0418様、ご回答ありがとうござます。 VB.NETでログインしているユーザ/パスワードをSQLServerのPCにも登録し、且つ、SQLServerのログインアカウントにも登録しましたが現象は変わらずでした。 ただ、AKARI0418様のご指摘のようにここが一番怪しいようですので再度一から見直してみます。正常にできたら結果ご報告させ頂きます。 ありがとうございました。
- AKARI0418
- ベストアンサー率67% (112/166)
このサイトを参考にしてみてください。 SQL Server 2005 Tips and Tips 第 1 回 ネットワーク接続を有効化しよう http://www.microsoft.com/japan/sqlserver/2005/ssj/tips/01.mspx
お礼
AKARI0418様、度々のご回答本当にありがとうございます。 お教え頂いたサイトを参考にいろいろ実施してみましたが、現象は変わらずでした。 「sqlcmd -S Bのホスト名 -E」を実行するとGuestユーザではログインできるのですが、他のユーザがやはりダメでした。
お礼
AKARI0418様、ご回答ありがとうございます。 名前付きパイプ:無効 TCP/IP:有効 でしたので、名前付きパイプを有効にしてリトライいたしました。 しかし、結果は変わらずでしたが、当方のコマンドの指定もいけないような気がしてきました。 sqlcmd -S ホスト名 -E の場合は、Guestと認識されログインできます。 しかし、Guestでは困るのでsqlcmd -S ホスト名\ユーザ名 -Eのように ホストの後ろにユーザ名を付けて指定しておりました。 Guest以外のユーザでログインしたい場合、Windows認証のケースはこのような方法で宜しいのでしょうか? お手数おかけいたしますが、宜しくお願いいたします。