내 서버에 몇 개의 오래된 데이터베이스가 있었기 때문에 오래된 미사용 데이터베이스를 오프라인으로 가져갔습니다.asp.net webforms 앱이 코드에서 아무 곳에서나 참조되지 않는 데이터베이스에 연결하려고합니까?
이것은 내 사이트가 이러한 데이터베이스 중 하나에 연결할 수 없다는 불만을 표시하는 등 매우 이상한 문제를 일으켰습니다.
전체 코드베이스에서 데이터베이스 이름뿐 아니라 서버의 모든 구성 파일을 검색했으며,이 데이터베이스 이름을 참조하지 않고 오프라인으로 가져 가면 오류가 발생합니다.
실제로 SQL Server와 관련이있는 것 외에도 실제로 연결 요청을하는 동안 오류가 표시되지 않습니다.
[SQLEXCEPTION (0x80131904). 오프라인이므로 데이터베이스 'MyOldDatabaseName가' 열 수 없습니다]
System.Data.SqlClient.SqlConnection.OnError (SQLEXCEPTION 예외 부울 breakConnection) 1,953,274
시스템 .Data.SqlClient.SqlInternalConnection.OnError (SQLEXCEPTION 예외 부울 breakConnection) 4,849,707
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj) 194 System.Data.SqlClient.TdsParser.Run (runBehavior runBehavior, SqlCommand cmd 핸들러 SqlDataReader의 데이터 스트림, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 2,392
System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +33
System.Data.SqlClient.SqlDataReader.get_MetaData() +96
System.Data .SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader 개체 DS, runBehavior runBehavior, 문자열 resetOptionsString) 297
System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior를 cmdBehavior, runBehavior runBehavior, 부울 returnStream, 부울 비동기) 954
시스템 .Data.SqlClient.SqlCommand .RunExecuteReader (CommandBehavior를 cmdBehavior, RunBehavior runBehavior 부울 returnStream 문자열 방법 DbAsyncResult 결과) 162
System.Data.SqlClient.SqlCommand.RunExecuteReader (CommandBehavior를 cmdBehavior, RunBehavior runBehavior 부울 returnStream 문자열 법) +32
System.Data.SqlClient.SqlCommand.ExecuteReader (CommandBehavior를 동작 문자열 법) 141
System.Data.SqlClient.SqlCommand.ExecuteReader() +89
System.Web.SessionState.SqlSessionStateStore.DoGet (HttpContext를 컨텍스트, 문자열 ID, 부울 getExclusive, 부울
System.Web.SessionState.SqlSessionStateStore.ThrowSqlConnectionException :잠겨, 시간 범위 & 수 문의 개폐, 516[. SQL Server 세션에 데이터베이스에 연결할 수 없습니다 HttpException (0X80004005)]) & lockId, SessionStateActions & actionFlags 객체 (SqlConnection conn, 예외 e) +229
System.Web.SessionState.SqlSessionStateStore.의 doGet 649
System.Web.SessionState.SqlSessionStateStore.GetItemExclusive을 (HttpContext를 컨텍스트, 문자열 ID, 부울 getExclusive, 부울 &는, 시간 범위 & 수 문의 개폐, & lockId, SessionStateActions & actionFlags 개체 잠금) (HttpContext를 컨텍스트, 문자열 ID, 부울 &는) SessionStateActions에게, 시간 범위 & 수 문의 개폐는, & lockId 개체,() 117 System.Web.SessionState.SessionStateModule.BeginAcquireSt +48
System.Web.SessionState.SessionStateModule.GetSessionStateItem을 & actionFlags을 고정 487
System.Web.AsyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 66 System.Web.HttpApplication.ExecuteStep 때 (IExecutionStep 단계 (객체 소스가있는 EventArgs 전자, AsyncCallback의 CB, extraData 객체) 먹었다, 부울 & 완료 됨) +155
machine.config 파일을 검사했는데 거기에도 참조가 없습니다. bin 폴더에서 이전 dll을 제거했습니다. 전적으로 그 이름의 데이터베이스조차없는 개발자와 동기화되었습니다. – mp3duck