Search code examples
sql-servertimeoutsql-scripts

How do I set a SQL Server script's timeout from within the script?


I have a large script file (nearly 300MB, and feasibly bigger in the future) that I am trying to run. It has been suggested in the comments of Gulzar's answer to my question about it that I should change the script timeout to 0 (no timeout).

What is the best way to set this timeout from within the script? At the moment I have all of this at the top of the script file in the hopes that one of them does something:

sp_configure 'remote login timeout', 600
go
sp_configure 'remote query timeout', 0
go
sp_configure 'query wait', 0
go
reconfigure with override
go

However, I'm still getting the same result and I can't tell if I'm succeeding in setting the timeout because the response from sqlcmd.exe is the world's least helpful error message:

Sqlcmd: Error: Scripting error.


Solution

  • sqlcmd -t {n}
    

    Where {n} must be a number between 0 and 65535.

    Note that your question is a bit misleading since the server has no concept of a timeout and therefore you cannot set the timeout within your script.

    In your context the timeout is enforced by sqlcmd