0

SQl Server Web エディションと完全な IIS 7.5 を実行するリモート サーバーをセットアップしました。MVC 4 アプリケーションを問題なくリモート ボックスにデプロイできますが、Web サイトを実行しようとすると、次のエラーが表示されます。

Login failed for user 'IIS APPPOOL\backoffice.mysite.com'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.SqlClient.SqlException: Login failed for user 'IIS APPPOOL\backoffice.mysite.com'.

エラー コンソールには次のように表示されます。

    Exception information: 
    Exception type: InvalidOperationException 
    Exception message: The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588
   at MyModels.Filters.InitializeSimpleMembershipAttribute.SimpleMembershipInitializer..ctor() in c:\Users\Administrator\Documents\MySite\MyModels\Filters\InitializeSimpleMembershipAttribute.cs:line 47

An error occurred while getting provider information from the database. This can be caused by Entity Framework using an incorrect connection string. Check the inner exceptions for details and ensure that the connection string is correct.

エラー ログに示されているように、接続文字列が正しくない可能性が非常に高いです。Visual Studio でローカルに実行されている私の接続は次のとおりです。

<add name="MyDB" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=MyDB;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\MyDB.mdf" providerName="System.Data.SqlClient" />

リモートサーバー上の接続の変換を次のように設定しました。

<add name="MyDB" connectionString="Data Source=(local);Initial Catalog=MyDb;Integrated Security=True" providerName="System.Data.SqlClient" />
  1. 通常、私は SQL ログインを使用するので、ここで混乱します。Windows 認証を使用する SQL Server Web Edition の接続文字列は何を探す必要がありますか?

  2. IIS APPPOOL\backoffice.mysite.com が DB を作成しようとしているようです。これは正しいです?その場合、SQL Management Studio でこのユーザーのログインとユーザーを作成する必要はありませんか?

  3. デプロイを実行する前に、SQL Management Studio で DB を作成する必要がありますか?

ありがとうございます!

4

1 に答える 1

1

SQL Server の Windows 認証を使用して実行しています。IIS アプリは、'IIS APPPOOL\backoffice.mysite.com' のユーザー コンテキストで実行されています。標準のSQLサーバー資格情報を使用するか、SQL資格情報を持つ特定のWebサイト用に新しいユーザーを作成することを強くお勧めしますが、おそらく通常の資格情報の方が良いでしょう. 接続文字列の Integrated Security=SSPI は、Windows 認証を意味します。したがって、標準の SQL Server 資格情報を使用し、データベースを混合モード認証に設定し、接続文字列にユーザー ID とパスワードを設定するだけで、問題なく起動して実行できます。

于 2012-10-24T03:56:26.370 に答える