asp.net - SQL Server 停止十分钟

标签 asp.net sql sql-server asp.net-mvc t-sql

我管理一个包含多个在线交易的 ASP.NET MVC 3 网站。在网站上,客户可以下订单、支付账单,而供应商可以向客户开具账单。所有这些都可以同时发生,因此我有信号量来确保线程安全。

我注意到,大约每周一次,该网站会停滞十分钟。我的第一个问题是信号量中的死锁,但是在放置信号量日志并分析结果之后,似乎没有死锁。另外,十分钟后该网站会自行返回。

在调查过程中,我注意到整个网站都变得无响应,而不仅仅是使用信号量的部分。他们都严格使用数据库。这就是为什么我的主要怀疑是数据库。

更奇怪的是,每次网站都会卡住十几分钟,几乎是每秒一秒。 SQL Server 是否可以进行定期维护或可以解释这种延迟的任何原因?如果没有,您知道是什么原因造成的吗?

最佳答案

你的问题的答案似乎是"is"。环境中发生的某些事情导致了锁定。

您是否运行过 sp_who2 以查看停止时正在运行的内容?

如果不方便,则设置一个作业,每五分钟将 sp_who2 输出转储到表中。当它停止时,您可以从那里看到正在运行和工作的内容。

我遇到过类似的问题,主数据库似乎被锁定。因此,重命名数据库不起作用。幸运的是,这不是在实时交易环境中,因此等待五分钟并重试就可以了。

关于asp.net - SQL Server 停止十分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10853168/

相关文章:

c# - asp.net c# 中的动态 imageURL

asp.net - 为什么我的 CSS 宽度在 aspx 页面中不起作用?

c# - 实体之间的一对一关系不适用于 Entity Framework 6

.net - 将 Sql-Server (express) 从命名实例更改为 localhost?

asp.net - jQuery ASP.Net Web 表单 AJAX

asp.net - 为什么我提交时我的文本框无法识别值已更改?

sql - Postgresql - 如何对具有相同模式的多个表运行查询

sql - 根据第一个表的 ID 对第二个表中的值求和

MySQL:更改表以添加带外键的复合键

sql-server - 带有多个子查询的 SELECT 查询计数