日常生活的交流与学习

首页 新随笔 联系 管理

sqlcmd 设置登录或者查询的超时时间

背景

sqlcmd在执行某些比较慢的查询,会很容易报出time expired的问题,而在ssms就没有该问题。所以需要查询设置查询或登录的超时时间,这样才能查询到完整的数据

命令

sqlcmd -S <dbserveripaddress> -U <dbusername> -P <dbpassword> -t 65534  -l 65534 -r 1 -w 80 -k1 -w 20000 -Y 30 -t 2 -i  <sqlscript>  >>  <sqlscriptexecuteout>

参数说明

-l login_timeout

指定在你尝试连接到服务器时 sqlcmd 登录 ODBC 驱动程序的超时时间(以秒为单位)。 
此选项设置 sqlcmd 脚本变量 SQLCMDLOGINTIMEOUT。 
登录到 sqlcmd 的默认超时时间为 8 秒。

当使用 -G 选项连接到 SQL 数据库或 SQL 数据仓库并使用 Azure Active Directory 进行身份验证时,建议超时值至少为 30 秒。

登录超时必须是介于 0 和 65534 之间的数字。 如果提供的值不是数值或不在此范围内, sqlcmd 将生成错误消息。 
该值为 0 时,则允许无限制等待。

-t query_timeout

指定命令(或 SQL 语句)超时的时间。
此选项设置 sqlcmd 脚本变量 SQLCMDSTATTIMEOUT。 
如果未指定 time_out 值,则命令将不会超时。
querytime_out 必须是介于 1 和 65534 之间的数字。 如果提供的值不是数值或不在此范围内, sqlcmd 将生成错误消息。

posted on 2024-10-29 08:00  lazycookie  阅读(7)  评论(0编辑  收藏  举报