服务器配置:远程查询超时

适用范围:SQL Server

本文介绍如何使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 中配置 remote query timeout 服务器配置选项。

remote query timeout 选项指定在 SQL Server 超时之前,远程操作可能需要多长时间(以秒为单位)。此选项的默认值为 60010 分钟的等待。 将此值设置为 0 将禁用超时。此值适用于由作为远程查询的 数据库引擎 启动的传出连接。 此值不会对 数据库引擎接收的查询产生任何影响。 查询会一直等待,直到完成。

对于异类查询, remote query timeout 指定远程提供程序应在查询超时之前等待结果集的秒数(在命令对象中使用 DBPROP_COMMANDTIMEOUT 行集属性初始化)。此值还用于设置 DBPROP_GENERALTIMEOUT 远程提供程序是否支持的值。 这将导致任何其他操作在指定的秒数后超时。

对于远程存储过程, remote query timeout 指定在远程存储过程超时之前发送远程 EXEC 语句后必须经过的秒数。

注意

服务器 remote query timeout 配置设置与连接和查询超时错误无关。 有关详细信息,请参阅“查询超时错误疑难解答”。

先决条件

在设定此值前,必须允许远程服务器连接。

权限

默认情况下,所有用户都具备不带参数或仅带第一个参数的 sp_configure 的执行权限。 若要使用两个参数执行 sp_configure 来更改配置选项或运行 RECONFIGURE 语句,用户必须拥有 ALTER SETTINGS 服务器级别权限。 ALTER SETTINGS 权限由 sysadmin 和 serveradmin 固定服务器角色隐式拥有。

使用 SQL Server Management Studio

  1. 在对象资源管理器中,右键单击服务器并选择 “属性”

  2. 选择“连接”节点。

  3. “远程服务器连接” 下的 “远程查询超时值” 框中,键入或选择介于 0 到 2,147,483,647 之间的值以设置 SQL Server 在超时之前等待的最多秒数。

使用 Transact-SQL

  1. 连接到 数据库引擎。

  2. 在标准栏上,选择“新建查询”。

  3. 将以下示例复制并粘贴到查询窗口中,然后选择“执行”。 此示例说明如何使用 sp_configureremote query timeout 选项的值设置为 0 以禁用超时。

    USE master;
    GO
    
    EXECUTE sp_configure 'remote query timeout', 0;
    GO
    
    RECONFIGURE;
    GO
    

有关详细信息,请参阅服务器配置选项

跟进:配置 remote query timeout 选项之后

该设置将立即生效,无需重新启动服务器。