0

Web アプリからイライラするエラーが発生します。私はこれを2日間追いかけました。状況によっては、データ アクセス試行中に以下のエラーが発生します。エラーが発生するのは、アプリのページのリンクをクリックしたときです。奇妙なことに、トレースを実行すると、SQL Server が適切なストアド プロシージャを適切な引数で呼び出していることがわかります。それ以外の場合、データ アクセスは問題なく実行されます。

私が興味を持ったのは、アプリケーション イベント ログの警告のスレッド情報です (下記)。Is impersonating:は、ASP.Net の偽装が有効になっている場合でも false に設定されます。もちろん、それは私が何を言っているのかわからないだけかもしれません。

皆さんが提供できるヘルプやガイダンスは、非常に高く評価されます。

環境: Windows Server 2008 Standard、IIS7、.net 2.x、SQL Server 2005

=======================
=    Yellow Screen    =
=======================


A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) 
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: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

Source Error: 


Line 3892:
Line 3893:    Sub getRenewalInformation(ByVal EntityID As Integer)
Line 3894:        BLLParticipant.GetParticipantRenewalInformation(EntityID)
Line 3895:        BLLParticipant.GetAdditionalInfo(EntityID)
Line 3896:    End Sub


Source File: M:\VirtualWebs\Intranet\SafeAtHome\Participants.aspx.vb    Line: 3894 

Stack Trace: 


[SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)]
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +6256377
   System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +245
   System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject) +6270399
   System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +181
   System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +6271242
   System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +6271208
   System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +354
   System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +703
   System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +54
   System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +6272472
   System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +81
   System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +1657
   System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +88
   System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +6275911
   System.Data.SqlClient.SqlConnection.Open() +258
   SafeAtHome.DAL.Participant.GetParticipantRenewalInformation(Int32 EntityID) in C:\code\web\SafeAtHome2011\SafeAtHome.DAL\Participant.vb:42
   SafeAtHome.BLL.Participant.GetParticipantRenewalInformation(Int32 EntityID) in C:\code\web\SafeAtHome2011\SafeAtHome.BLL\Participant.vb:38
   Participant.getRenewalInformation(Int32 EntityID) in M:\VirtualWebs\Intranet\SafeAtHome\Participants.aspx.vb:3894
   Participant.BindCombinedParticipants(DataSet dst) in M:\VirtualWebs\Intranet\SafeAtHome\Participants.aspx.vb:3962
   Participant.grdParticipantSearchActive_Select(Object sender, DataGridCommandEventArgs e) in M:\VirtualWebs\Intranet\SafeAtHome\Participants.aspx.vb:959
   System.Web.UI.WebControls.DataGrid.OnBubbleEvent(Object source, EventArgs e) +88
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +70
   System.Web.UI.WebControls.DataGridItem.OnBubbleEvent(Object source, EventArgs e) +110
   System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +70
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +29
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2981




--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.5420; ASP.NET Version:2.0.50727.5420 


=======================================
=    Application Event Log Warning    =
=======================================

Event code: 3005 
Event message: An unhandled exception has occurred. 
Event time: 12/6/2012 8:53:00 AM 
Event time (UTC): 12/6/2012 2:53:00 PM 
Event ID: 52ff4f11e1d64e59b020623619f93fe9 
Event sequence: 6 
Event occurrence: 1 
Event detail code: 0 

Application information: 
    Application domain: /LM/W3SVC/1/ROOT/SafeAtHome-1-129992790193691690 
    Trust level: Full 
    Application Virtual Path: /SafeAtHome 
    Application Path: M:\VirtualWebs\Intranet\SafeAtHome\ 
    Machine name: SOSDEVINTRA 

Process information: 
    Process ID: 5068 
    Process name: w3wp.exe 
    Account name: IIS APPPOOL\ASP.NET 2.0 

Exception information: 
    Exception type: SqlException 
    Exception message: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified) 

Request information: 
    Request URL: .../safeathome/Participants.aspx
    Request path: /safeathome/Participants.aspx 
    User host address: ::1 
    User: test 
    Is authenticated: True 
    Authentication Type: Forms 
    Thread account name: IIS APPPOOL\ASP.NET 2.0 

Thread information: 
    Thread ID: 3 
    Thread account name: IIS APPPOOL\ASP.NET 2.0 
    Is impersonating: False 
    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.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject)
   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 SafeAtHome.DAL.Participant.GetParticipantRenewalInformation(Int32 EntityID) in C:\code\web\SafeAtHome2011\SafeAtHome.DAL\Participant.vb:line 42
   at SafeAtHome.BLL.Participant.GetParticipantRenewalInformation(Int32 EntityID) in C:\code\web\SafeAtHome2011\SafeAtHome.BLL\Participant.vb:line 38
   at Participant.getRenewalInformation(Int32 EntityID) in M:\VirtualWebs\Intranet\SafeAtHome\Participants.aspx.vb:line 3894
   at Participant.BindCombinedParticipants(DataSet dst) in M:\VirtualWebs\Intranet\SafeAtHome\Participants.aspx.vb:line 3962
   at Participant.grdParticipantSearchActive_Select(Object sender, DataGridCommandEventArgs e) in M:\VirtualWebs\Intranet\SafeAtHome\Participants.aspx.vb:line 959
   at System.Web.UI.WebControls.DataGrid.OnBubbleEvent(Object source, EventArgs e)
   at System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
   at System.Web.UI.WebControls.DataGridItem.OnBubbleEvent(Object source, EventArgs e)
   at System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args)
   at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
4

1 に答える 1

0

いくつかのことを試してください

  1. サイトがどのアカウントで実行されているかを確認します。AppPools に移動し、[詳細設定] で変更できるはずです。ネットワークサービスに変更して、解決してみてください。

  2. SQL Server にアクセスするアカウントに、SQL Server に対する適切な権限があるかどうかを確認してください。

于 2012-12-07T15:07:18.517 に答える