【问题标题】:Time Limit on a SQL ServerSQL Server 的时间限制
【发布时间】:2018-04-04 20:18:50
【问题描述】:

是否可以限制 SQL Server 查询数据库的时间?

让程序返回在时间范围内可以找到的符合查询的所有结果?

【问题讨论】:

    标签: sql-server stored-procedures large-data-volumes


    【解决方案1】:

    没有 sql server 可以做到这一点,可以配置一个工作来使一个 kill process 具有很长的前置时间,但这都是非常错误的。为此使用 sys.dm_exec_query_stats https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-query-stats-transact-sql 但这是一个非常错误的策略

    【讨论】:

      【解决方案2】:

      好的,这是我对这个问题的看法:

      请不要对您的数据库执行此操作。也许您可以在连接级别上使用超时并尽快流式传输结果,但是……如果您的数据库那么大,我想这很重要。不要像这样滥用您的基础架构...

      考虑限制结果的数量(SELECT TOP * FROM ...)

      或者使用其他类型的(虚拟)分页。再说一遍:不要故意滥用连接超时...

      【讨论】:

        【解决方案3】:

        例如,如果您正在编写 Web 应用程序,您可以指定命令超时。这将在超时到期时为查询发送终止信号。终止信号不是由 SQL 引擎立即处理,而是在下一个机会期间处理。

        【讨论】:

          猜你喜欢
          • 2018-11-07
          • 2012-03-09
          • 1970-01-01
          • 1970-01-01
          • 2013-08-29
          • 2023-04-01
          • 1970-01-01
          • 2016-03-23
          • 2010-11-01
          相关资源
          最近更新 更多