我正在sqlcmd
运行导入/执行使用 SSMS 创建的 2 GB SQL 文件生成脚本命令。它以典型输出开始,但屏幕很快就充满了...
...
(1 rows affected)
(1 rows affected)
(1 rows affected)
(1 rows affected)
(1 rows affected)
(1 rows affected)
...
我让它运行了 20 分钟,但还没看到它结束。我不确定程序是否仍在插入新记录并因此继续输出,(1 rows affected)
或者它是否在脚本的某个地方被冻结了。在我的 Linux 机器上,我可以用热键清除终端屏幕并看到正在生成的新输出。
有什么方法可以让我判断脚本是否仍在执行或者是否在 Windows(Server 2016)中冻结?
答案1
这需要一些准备(如果脚本已经在运行,则没有太大帮助):
将输出保存到文件中:
command > .\output.txt
是一种本机方法温蒂将标准输入复制到标准输出+文件:
command | wintee output.txt
监视文件大小例如使用
dir output.txt
。
当脚本已经运行时:
监控数据库日志。
使用资源监控。
如果你正在使用Windows Server 2016 桌面体验或者脚本正在窗口中运行,向下滚动会使输出向前移动。如果脚本已冻结,您将看到窗口底部有空行,但如果新行大量涌入,则不会出现。您可以使用例如 来测试这一点
ping -t hostname
。