程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> SQLSERVER數據備份文件的朋分備份辦法

SQLSERVER數據備份文件的朋分備份辦法

編輯:MSSQL

SQLSERVER數據備份文件的朋分備份辦法。本站提示廣大學習愛好者:(SQLSERVER數據備份文件的朋分備份辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是SQLSERVER數據備份文件的朋分備份辦法正文


當完全備份數據庫的時刻,我們有時刻能夠會碰到一種極端情形,好比辦事器上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盤

復原好了,我們查詢一下數據

復原出來的數據庫沒有成績,可以出工了

總結

有時刻當辦事器的任何一個盤符的空間都缺乏以放下一個完全備份文件,然則又急須要做一個完全備份,那末可以采用這類方法

固然,你也能夠拔出一個挪動硬盤,將數據庫備份到一個挪動硬盤裡去,然則當你做集群搬家,只能長途到辦事器去做備份的時刻,這類方法就比擬有效了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved