0

使用Invoke-Expression sqlcmd -i script.sql时似乎只显示返回的前 2 行。

当我在查询分析器中运行它返回的脚本时:

(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'.

然而,整个事情正在运行,我可以通过玩结果来看到这一点。为什么是这样?

4

1 回答 1

0

sqlcmd.exe上的文档:

SQL Server Management Studio 使用 Microsoft.NET FrameworkSqlClient 在查询编辑器中以常规和 SQLCMD 模式执行。从命令行运行 sqlcmd 时,sqlcmd 使用 OLE DB 提供程序。由于可能会应用不同的默认选项,因此当您在 SQLCMD 模式下的 SQL Server Management Studio 和 sqlcmd 实用程序中执行相同的查询时,您可能会看到不同的行为。

这可能是您看到不同结果的原因吗?

于 2010-08-22T21:46:38.750 回答