我的数据库很大,839 MB,因为可能有很多图像,而当我在SQL Management Studio中执行下一步操作时:右键单击数据库 - >任务 - >备份。 。数据库备份后MyBackup.bak文件为829 MB,是不是应该更小?我需要将我的.bak文件上传到另一台服务器,最大上传大小为250MB,因此您可以看到我遇到了问题。备份文件太大SQL Server 2012
所以我的问题是如何减少SQL Server上的.BAK文件的大小。
我的数据库很大,839 MB,因为可能有很多图像,而当我在SQL Management Studio中执行下一步操作时:右键单击数据库 - >任务 - >备份。 。数据库备份后MyBackup.bak文件为829 MB,是不是应该更小?我需要将我的.bak文件上传到另一台服务器,最大上传大小为250MB,因此您可以看到我遇到了问题。备份文件太大SQL Server 2012
所以我的问题是如何减少SQL Server上的.BAK文件的大小。
在备份数据库向导,尝试备份压缩设置为压缩备份
Right Click Database -> Tasks - > Back Up.. -> Backup Options -> Set backup Compression -> Compress backup
T-SQL
BACKUP DATABASE databasename TO DISK='path\..'
WITH COMPRESSION
采取备份检查备份大小后。如果它仍然不低于250MB
,则使用Windows中存在的任何压缩/压缩应用程序(7zip,winzip,..
)来压缩备份文件。
我选择压缩备份后出现以下错误消息“System.Data.SqlClient.SqlError:由于'COMPRESSION'是在媒体格式化为不兼容结构后请求的,因此无法执行备份。要附加到此媒体集,可以省略'COMPRESSION'或指定'NO_COMPRESSION'或者,您可以在BACKUP语句中使用WITH FORMAT创建一个新的媒体集如果您在现有媒体集上使用WITH FORMAT,则其所有备份集都将被覆盖(Microsoft.SqlServer .Smo)“ –
@ Roxy'Pro - 更改备份路径或备份的名称,然后重试 –
我更改了备份位置文件的路径,我的意思是我添加了新路径,因此它创建了新的备份而不是覆盖旧的备份,但是那样做'帮助我很多,它只有50MB的小,而不是829MB它像780. –
-- If the database size too big better to go for Split backup so that it splits backup process and it will be faster
Use Master
Go
BACKUP DATABASE [DatabaseName]
TO DISK = N'Your Path\DatabaseName_1.bak' ,
DISK = N'Your Path\DatabaseName_2.bak' ,
DISK = N'Your Path\DatabaseName_3.bak'-- You can split up to 'n' nmber of disk loactions depends od size of backup file
WITH NOFORMAT,
NOINIT, NAME = N'DatabaseName-Full Database Backup',
SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 5
GO
“很多图像可能” - 你应该首先看看你的数据库,并确实知道有什么和需要多少空间。如果您的表格被压缩,请考虑这一点。 –