Windowsサービスが実行されてNT AUTHORITY\LOCAL SYSTEM
いるときに、サービスがデータベースに接続できないという問題が発生しました。
Login failed for user 'NT AUTHORITY\LOCAL SERVICE'. Reason: Failed to open the explicitly specified database.
この特定のサービスに指定された接続文字列と同じアカウントで実行されている別のサービスの唯一の違いは、providerName
属性が欠落していることです。追加したら
providerName="System.Data.SqlClient"
接続文字列に対して、サービスはデータベースにアクセスできます。なぜこれが起こるのか誰かが説明できますか?System.Data.SqlClientがデフォルトのプロバイダーだと思いました。