正确理解SQL Server配置选项“remote login timeout”和“remote query timeout”
查看配置选项的设置
sp_configure
远程登录超时
参考:https://msdn.microsoft.com/en-us/library/ms175136.aspx
“The remote login timeout option specifies the number of seconds to wait before returning from a failed attempt to log in to a remote server. For example, if you are trying to log in to a remote server and that server is down, remote login timeout helps make sure that you do not have to wait indefinitely before your computer stops trying to log in. The default value for this option is 10 seconds. A value of 0 allows for an infinite wait.
The default value for this option is 20 seconds in SQL Server 2008.
The remote login timeout option affects connections to OLE DB providers made for heterogeneous queries.
The setting takes effect immediately without restarting the server.”
EXEC sp_configure ‘remote login timeout‘, 35 ; GO RECONFIGURE ; GO
远程查询超时
参考:https://msdn.microsoft.com/en-us/library/ms189040.aspx
“The remote query timeout option specifies how long, in seconds, a remote operation can take before SQL Server times out. The default value for this option is 600, which allows a 10-minute wait. This value applies to an outgoing connection initiated by the Database Engine as a remote query. This value has no effect on queries received by the Database Engine. To disable the time-out, set the value to 0. A query will wait until it is canceled.
For heterogeneous queries, remote query timeout specifies the number of seconds (initialized in the command object using the DBPROP_COMMANDTIMEOUT rowset property) that a remote provider should wait for result sets before the query times out. This value is also used to set DBPROP_GENERALTIMEOUT if supported by the remote provider. This will cause any other operations to time out after the specified number of seconds.
For remote stored procedures, remote query timeout specifies the number of seconds that must elapse after sending a remote EXEC
statement before the remote stored procedure times out.
The setting takes effect immediately without restarting the server.
”
EXEC sp_configure ‘remote query timeout‘, 0 ; GO RECONFIGURE ; GO
远程服务器和链接服务器的对应选项
参考:https://msdn.microsoft.com/en-us/library/ms178532.aspx
sp_serveroption [@server = ] ‘server‘ ,[@optname = ] ‘option_name‘ ,[@optvalue = ] ‘option_value‘ ;
connect timeout |
Time-out valuein seconds for connecting to a linked server. If 0, use the sp_configure default. |
query timeout |
Time-out value for queries against a linked server. If 0, use the sp_configure default. |
我只简单解释一句,这几个选项只是针对“outgoing connections”。