最近我一直在使用SSMS导出相对较大的表。通常的方法是设置 查询->结果->文件
,执行查询、选择一个文件并让SQL查询运行。等它完成后,我通常会将文件压缩,然后再传输到我的本地机器。这种方法显然存在问题,因为在过夜的SQL查询期间,主机可能会因空间不足而停止。
我想知道是否有一种方法可以直接压缩来自SSMS的输出,而无需等待其将整个查询结果放置到文件中。有什么建议吗?主机对于允许我在其上运行的软件非常受限,因此需要尽量少的第三方软件建议。
最近我一直在使用SSMS导出相对较大的表。通常的方法是设置 查询->结果->文件
,执行查询、选择一个文件并让SQL查询运行。等它完成后,我通常会将文件压缩,然后再传输到我的本地机器。这种方法显然存在问题,因为在过夜的SQL查询期间,主机可能会因空间不足而停止。
我想知道是否有一种方法可以直接压缩来自SSMS的输出,而无需等待其将整个查询结果放置到文件中。有什么建议吗?主机对于允许我在其上运行的软件非常受限,因此需要尽量少的第三方软件建议。
使用sqlcmd和7zip的示例查询:
sqlcmd -S <DATABASE> -s <COLUMNSEP> -Q "SELECT ..." | .\7za.exe a -si <FILENAME>
请记得使用-Q
(执行查询并退出),而不是-q
(只执行查询),否则此方法将无法正常工作。