应用程序空闲一段时间后,ASP.Net中的SQL Server FTS超时错误

应用程序空闲一段时间后,ASP.Net中的SQL Server FTS超时错误,asp.net,sql-server,full-text-search,Asp.net,Sql Server,Full Text Search,我们有一个页面调用内部使用SQLServer2005FTS的搜索存储过程。如果应用程序保持空闲10-15分钟,则随后对存储过程的第一次调用将超时。所有后续调用都有效 有没有办法防止这种情况发生?我们不希望第一个用户获得超时,也不希望更改代码 您好,如果数据库服务器上运行的存储过程知道web应用程序的空闲时间,我会感到惊讶。奇怪的事情发生了(虽然不是最近) 我建议你“在原处”测试一下。在SSMS中,运行存储过程,等待15分钟,然后再次运行。查看SP是否出现故障 其他问题是:您是否正确地调用了Sql

我们有一个页面调用内部使用SQLServer2005FTS的搜索存储过程。如果应用程序保持空闲10-15分钟,则随后对存储过程的第一次调用将超时。所有后续调用都有效

有没有办法防止这种情况发生?我们不希望第一个用户获得超时,也不希望更改代码


您好,

如果数据库服务器上运行的存储过程知道web应用程序的空闲时间,我会感到惊讶。奇怪的事情发生了(虽然不是最近)

我建议你“在原处”测试一下。在SSMS中,运行存储过程,等待15分钟,然后再次运行。查看SP是否出现故障


其他问题是:您是否正确地调用了SqlConnection上的Dispose?你在使用模拟吗?您的连接字符串是否已更改为地址连接池?SP是如何使用的?填充数据集?数据源控制?如果是后者,是否启用了缓存?

如果SQL Server在一段时间内(在本例中为10-15分钟)未使用数据库的全文目录,则该数据库的全文目录似乎已由SQL Server卸载。
唯一可能的解决方案是:
1.运行预热作业以确保索引未从内存转储。可以在SQL或ASP.Net上完成。

2.将调用全文搜索存储过程的方法的超时时间增加到一个更高的值。

我有一个类似的问题,fts超时时间类似,其余的则不同(我没有使用存储过程或网页),我认为这并不重要。当天的第一次搜索查询将失败并出现超时错误,然后后续查询将成功

我今天在reddit上偶然发现了这个链接:

基本上,如果您的SQL Server无法访问internet,您可以获得一个超时。运行在该链接中找到的命令(如下)完全解决了我的问题

sp_全文_服务“验证签名”,0; 去

在决定在服务器上执行此操作之前,您需要阅读全文


希望这有帮助。

我们正在使用LINQToSQL,数据上下文被包装在一个using(){}块中。没有使用缓存。我们只是将结果绑定到listview。