我现在在制作中发生了大量的错误,主要是超时而且:
异常类型:System.Data.SqlClient.SqlException 异常消息:资源ID:1。数据库的请求限制为180且已达到。请参阅“http://go.microsoft.com/fwlink/?LinkId=267637”以获取帮助。
经过一些调查后,我按照MSDN指南查看了 sys.dm_exec_requests 表,特别是“暂停”请求。我找到了一堆,所有这些都是 RESOURCE_SEMAPHORE 类型。据我所知,当查询没有足够的内存来执行时会发生这种情况,因此它会被放入队列,直到资源自由运行。我想进一步调查,至少通过使用sys.dm_exec_query_resource_semaphores
和sys.dm_exec_query_memory_grants
查看导致问题的确切查询,但这些在Sql Azure中不可用。所以我有点难过。
从今天早上开始,我的生产数据库已经运行了10-15分钟,然后是10-15分钟的请求限制被敲定并超时。冲洗并重复一整天。我们至少在一个月内没有对我们的数据层进行任何更改,我们从未见过这个问题,所以我想弄清楚从哪里开始。