瑞士移位,我的名字叫金三顺国语版,广东福利彩票双色球
当完整备份数据库的时候,我们有时候可能会遇到一种极端情况,比如服务器上c,d,e三个盘符都只剩下5g空间了
但是如果要完整备份业务库需要12g的空间,那么这时候怎么办呢?
使用文件组备份吗?但是数据库没有做表分区,没有分多个文件组,就只有一个主文件组啊
这时候我们可以使用备份文件分割
我使用自己机器示范一下,我的机器上有一个temp2的数据库,数据库大小为1gb
备份
我们做一个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大小
那么如何分割备份文件呢?方法很简单
刚才是备份到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盘
d盘
可以看到每个备份文件的大小是平均的,都是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'
还原
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盘
还原好了,我们查询一下数据
还原出来的数据库没有问题,可以收工了
总结
有时候当服务器的任何一个盘符的空间都不足以放下一个完整备份文件,但是又急需要做一个完整备份,那么可以采取这种办法
当然,你也可以插入一个移动硬盘,将数据库备份到一个移动硬盘里去,但是当你做集群搬迁,只能远程到服务器去做备份的时候,这种办法就比较有用了
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!!
点击进行留言回复
相关文章:
-
-
sql某个日期是当年的第几周
/* *周一作为一周的开始 *当年的1月1号所在的周算作第一周 */ CREATE function GetWeekIndexFirstDate ( @...
[阅读全文]
-
-
数据库SQL---范式
1、数据冗余导致的问题:冗余存储、更新异常、插入异常、删除异常。 2、函数依赖:一种完整性约束。 在关系模式r(R)中,α属于R,β属于R。 1)α函数...
[阅读全文]
-
-
数据库SQL---查询
1、查询所有列 select *from emp;--*表示所有的,from emp表示从emp表中查询。 2、查询指定列 select empno,e...
[阅读全文]
-
-
-
-
-
网友评论