sqlcmd不显示RESTORE数据库状态

nat*_*nho 5 t-sql progress sqlcmd database-restore sql-server-2012

cmd窗口中的以下命令

sqlcmd -S. -Usa -Ppass -dmaster -Q "RESTORE DATABASE [MYDATABASE] FROM DISK = 'D:\SQL Server\MYDATABASE.BAK' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10"
Run Code Online (Sandbox Code Playgroud)

显示以下输出:

10 percent processed.
20 percent processed.
30 percent processed.
40 percent processed.
50 percent processed.
60 percent processed.
70 percent processed.
80 percent processed.
90 percent processed.
100 percent processed.
Processed 32320 pages for database 'MYDATABASE', file 'MYDATABASE' on file 1.
Processed 7 pages for database 'MYDATABASE', file 'MYDATABASE_log' on file 1.
Run Code Online (Sandbox Code Playgroud)

但是事实是,仅整个还原后才显示输出,从而使统计数据无用。

有什么建议吗?

这是sqlcmd工具的版本:

Microsoft (R) SQL Server Command Line Tool
Version 12.0.2000.8 NT
Copyright (c) 2014 Microsoft. All rights reserved.
Run Code Online (Sandbox Code Playgroud)

2016年12月更新:

仅在评论中共享来自Microsoft Connect链接的评论:

SQLCMD在SQL 2012中被重写为使用ODBC。这是一个似乎潜入的小回归错误。

RAISERROR('Hello', 0, 1) WITH NOWAIT沿脚本调用时报告的效果相同。

Rus*_*Fox 0

我相信您可以查看 SQL 日志来查看正在进行的进度。