Eu finalmente pareço ter resolvido o problema alterando a hora de início da tarefa agendada das 1:00 às 2:00. Algo mais deve estar sobrecarregando o sistema às 1 da manhã, para que a conexão esteja realmente expirando.
Eu tenho um sistema de backup homebrewed para o SQL Server 2008 Express no Windows Server 2008. Uma tarefa agendada executa um arquivo .bat, que por sua vez chama sqlcmd.exe para executar um arquivo .sql que faz backup de todos os bancos de dados. arquivos bak. A tarefa agendada funciona bem se eu clicar com o botão direito do mouse nela e clicar em Executar, mas quando a tarefa agendada for executada no meio da noite, o sqlcmd.exe não poderá se conectar ao servidor, produzindo o erro:
Sqlcmd: Error: Microsoft SQL Server Native Client 10.0 :
Unable to complete login process due to delay in opening server connection.
Eu tenho o conjunto de tarefas agendadas para ser executado como eu mesmo, para que o usuário seja sempre o mesmo. Está definido para ser executado, se eu estou conectado ou não, e configurado para armazenar a senha. Também é definido para "executar com privilégios mais altos".
A linha sqlcmd.exe do script em lote é:
"c:\program files\microsoft sql server0\tools\binn\sqlcmd.exe" -s 127.0.0.1\SQLEXPRESS -i c:\web\backup_mssql.sql -o sqlcmd.log -b -E
Eu sei que os documentos dizem que o argumento -s deve ser -S, mas o comando não pode se conectar quando eu uso o -S.
A pergunta é: por que isso pode se conectar durante o dia, mas não quando é executado automaticamente à noite?
Eu finalmente pareço ter resolvido o problema alterando a hora de início da tarefa agendada das 1:00 às 2:00. Algo mais deve estar sobrecarregando o sistema às 1 da manhã, para que a conexão esteja realmente expirando.