【问题标题】:ERROR [HYT00] [Microsoft][ODBC SQL Server Driver]Timeout expired SQL - what timeout is this?错误 [HYT00] [Microsoft][ODBC SQL Server Driver]Timeout expired SQL - 这是什么超时?
【发布时间】:2014-01-20 10:19:29
【问题描述】:

我支持构建 SELECT 语句并将其发送到 SQL Server 的 IIS Web 应用程序。有时这些语句效率不高或针对非常大的表,因此从 SQL Management Studio 运行时它们需要三到四分钟才能完成。当从应用程序发送语句时,它会报告以下超时:

ERROR [HYT00] [Microsoft][ODBC SQL Server Driver]Timeout expired SQL: SELECT ...这里的大语句...

不可能(立即)改进发送的 SQL 语句,因此我需要暂时增加任何超时时间。但我似乎找不到与此错误消息对应的超时。我希望这里的人可以告诉我它指的是什么超时以及可以在哪里查看/更改?

【问题讨论】:

标签: sql-server odbc odbc-sql-server-driver


【解决方案1】:

您可以更改连接字符串并将 Timeout=[seconds] 添加到连接字符串 Connection String MSDN

请注意,尽管 HTTP 请求也可能超时,但请确保您的 SQL 不超过此值。然后是用户,非常烦人的因素 ;-) 这个实现也可以超时 - 失去对您网站的兴趣。

通过将表拆分为多个磁盘文件并添加 CPU 或 Ram 来更好地解决此问题。也有帮助的一件事是查询与表同名的视图并删除对表的访问。像这样,您可以在不需要更改应用程序代码的位置调整访问。

我们 DBA 做了很多事情来修复程序员的错误,这里提到的封装方法只是众多选项之一。

希望对你有帮助

沃尔特

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2016-11-29
    • 1970-01-01
    • 2016-09-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多