国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

SQLSERVER的一個不顯眼的功能 備份文件的分割

2024-07-21 02:48:15
字體:
來源:轉載
供稿:網友
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 = 5GO

還原的時候只需要指定所有的備份分割文件的路徑就可以了,當然我們一般在服務器搬遷的時候都會把這些備份文件一起放到新服務器的同一個盤符下面,方便還原

而不會一個放C盤,一個放D盤,一個放E盤

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

還原出來的數據庫沒有問題,可以收工了


總結

有時候當服務器的任何一個盤符的空間都不足以放下一個完整備份文件,但是又急需要做一個完整備份,那么可以采取這種辦法

當然,你也可以插入一個移動硬盤,將數據庫備份到一個移動硬盤里去,但是當你做集群搬遷,只能遠程到服務器去做備份的時候,這種辦法就比較有用了

還有一個就是不需要用winrar等壓縮軟件來壓縮分包了,SQL Server本身就可以做

如有不對的地方,歡迎大家拍磚o(∩_∩)o


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 理塘县| 周至县| 永福县| 澳门| 郴州市| 台北市| 林周县| 基隆市| 阳山县| 吴旗县| 大冶市| 廊坊市| 正宁县| 曲沃县| 吉木萨尔县| 开平市| 唐河县| 咸宁市| 阳江市| 巴彦淖尔市| 开鲁县| 阜新| 舞钢市| 沁水县| 滦平县| 防城港市| 海阳市| 河东区| 湖南省| 乐山市| 绥滨县| 龙陵县| 芮城县| 启东市| 永吉县| 日喀则市| 赫章县| 怀仁县| 专栏| 女性| 津南区|