问题
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.
回答1:
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
回答2:
Your solution - Add GO every 100 or 150 lines
http://www.red-gate.com/MessageBoard/viewtopic.php?t=8109
回答3:
I think there is no concept of timeout within a SQL script on SQL Server. You have to set the timeout in the calling layer / client.
According to this MSDN article you could try to increase the timeout this way:
exec sp_configure 'remote query timeout', 0
go
reconfigure with override
go
"Use the remote query timeout option to specify how long, in seconds, a remote operation can take before Microsoft SQL Server times out. The default 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."
P.S.: By 300 MB you mean the resulting file is 300 MB? I don't hope that the script file itself is 300 MB. That would be a world record. ;-)
来源:https://stackoverflow.com/questions/224830/how-do-i-set-a-sql-server-scripts-timeout-from-within-the-script