导语:SQL Server数据库备份是DBA日常运维核心工作。本文梳理十种SQL Server备份实现方式,同时提供SQL Server2005、2008自动定时备份实操脚本,对比传统备份与CDP连续数据保护方案差异,帮助数据库运维人员选择合适备份策略。
01 硬盘备份 + 磁带归档:备份至本地硬盘速度更快,获取备份文件便于快速恢复;完成硬盘备份后再归档至磁带实现长期保存,是DBA主流实践方式。
02 错峰时间执行备份:优先选择业务低峰期执行备份,降低对业务性能冲击;需要监控服务器负载,部分时段批处理任务同样会造成高压力。
03 使用第三方压缩软件:SQL Server原生不支持备份压缩,100G数据库就需要至少100G存储空间;Idera、Quest、Red‑Gate等工具可实现备份压缩,增加成本但节约存储。
04 写入多备份文件:采用多线程并行备份,缩短整体备份耗时,不做压缩,需要存储厂商或第三方工具支持。
05 写入多物理磁盘:备份属于高I/O负载操作,分散写入多块物理磁盘,突破单盘I/O性能瓶颈,提升备份速度。
06 文件/文件组备份:仅备份部分数据库文件组,不需要完整全库备份;依赖建库时的规划,会提升运维复杂度,风险需要提前评估。
07 数据库快照备份:生成时间点快照,可随时创建备份;大多依赖第三方软硬件,采购成本较高。
08 本地硬盘备份优于网络备份:网络备份会带来大量网络IO压力;优先备份本地磁盘,备份完成之后再拷贝归档。
09 CDP连续数据保护:持续捕获数据库事务,在备端重建mdf、ldf数据库文件,可实现容错、查询、报表能力,无需频繁在主库执行完整备份,英方i2CDP可实现该能力。
10 差异备份:基于上一次全量备份,只备份变化的数据块;全量备份按周执行,差异备份高频执行;速度快,但极端场景差异备份体积可接近全量备份。
DECLARE @strPath NVARCHAR(200) set @strPath = convert(NVARCHAR(19),getdate(),120) set @strPath = REPLACE(@strPath, ':', '.') set @strPath = 'D:\bak\' + 'databasename'+@strPath + '.bak' BACKUP DATABASE [databasename] TO DISK = @strPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT
5、添加作业计划,配置执行频率与执行时间,保存完成。
declare @filename varchar(1024) declare @path varchar(1024) set @path = N'D:\Backup\'; declare @extension_name varchar(16) set @extension_name = N'bak'; set @filename = convert(varchar(1024), getdate(), 120) set @filename = replace(@filename, ':', '') set @filename = replace(@filename, '-', '') set @filename = replace(@filename, ' ', '') set @filename = @filename + '_' + convert (varchar(3), datepart(ms, getdate())) + N'.' + @extension_name set @filename = @path + @filename backup database [MYDB] to disk = @filename with noformat, noinit, name = N'MYDB‑完整 数据库 备份', skip, norewind, nounload, stats = 10, COMPRESSION declare @olddate datetime select @olddate=getdate()-15 execute master.dbo.xp_delete_file 0, @path, @extension_name, @olddate, 1 go
英方替代方案:原生定时备份脚本配置繁琐,可选用英方i2COOPY、i2CDP产品,基于实时复制+连续数据保护,简化SQL Server数据库备份保护工作,保障数据可靠。


及时响应,快速服务,为您保驾续航
立即注册
公告
邮件
销售