Visual Studioで自分のWebサイト(ASP.NET MVC)を使用していましたが、サーバーでホストしたいと考えています。VisualStudioから使用するネットワーク共有に公開しました。サーバーは、Windows Home Server、IIS 6、およびSQL Server 2008 R2(エクスプレス)を実行しています。
Microsoft SQL Server Management Studioで、データベースを接続し、ユーザーIUSR_SERVERがデータベースの所有者であることを確認しました。また、ユーザーのネットワークサービスにアクセスできることを確認しました。
WebサイトはIISで、IUSR_SERVERとして匿名で実行されるように構成されています。IUSR_SERVERおよびファイルシステムのネットワークサービスへの書き込みおよび読み取りアクセスを許可し、読み取り専用のものがないことを確認しました。
web.configには次の接続文字列があります。
<connectionStrings>
<remove name="ApplicationServices" />
<add name="ApplicationServices" connectionString="Data Source=.\SQLExpress;Integrated Security=True;Initial Catalog=MyDatebase"
providerName="System.Data.SqlClient" />
</connectionStrings>
しかし、自分のWebサイトを閲覧できません。このエラーのみが発生します:
'/'アプリケーションのサーバーエラー。
ユーザーには、このアクションを実行する権限がありません。説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーとエラーがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。
例外の詳細:System.Data.SqlClient.SqlException:ユーザーにはこのアクションを実行する権限がありません。
ソースエラー:
現在のWebリクエストの実行中に、未処理の例外が生成されました。例外の発生源と場所に関する情報は、以下の例外スタックトレースを使用して識別できます。
スタックトレース:
[SqlException(0x80131904):ユーザーにはこのアクションを実行する権限がありません。]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException例外、ブール値breakConnection)+4846887 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)+194
私はすべてを試したような気がします。これであなたの援助に非常に感謝するでしょう。
編集:
This is the event in the event viewer:
Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 2010-06-05 23:55:08
Event time (UTC): 2010-06-05 21:55:08
Event ID: 88a3a76c00a34e21bf6e711b3b3a8f21
Event sequence: 137
Event occurrence: 59
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/6893/Root-2-129202466028125000
Trust level: Full
Application Virtual Path: /
Application Path: C:\Inetpub\WebPage\
Machine name: SERVER
Process information:
Process ID: 5864
Process name: w3wp.exe
Account name: SERVER\USER
Exception information:
Exception type: SqlException
Exception message: User does not have permission to perform this action.
Request information:
Request URL: http://localhost/
Request path: /
User host address: 127.0.0.1
User:
Is authenticated: False
Authentication Type:
Thread account name: SERVER\USER
Thread information:
Thread ID: 1
Thread account name: SERVER\USER
Is impersonating: True
Stack trace: at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)
at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)
at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)
at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)
at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
at System.Data.SqlClient.SqlConnection.Open()
at System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection(IConnectionUser user)
at System.Data.Linq.SqlClient.SqlProvider.get_IsSqlCe()
at System.Data.Linq.SqlClient.SqlProvider.InitializeProviderMode()
at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query)
at System.Data.Linq.DataQuery`1.System.Collections.Generic.IEnumerable<T>.GetEnumerator()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
Custom event details:
For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.