注意すべきことの 1 つDOMAIN\MACHINE-NAME$は、ドメインでマシンの資格情報を表すために使用される構文です。ユーザー アカウントの作成方法と同様に、ほぼ同じマシン アカウントもあります (権限が大幅に異なることを除きます)。
取得しているのでDOMAIN\MACHINE-NAME$、なりすましの問題はありません。最初に行うことは、アプリケーション プールを調べて、それがどの ID として実行されているかを確認することです。
これを行うには、IIS マネージャーを開き、[アプリケーション プール] を選択します。次に、アプリケーション プールを選択し、右側の [View Applications] をクリックします。これにより、すべてが正しくセットアップされていることを確認できます。
正しく構成されている場合は、[詳細設定...] をクリックします。[プロセス モデル] ヘッダーの下に [ID] フィールドがあり、次のいずれかである必要があります。
- ApplicationPoolIdentity
- LocalService
- ローカル システム
- ネットワークサービス
- ドメイン\アカウント
それが ApplicationPoolIdentity である場合は、期待どおりに設定されます。カスタム以外の場合は、DOMAIN\MACHINE-NAME$経験したとおりになる可能性があります。それがそのアカウントとして表示されるため、カスタム アカウントは疑わしいです。
それが ApplicationPoolIdentity であり、SQL マシンが同じマシン上にない場合 (または、ホスト名または IP アドレスを使用している可能性がある場合) DOMAIN\MACHINE-NAME$、それが ApplicationPoolIdentity のネットワーク資格情報であるため、取得される可能性があります。ApplicationPoolIdentity はIIS AppPool\ApplicationPoolローカル アクセスに使用しますがDOMAIN\MACHINE-NAME$、リモート アクセスに使用します。前者はローカルでしか使用できないためです。
また、アクセス方法が重要であることについて上で詳述した理由から、実際にその正確な接続文字列を使用していることを確認してください。
これで解決しない場合は、設定した ID と、ASP.Net の偽装が有効になっているかどうかを詳しく説明すると役立ちます。