今天早上,我导航到我的网站,发现它在任何存储过程后都崩溃了:
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
我在事件查看器中注意到有人试图使用“sa”进行暴力登录攻击,所以我禁用了远程访问。
Appart from that,我不知道发生了什么。现在,无法处理任何 ASP.Net 页面,因为 SQL Server 2008 请求不起作用并且在尝试执行存储过程时总是返回 Timeout。
可能是什么原因,我应该检查和修复什么?
[编辑 3]
通过将连接字符串中的 IP 更改为 127.0.0.1 来解决。在我阻止然后解除阻止从外部 IP 访问 SQL 端口之后,一个不起眼的防火墙设置仍在阻止外部 IP。
[编辑 2]
我直接在 SQL 中进行了查询,显示的消息是:
A transport-level error has occurred when sending the request to the server.
[编辑]
类似的线程中列出了三种可能性:
1 - 某处出现了僵局。
没有为什么:
- 所有存储过程现在都回答此错误
- 攻击后没有更改任何代码或程序。
2 - 数据库的统计信息和/或查询计划缓存不正确
我输入了 DBCC FREEPROCCACHE,它成功地删除了缓存,没有错误。
我输入了 exec sp_updatestats,缓存重置没有改变任何东西。
3 - 查询太复杂,需要调优
与 1 相同。存储过程非常简单/基本。