Recentemente descobri (tenho que admitir que não sou um DBA) que existe a possibilidade de configurar um tempo limite na propriedade SQL Serve (que se aplica a todos os bancos de dados na instância do SQL Server):
Ignorando o fato de que a imagem exibe um timeout 0 (estou experimentando, não será a configuração final); estou confuso, porque sei que o tempo limite deve ser configurado no cliente que se conecta à instância do SQL Server (tanto a conexão quanto o tempo limite do comando).
Agora eu me pergunto o que acontece se uma configuração do SQL Server diz que o tempo limite é de 10 minutos e um cliente se conecta com uma string de conexão de 20 minutos (comando e conexão). Qual timeout é aplicado?
Isso não é para conexões regulares, são consultas de saída para servidores vinculados. Ou seja, quando seu SQL Server está atuando como cliente em relação a outros mecanismos.
A configuração sp_configure é denominada "tempo limite de consulta remota (s)". Aqui está uma citação da documentação : "Este valor se aplica a uma conexão de saída iniciada pelo Mecanismo de Banco de Dados como uma consulta remota.".
Não há configuração do lado do servidor para forçar um tempo limite após um determinado tempo decorrido (AFAIK). O "mais próximo" que você pode chegar, IMO, é a configuração de 'limite de custo do governador de consulta'. Mas não é baseado no tempo decorrido, é baseado no valor estimado da consulta. Além disso, ele não atinge o tempo limite - ele proíbe a execução inicial com base na estimativa.