使用Invoke-Expression
sqlcmd -i script.sql
时,它似乎只显示返回的前两行。
当我在查询分析器中运行它返回的脚本时:
(2 rows affected)
Changed database context to 'ShopStore'.
(5 rows affected)
Changed database context to 'ShopStore'.
但是从PowerShell我只得到:
(2 rows affected)
Changed database context to 'ShopStore'.
是的,整个事情正在进行中,我可以通过玩结果看到这一点。这是为什么?
答案 0 :(得分:0)
来自sqlcmd.exe上的文档:
SQL Server Management Studio使用 Microsoft.NET FrameworkSqlClient for 以常规和SQLCMD模式执行 在查询编辑器中。当sqlcmd运行时 从命令行,sqlcmd使用 OLE DB提供程序。因为不同 您可以使用默认选项 当你看到不同的行为 在SQL Server中执行相同的查询 SQLCMD模式和管理工作室 在sqlcmd实用程序中。
这可能就是你看到不同结果的原因吗?