Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何设置SQL Server脚本';脚本中的超时?_Sql Server_Timeout_Sql Scripts - Fatal编程技术网

Sql server 如何设置SQL Server脚本';脚本中的超时?

Sql server 如何设置SQL Server脚本';脚本中的超时?,sql-server,timeout,sql-scripts,Sql Server,Timeout,Sql Scripts,我有一个很大的脚本文件(将近300MB,将来可能会更大),我正试图运行它。Gulzar在回答我的问题时的评论中建议我将脚本超时更改为0(无超时) 在脚本中设置此超时的最佳方法是什么?目前,我将所有这些都放在脚本文件的顶部,希望其中一个能做些什么: sp_configure 'remote login timeout', 600 go sp_configure 'remote query timeout', 0 go sp_configure 'query wait', 0 go reconfig

我有一个很大的脚本文件(将近300MB,将来可能会更大),我正试图运行它。Gulzar在回答我的问题时的评论中建议我将脚本超时更改为0(无超时)

在脚本中设置此超时的最佳方法是什么?目前,我将所有这些都放在脚本文件的顶部,希望其中一个能做些什么:

sp_configure 'remote login timeout', 600
go
sp_configure 'remote query timeout', 0
go
sp_configure 'query wait', 0
go
reconfigure with override
go
但是,我仍然得到相同的结果,我无法判断是否成功设置了超时,因为来自sqlcmd.exe的响应是世界上最没有帮助的错误消息:

Sqlcmd:Error:Scripting错误


我认为SQL Server上的SQL脚本中没有超时的概念。您必须在调用层/客户端中设置超时

根据需要,您可以尝试通过以下方式增加超时:

exec sp_configure 'remote query timeout', 0 
go 
reconfigure with override 
go 
“使用“远程查询超时”选项指定在Microsoft SQL Server超时之前远程操作所需的时间(以秒为单位)。默认值为600,允许10分钟的等待。此值应用于数据库引擎作为远程查询启动的传出连接。此值对数据库引擎接收的查询没有影响。“

附言:300MB是指生成的文件是300MB?我不希望脚本文件本身是300MB。这将是一项世界记录。;-)

其中{n}必须是介于0和65535之间的数字

请注意,您的问题有点误导,因为您无法在脚本中设置超时


在您的上下文中,超时由您的解决方案强制执行-每100或150行添加一次GO


是的,SQL脚本本身约为300MB。我怀疑它是否是世界记录,因为它在一个非常简单的表中只有140万行!@tags2k哦,它用于在“insert”中插入数据“声明。。。我相信这样做是有原因的,但是你不能把数据放在一个文本文件中,然后通过DTS包或类似的东西导入吗?每一行都需要通过我的API进行检查,虽然我确信我可以通过DTS包复制所有检查,对于所需的时间和压力,我不妨将我已有的SQL脚本分成两部分。@edg:我从未听说过sqlcmd的-t选项,也没有在文档中找到它。但我查过了sqlcmd-?-就在那里!好极了!我想这行不通。没有设置-t的sqlcmd.exe显式表示“无超时”是的。从技术上讲,这是我问题的正确答案,但对核心问题没有帮助。无论如何谢谢你!你应该拒绝它,这样别人就会认为你的问题还没有解决。好主意,除非你的脚本使用变量。
sqlcmd -t {n}