web-dev-qa-db-ja.com

「ユーザー「NTAUTHORITY \ ANONYMOUSLOGON」のログインに失敗しました。」 SQL Server2005へ

必要なレガシーアプリケーションをWindowsServer 2008x64およびIIS7に移行しようとしています。 Classic ASPで記述されており、SQL Server2005データベースに接続します。

ただし、ページを実行すると、次のエラーが表示されます。

[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.

私が使用している接続文字列は次のとおりです。Driver=SQL Server; Server=SERVERNAME; Initial Catalog=DBNAME; 32ビットWin2k3サーバーで実行されていたとき、DOMAINNAME\SERVERNAME $を使用してSQLServerにアクセスしたため、匿名ログオンを使用している理由がわかりません。

以下の設定があります。

SQL Server2005-混合モードで実行しています。 IIS7アプリケーションプール-32ビットアプリケーションをTrueに設定できるようにします。

また、SQLServerのユーザーとしてサーバーを追加しました。

私は今、いくつかのことを試しましたが、アイデアが不足し始めています。

1
LiamGu

Odbc接続に間違ったデータベースドライバを使用していると思います。 MS SQL 2005は、SQL NativeClientを使用します。

Driver = SQLネイティブクライアント; UID =ユーザー名; PWD =パスワード; Server = SERVERNAME;初期カタログ= DBNAME;

ここからセットアップをダウンロードできます: http://www.Microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=df0ba5aa-b4bd-4705-aa0a-b477ba72a9cb

1
grub

IIS7のアプリケーションプールアカウントがSQLServerで認証できるように、接続文字列に属性を追加する必要があると思います。下記参照:

Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;

Trusted_Connectionピースにより、IISは、アプリプールアカウントの資格情報を使用して接続できます。前述のように、マシンアカウントで実行されている場合は、SQLServerで作成したログインが機能します。 。

0
Brian Knight