私は、開発環境で正常に実行されていたアプリケーションをステージング環境にデプロイする任務を負っています。パブリッシュされたファイルを展開して IIS を構成すると、期待どおりに最初のログイン画面が表示されます。ただし、ログインしようとすると、次のようになります。
Cannot open database "db1" requested by the login. The login failed.
Login failed for user 'user1'.
セットアップには、Windows Web Server 2008 R2、SQL Server Express 2008 R2、IIS 7、ASP.NET MVC4、および Entity Framework 4.4 が含まれます。
グーグルは成功したリードを見つけませんでした-ここや他の場所に投稿された回答はすべて、最終的に資格情報が正しくないか、サーバープロパティでデュアルモード認証が有効になっていないことに関係していました. サーバーのプロパティでデュアルモード認証が有効になっていることがわかります。これは、SQL Server または SSMS の Windows 認証でログインすることで確認できます。これにより、資格情報が適切であり、サーバーによって受け入れられていることも確認できます。(私の考えが間違っていたら訂正してください)
私がテストしている SQL Server、IIS、およびブラウザーは、すべて同じマシン上で実行されています。
ここに私の接続文字列があります:(内部情報が置換されています)
<add name="app1Entities" connectionString="metadata=res://*/app1.csdl|res://*/app1.ssdl|res://*/app1.msl;provider=System.Data.SqlClient;provider connection string="data source=localhost\SQLEXPRESS;initial catalog=db1;user id=user1;password=pass1;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />