[SQL Server] データソースのテスト接続だけエラーで失敗する

SQL Server のODBC データソースの「テスト接続」がエラーで失敗するときの解決方法(原因?)の一つ。

▼ 事象

上記どおり、データソースの「テスト接続」をしたときに、

?「ユーザー ” のログインに失敗しました。理由 : SQL Server の信頼関係接続に関連付けられていません。」

というメッセージが表示されエラーに接続に失敗する。 テスト接続に失敗しているのに何故か他のサーバー(マシン)からのデータソース接続は成功する。

▼ 原因

おそらくAdministratorユーザでテストしていると思うが、この Administratorの認証に失敗していることが原因。

ローカルのユーザなのに何故??

それは、ローカルなのに外部からの接続になっているから。

ユーザの認証はNTLM認証で、Administratorユーザなら「<コンピュータ名>Administrator」でユーザを探す。この「 コンピュータ名」が”ローカル”ではない外部をさしているのだ。

このようになる場合は、hostsファイル (C:WINDOWSsystem32driversetcにある)に、以下のようなエントリーがある可能性が高い。

?127.0.0.1 ?? localhost

:(省略)

192.168.1.1? <コンピュータ名>

もうお気づきだと思うが、<コンピュータ名>が127.0.0.1でないので外部からの接続扱いになっていて、当然ローカルのユーザを探しにいかないので認証エラーになる。

▼ 解決方法

<コンピュータ名>は127.0.0.1のエントリーに登録する。

hostsファイル

?127.0.0.1 ?? localhost <コンピュータ名>

わからなければ以下の本を参考にしてもいいかも(キーワード検索なので的外れの場合もあります)
わからなければ以下の本を参考にしてもいいかも(機械検索なので的外れの場合もあります)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です