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