数据库 
首页 > 数据库 > 浏览文章

SQLSERVER数据备份文件的分割备份方法

(编辑:jimmy 日期: 2024/9/24 浏览:3 次 )

当完整备份数据库的时候,我们有时候可能会遇到一种极端情况,比如服务器上C,D,E三个盘符都只剩下5G空间了

但是如果要完整备份业务库需要12G的空间,那么这时候怎么办呢?

使用文件组备份吗?但是数据库没有做表分区,没有分多个文件组,就只有一个主文件组啊

这时候我们可以使用备份文件分割

我使用自己机器示范一下,我的机器上有一个Temp2的数据库,数据库大小为1GB

SQLSERVER数据备份文件的分割备份方法

备份

我们做一个Temp2数据库的完整备份

复制代码 代码如下:
DECLARE @CurrentTime VARCHAR(50), @FileName VARCHAR(200)SET @CurrentTime = REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR, GETDATE(), 120 ),'-','_'),' ','_'),':','')        --(Temp2 数据库完整备份)SET @FileName = 'C:\Temp2_FullBackup_' + @CurrentTime+'.bak'BACKUP DATABASE [Temp2]TO DISK=@FileName WITH FORMAT

可以看到需要31MB大小

SQLSERVER数据备份文件的分割备份方法

那么如何分割备份文件呢?方法很简单

刚才是备份到C盘,现在我们备份到C盘和D盘

复制代码 代码如下:
DECLARE @CurrentTime VARCHAR(50), @FileName VARCHAR(200),@FileName2 VARCHAR(200)SET @CurrentTime = REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR, GETDATE(), 120 ),'-','_'),' ','_'),':','')        --(Temp2 数据库完整备份)SET @FileName = 'C:\Temp2_FullBackup_Partial1_' + @CurrentTime+'.bak'SET @FileName2 = 'D:\Temp2_FullBackup_Partial2_' + @CurrentTime+'.bak'BACKUP DATABASE [Temp2]TO DISK=@FileName,DISK=@FileName2WITH FORMAT

C盘

SQLSERVER数据备份文件的分割备份方法

SQLSERVER数据备份文件的分割备份方法

D盘

SQLSERVER数据备份文件的分割备份方法

SQLSERVER数据备份文件的分割备份方法

可以看到每个备份文件的大小是平均的,都是16MB,如果是分成3个备份文件,那么就除以3,就是每个备份文件的大小

当然,如果你要查询备份文件的信息,无论查询哪个备份文件都是可以查询出来的

复制代码 代码如下:
RESTORE FileListOnly From Disk='C:\Temp2_FullBackup_Partial1_2014_12_19_150533.bak'RESTORE FileListOnly From Disk='D:\Temp2_FullBackup_Partial2_2014_12_19_150533.bak'RESTORE HeaderOnly From Disk='C:\Temp2_FullBackup_Partial1_2014_12_19_150533.bak'RESTORE HeaderOnly From Disk='D:\Temp2_FullBackup_Partial2_2014_12_19_150533.bak'

SQLSERVER数据备份文件的分割备份方法

还原

复制代码 代码如下:
USE [master]RESTORE DATABASE [Temp2] FROM  DISK = N'D:\Temp2_FullBackup_Partial1_2014_12_19_150533.bak',DISK = N'D:\Temp2_FullBackup_Partial2_2014_12_19_150533.bak' WITH  FILE = 1,  MOVE N'Temp' TO N'E:\DataBase\Temp2.mdf',  MOVE N'Temp_log' TO N'E:\DataBase\Temp2_log.ldf',  NOUNLOAD,  REPLACE,  STATS = 5
GO

还原的时候只需要指定所有的备份分割文件的路径就可以了,当然我们一般在服务器搬迁的时候都会把这些备份文件一起放到新服务器的同一个盘符下面,方便还原

而不会一个放C盘,一个放D盘,一个放E盘

SQLSERVER数据备份文件的分割备份方法

还原好了,我们查询一下数据

SQLSERVER数据备份文件的分割备份方法

SQLSERVER数据备份文件的分割备份方法

还原出来的数据库没有问题,可以收工了

总结

有时候当服务器的任何一个盘符的空间都不足以放下一个完整备份文件,但是又急需要做一个完整备份,那么可以采取这种办法

当然,你也可以插入一个移动硬盘,将数据库备份到一个移动硬盘里去,但是当你做集群搬迁,只能远程到服务器去做备份的时候,这种办法就比较有用了

上一篇:sql server的 update from 语句的深究
下一篇:SQL Server 提取数字、提取英文、提取中文的sql语句
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 SiteMap