我有一个经常访问数据库的应用程序,用于许多函数。几天来天气一直很好。今天早上我收到了一个System.Data.SqlClient.SqlException异常。当这种情况发生时,应用程序并没有做任何异常的事情。对于造成这种情况的原因,或如何在今后防止这种情况,有什么想法吗?
Windows事件日志
NT AUTHORITY\SYSTEM
Reason: Failed to open the explicitly specified database.
[CLIENT: <local machine>] 异常堆栈跟踪
System.Data.SqlClient.SqlException (0x80131904):
Cannot open database ""MyDB"" requested by the login. The login failed.
Login failed for user 'NT AUTHORITY\SYSTEM'.
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.DataContext.SubmitChanges(ConflictMode failureMode)
at System.Data.Linq.DataContext.SubmitChanges()
at ***.SubmitContextChanges(DataContext dataContext, Int32 counter) in c:\Work\***.cs:line 332Windows事件紧接之后
Attempting to load library 'xpstar.dll' into memory.
This is an informational message only. No user action is required.发布于 2013-03-21 18:33:14
结果发现,我们的一张桌子太大了,脸红得不够频繁。赖特到数据库的方法正在超时,我们的重试方法抛出了错误。
发布于 2013-03-21 17:35:04
此消息意味着它确实与服务器联系,但无法打开连接字符串中指定的数据库(在异常消息中命名)。
要检查的事情:
发布于 2013-03-21 20:33:49
xpstar.dll并没有突如其来地加载。此dll承载管理工具使用的扩展存储过程。事件发生时加载的事实意味着服务器上存在管理工具活动。这就为你的数据库打开了很多条路,甚至是暂时的。
下一步是检查管理默认跟踪并查看事件发生前后是否可以找到任何活动。
https://stackoverflow.com/questions/15554080
复制相似问题