我支持构建SELECT语句并将其发送到SQL Server的IIS Web应用程序。有时语句效率不高或者是针对相当大的表,因此从SQL Management Studio运行时需要三到四分钟才能完成。当从应用程序发送语句时,它会报告以下超时:
错误[HYT00] [Microsoft] [ODBC SQL Server驱动程序]超时过期SQL: SELECT ...这里的大声明......
不可能(立即)改进发送的SQL语句,所以我需要暂时增加任何超时时间。但我似乎无法找到与此错误消息对应的超时。我希望这里的某个人可以告诉我它所指出的超时时间以及可以查看/更改的位置?
答案 0 :(得分:1)
您可以更改连接字符串并将Timeout = [seconds]添加到连接字符串 Connection String MSDN。
请注意,虽然HTTP请求也可能超时,但请确保您的SQL不超过该请求。然后是用户,非常讨厌的因素;-)这个实现也可以超时对你的网站感兴趣。
通过将表拆分为多个磁盘文件并添加CPU或Ram来更好地解决问题。同样有用的一件事是查询与表同名的视图,并删除对表的访问权限。像这样,您可以在没有更改应用程序代码的位置调整访问权限。
我们DBA为修复程序员的错误做了很多事情,所提到的封装方法只是众多选项中的一种。
希望有所帮助
沃尔特