使用时,SQL Server 数据库会变得非常大,备份也是如此。它们占用大量磁盘空间,并且每次备份数据库或四处移动都非常耗时。因此,您可能想知道是否有任何方法可以创建压缩备份。
答案是“肯定”的。MSSQL 备份压缩是SQL Server2008 及更高版本上的一个强大功能,但“默认情况下它是关闭的”。要使用此功能,您可以使用 GUI 启用备份压缩选项,或使用带有压缩命令的备份脚本。
在本文中,我将向您展示如何使用压缩命令备份数据库SQL Server脚本的具体步骤。
使用压缩备份单个或几个 SQL数据库的脚本启动SQL Server Management Studio (SSMS ) 并连接到您的实例,单击标准栏上的“新建查询”,或右键单击您的数据库名称并选择新建查询。输入以下语句:
BACKUP DATABASE databasename TO DISK = ' filepath ' WITH COMPRESSION
然后单击“执行”开始。
★温馨提示:
至于Filepath,您需要输入文件的路径和名称。例如:D:\backup\database.bak
如果你想备份更多的数据库,你可以用改变的数据库名称重复这个语句。如果你不想压缩备份,你可以删除WITH COMPRESSION。
如果要压缩备份一个实例的所有 SQL数据库,启动 SSMS并照常连接,单击“新建查询”并输入以下语句:
DECLARE @name VARCHAR(50) -- 数据库名称DECLARE @path VARCHAR(256) -- 备份文件的路径DECLARE @fileName VARCHAR(256) -- 备份文件名DECLARE @fileDate VARCHAR(20) -- 用于文件名SET @path = ' filepath ' --添加路径,例如 D:\backup\SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)DECLARE db_cursor CURSOR FORSELECT nameFROM master.dbo.sysdatabasesWHERE name NOT IN ('master','model','msdb','tempdb')OPEN db_cursorFETCH NEXT FROM db_cursor INTO @nameWHILE @@FETCH_STATUS = 0BEGINSET @fileName = @path + @name + '_' + @fileDate + '.BAK'BACKUP DATABASE @name TO DISK = @fileName使用 COMPRESSIONFETCH NEXT FROM db_cursor INTO @nameENDCLOSE db_cursorDEALLOCATE db_cursor然后单击工具栏上的“执行”开始。
此外,还有一些其他陈述可能对您有所帮助:
语句:'WHERE name NOT IN ('master','model','msdb','tempdb')' 用于排除您不想备份的数据库。如果您想备份更多,您可以根据需要进行更改。例如:
WHERE 名称不在 ('tempdb')
如果您想在文件名中包含数据库名称,您可以更改语句:
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112)
进入:
SELECT @fileDate = CONVERT (NVARCHAR (20), GETDATE (), 112) + '_' +REPLACE (CONVERT (NVARCHAR (20), GETDATE (), 108), ':', '')
如果要显示备份的进度统计信息,可以在“WITH COMPRESSION”之后添加“STATS=”。例如:
WITH COMPRESSION, STATS=5(随意更改数字)
实现SQL数据库压缩备份的一种更简单的方法使用带压缩的SQL Server脚本进行数据库备份对新手来说并不友好,复杂繁琐,任何小错误都可能导致备份失败。这种方法要求您熟悉T-SQL,并且能够根据需求进行相应的修改。
如果您不熟悉T-SQL或不想使用复杂的脚本,我建议您尝试更简单的方法,例如使用可视化管理软件。这样的软件更加方便,最重要的是,您只需单击几下即可随意更改设置。在众多选择中,我认为傲梅企业备份网络版是一个很好的解决方案,原因如下:
✦ “更改压缩级别:”您可以更改压缩级别。压缩级别越高,备份文件越小。
✦ 跨 LAN 备份/传输:与 SSMS 不同,傲梅企业备份网络版 可以帮助您完成 LAN 内所有台式计算机、笔记本电脑、工作站和服务器的多个备份。
✦ “备份计划:”您可以计划自动备份任务以在固定时间段内备份您的数据库。
✦ “集中备份功能:”除了支持SQL数据库备份外,傲梅企业备份网络版还支持文件、分区、磁盘和操作系统的备份。
这些功能使得傲梅企业备份网络版成为一个强大而灵活的备份解决方案,可以简化和优化您的数据库备份工作。
如何使用 傲梅企业备份网络版实现SQL备份压缩首先,在您的计算机上下载并安装傲梅企业备份网络版。
启动软件,并通过单击计算机 > “安装客户端程序”“来安装代理程序包”。
在开始之前,您需要请求控制要备份的计算机。单击计算机 > “不受控制的计算机”,选择正确的 IP 并 右键单击它以“请求控制”。
当您的请求被所有客户端接受后,您就可以开始创建集中备份任务了。
1. 单击”任务“ > ”新任务“ > ”SQL Server 备份“。在提示窗口中,您可以看到3 个步骤。
2. 单击步骤1 中的“添加计算机”,然后选择您的客户端计算机的正确IP。
3. 步骤2是最重要的,这使得这个软件强大而独特。您可以在此步骤中“选择多个实例和数据库”进行一次备份。
4.在第3步中选择一个存储路径,在“共享”和”显示名字“的空白处填写,添加的路径将被保存以备后用。
5. 点击设置 > “压缩”,您可以选择压缩级别。级别越高,备份文件越小,但需要的时间越长。大多数时候,”普通“就足够了。然后单击”确定“ > ”开始备份“ >”创建和执行任务。“
6.除此之外,您还可以在“设置”下的“计划”中“设置”不同日/周/月时段的自动备份计划。此外,您可以在“高级”中选择完整备份或差异备份。
概括在本文中,我介绍了如何使用SQL Server脚本进行数据库压缩备份,希望对您有所帮助。当然,如果您觉得使用繁琐的SQL脚本进行压缩备份不太方便,也可以选择更为简便的方法,比如傲梅企业备份网络版。
使用傲梅企业备份网络版,您不仅可以一次性备份多个实例和数据库,还可以根据需要选择不同类型的备份。作为一款企业级备份解决方案,它能够轻松管理局域网内所有计算机的备份任务,绝对值得一试。