「ApplicationPoolIdentity」ユーザーアカウントを持つIISアプリケーションプールがあり、ASP.NET MVCアプリケーションを実行しています。このアプリケーションは、最初にEFコードを使用してSQL Serverに接続し、ドメイン内の別のマシンで実行されます。これは接続文字列です:
<add name="MyDatabaseContext"
providerName="System.Data.SqlClient"
connectionString=
"Data Source=ServerName;Initial Catalog=DatabaseName;Integrated Security=True"/>
SQL Serverには、対応するActiveDirectoryグループのログインがあります。
通常、すべてがスムーズに実行されます。ただし、突然(トリガーの可能性が見つからない)、次の例外が発生し始めることがあります。
System.Data.ProviderIncompatibleException:データベースからプロバイダー情報を取得中にエラーが発生しました。これは、EntityFrameworkが誤った接続文字列を使用していることが原因である可能性があります。詳細については内部例外をチェックし、接続文字列が正しいことを確認してください。---> System.Data.ProviderIncompatibleException:プロバイダーがProviderManifestToken文字列を返しませんでした。---> System.Data.SqlClient.SqlException:ユーザー' NT AUTHORITY \ANONYMOUSLOGON 'のログインに失敗しました。
サーバーマシンを再起動すると役立ちます。ただし、これは実稼働環境では受け入れられないソリューションです。この問題は、ドメイン内で発生したAD関連の技術的な問題に起因していました。ただし、これらの問題は解決されたようです。他に考えられる理由はありますか?