如何将SQL(SSMS)中的大表导出到(压缩)文件?

问题描述 投票:0回答:2

我正在研究SSMS v17.5并且在我的数据库中有几个非常大的表(大约200 GB存储,3.5亿行)。我想通过将其中一些存储器导出到网络驱动器来节省一些存储空间。导出向导似乎没有提供直接导出到压缩文件的选项,是否有可能使用bcp执行此操作?或者是否可以将数据导出到不同的文件类型?需要多少空间(多于或少于DB?)如果需要,需要可以将数据重新导入SQL数据库。

谢谢你的帮助!

sql-server export ssms
2个回答
0
投票

您可以先缩小数据库(如果您不需要日志),然后使用压缩进行备份,如下所示:

收缩:

use [DbName]
ALTER DATABASE [DbName] SET RECOVERY SIMPLE
GO
DBCC SHRINKFILE ([DbName_log], 5)
GO
ALTER DATABASE [DbName] SET RECOVERY FULL

使用压缩备份:

BACKUP DATABASE [DbName] TO DISK=BackupName WITH Compression

0
投票

这是不可能的,但您可以实现here描述的数据压缩,并通过另一个实用程序(如Winrar,7z或其他实用程序)压缩文件。例如,您可以使用发布的here代码

© www.soinside.com 2019 - 2024. All rights reserved.