sql-server - 错误 [HYT00] [Microsoft][ODBC SQL Server 驱动程序]超时已过期 SQL - 这是什么超时?

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

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

ERROR [HYT00] [Microsoft][ODBC SQL Server Driver]Timeout expired SQL: SELECT ... large statement here ...

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

最佳答案

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

请注意,HTTP 请求也可能超时,因此请确保您的 SQL 不超过该超时时间。然后是用户,非常烦人的因素;-) 这种实现也会使您的网站失去兴趣。

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

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

希望对你有帮助

沃尔特

关于sql-server - 错误 [HYT00] [Microsoft][ODBC SQL Server 驱动程序]超时已过期 SQL - 这是什么超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21231321/

相关文章:

sql-server - 在哪里下载旧的 SQL ODBC 驱动程序版本 10(不是 Native Client)

sql-server - 在客户端计算机上配置 SQL Native Client ODBC?

sql-server - 具有可变列名的 sp_rename 过程

sql-server - Azure Terraform 将 bacpac 导入 SQL Server 并禁用公共(public)网络访问

php - Ubuntu 的自定义日期格式

sql-server - 无法从 ubuntu 连接到 azure sql server

sql-server - 为什么通过函数调用 dbListTables 时会给出警告消息? (R DBI)

mysql - 在 ADO 查询中使用参数 (mysql/MyConnector)

Excel 2007 - 1004 运行时错误刷新查询表

php - 无法在 IIS 上使用 PHP 连接到 MSSQL