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

前端 未结 3 708
天涯浪人
天涯浪人 2020-12-17 20:15

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 questi

相关标签:
3条回答
  • 2020-12-17 20:32

    Your solution - Add GO every 100 or 150 lines

    http://www.red-gate.com/MessageBoard/viewtopic.php?t=8109

    0 讨论(0)
  • 2020-12-17 20:35
    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

    0 讨论(0)
  • 2020-12-17 20:35

    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. ;-)

    0 讨论(0)
提交回复
热议问题