admin

有没有一种方法可以直接压缩/压缩来自SQL查询的结果?

sql

最近,我一直在使用SSMS转储相对较大的表。通常的方法是设置Query->Results- To->File“执行”,选择一个文件并运行SQL查询。完成后,我通常会压缩文件,然后将其传输到本地计算机。这具有明显的问题,即主机在过夜的SQL查询期间空间不足。

我想知道是否有一种方法可以直接压缩SSMS的输出,而不必等到它转储整个查询的结果。有什么建议?主机在允许我在其上运行的功能方面受到很大限制,因此建议使用最少的第三方软件将是一个很好的建议。


阅读 231

收藏
2021-07-01

共1个答案

admin

而是从sqlcmd运行查询,并将输出通过管道传递到命令行zip(您需要安装一个zip,请参阅Windows的tar实用程序是什么?)。或者,您可以使用可以直接使用zip压缩的PowerShell,包括管道输入,请参阅使用Windows
PowerShell压缩文件,然后打包Windows Vista Sidebar
Gadget
,这不需要任何其他工具,因为主机服务器上已经有PS(尽管二读我认为PS解决方案(如链接中所示)首先仍需要放气的文件,无法压缩文件上的内容。

使用sqlcmd和7zip的示例查询:

sqlcmd -S <DATABASE> -s <COLUMNSEP> -Q "SELECT ..." | .\7za.exe a -si <FILENAME>

请记住使用-Q(运行查询并退出),而不要使用-q(运行查询),否则将无法使用。

2021-07-01