3

これは私の接続文字列です:

<add name="MyDb" providerName="System.Data.SqlClient" connectionString="Server=localhost;Data Source=.\MSSQLSERVER;Initial Catalog=MyDb;Integrated security=SSPI;" />

ローカルホストマシンでは問題なく動作しますが、サーバーでは、アプリケーションをデプロイした後、動作したくありません。次のエラーが発生します。

[SqlException(0x80131904):SQLServerへの接続の確立中にネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、およびSQLServerがリモート接続を許可するように構成されていることを確認してください。(プロバイダー:SQLネットワークインターフェイス、エラー:25-接続文字列が無効です)]

アカウントのクレデンシャルを使用するように接続文字列を変更したとき-sa、それはうまく接続されたので、これが悪いSQLサーバー構成の問題であることを正確に知っています。

だから私の質問は: SQLサーバーインスタンスを新しくインストールしましたが、asp.net mvcアプリケーションのWindows認証を許可するように構成するにはどうすればよいですか?

編集:まあ、結局のところ、私は接続文字列をもう一度見て、データソース=。\MSSQLSERVERを削除しました。それは助けになりました、今はすべてがうまくいきます、助けてくれてありがとうみんな。

4

3 に答える 3

6

アプリケーションがIISのDefaultAppPoolで実行されている場合、アプリケーションは「IIS APPPOOL \ DefaultAppPool」アカウントを使用して、統合モードでデータベースにアクセスします。したがって、SQLServerでアカウントを付与するには:

  1. SQLServerインスタンスを開く
  2. セキュリティを拡張し、「新規ログイン」を選択します
  3. ログイン名に「IISAPPPOOL\DefaultAppPool」を設定し、「ユーザーマッピング」タブからアカウントのdbアクセスを許可します。
  4. [OK]をクリックして作成します。

お役に立てれば。

于 2013-02-17T17:46:16.317 に答える
0

まず、Webページが実行されているWindowsアカウントを特定します。たとえば、次の値を出力できます。

User.Identity.Name

「ネットワークサービス」のようなローカル専用アカウントの場合は、アカウントを変更する必要があります。IISで実行している場合、アカウントはアプリケーションプールのプロパティです。

アカウントがわかれば、SQLServerでそのアカウントのログイン権限を付与できます。

于 2013-02-17T16:48:23.310 に答える
0

following article on MSDNSQLServerの認証モードを変更する方法を示すを見てください。

SQLServer管理スタジオは次のようになります。

  1. SQL Server Management Studioオブジェクトエクスプローラーで、サーバーを右クリックし、[プロパティ]をクリックします。
  2. [セキュリティ]ページの[サーバー認証]で、新しいサーバー認証モードを選択し、[OK]をクリックします。
  3. [SQL Server Management Studio]ダイアログボックスで、[OK]をクリックして、SQLServerを再起動する必要があることを確認します。
  4. オブジェクトエクスプローラーで、サーバーを右クリックし、[再起動]をクリックします。SQL Serverエージェントが実行されている場合は、それも再起動する必要があります。
于 2013-02-17T16:26:11.477 に答える