- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
目前互聯網上流行的數據庫有MYSQL, SQL Server, ORACLE等類型,今天為大家解析一下關于SQL Server數據庫的備份。
首先解析一下SQLServer 快速備份的十種方法。
01/硬盤來備份 磁帶來存檔
備份到硬盤比備份到磁帶要快得多,大多數經驗豐富的DBA都偏向于此法。除追求高速I/O率之外,你手邊還需要有最新的備份以便做數據恢復。當做完硬盤備份后,你需要把數據存檔到磁帶上以便長期保存。
02/利用業余時間進行備份
要做備份時最好利用業余時間,因為?據庫服務器上的操作最少,對性能影響也就越小。但是請記住,有些時候業余時間運行批量工作可能會比平時運行的工作對系統造成的壓力還要大。因此監測服務器狀況十分重要,要謹慎制定完全備份的時間段。
03/使用壓縮軟件
SQL Server備份的最好方法就是硬盤備份然后磁?歸檔。這樣的缺點是備份文件通常和數據文件大小相當。也是因為如此,如果你有一個100G的數據庫,你就需要100G的硬盤空間來進行備份。不幸的是,SQL Server不帶內嵌的壓縮工具。你可以使用壓縮產品,但這會耗掉更多時間。所幸市場上有三種壓縮工具,Idera, Quest Software Inc.和Red Gate Software Ltd.的產品都可以幫你在百忙之中創建壓縮備份。使用壓縮軟件會增加備份成本,但你的得到的好處遠遠大于這點成本。
04/寫入多文件
另一種方法就是將備份寫入多文件,這樣你就可以使用多線程進行備份了。磁帶廠商和上面提到的三個公司都提供這一服務。多任務能力可以進行更快的備份,它不會對備份文件進行壓縮,但能大大減少所用時間。
05/寫入多物理磁盤驅動器
進行完全備份對I/O設備的操作十分頻繁。每一個數據庫文件都要被讀取然后寫入另一個文件。使用多物理硬盤,你可以達到高I/O率并更快完成備份。除寫入多文件方法之外,你還可以寫入多物理硬盤來處理I/O性能瓶頸。
06/運行文件或文件組備份
SQL Server提供另外一種備份選項——文件或文件組備份。這個方法是由數據庫初始設置決定的。如果當初設置數據庫時你創建了多文件或多文件組,你就可以只備份部分數據庫而不用備份整個數據庫了。這種方法可能會增加工作復雜度和安全風險,所以在使用此法進行備份前一定要制定好計劃。
07/創建快照
快照是SQL Server提供的另一種備份方法。顧名思義,就是在數據庫運行的某個時間點創建快照。第三方軟硬件可以提供這樣的工具但成本很高。使用快照的優勢是你能隨時進行備份。
8/本地硬盤備份Vs.網絡備份
進行網絡備份會對網絡I/O設備造成一定壓力。像硬盤I/O設備一樣,利用網絡進行大量數據傳輸同樣會產生一些問題。考慮網絡備份時,創建備份所使用的時間根據不同情況也會大有不同。最好的辦法是備份到連接本地服務器的硬盤。備份完成后再拷貝到磁帶以便歸檔。
09/使用連續數據保護(CDP)
一個新的數據備份方法就是連續數據保護(CDP)。這個方法可以備份發生的事務,你可以在另一臺服務器上重建.mdf和.ldf文件以便進行容錯,報告等任何你需要的服務。這避免了在主服務器上做完全備份的情況。上海英方軟件股份有限公司就提供此項服務。
10/運行差異備份
這一選項可你使你只在上次完全備份的基礎上做部分備份。差異備份只包括上次完全備份之后發生變化的部分。完全備份每周運行一次就可以,差異備份運行就更頻繁了。差異備份的速度比較快但運行完全備份時還是要花很長時間。根據變化部分的不同,有時差異備份可能會和完全備份的大小一樣。
除此之外,還可以使用自動定時備份,讓備份變得更加省心,SQL Serve 2005 按照日期自動備份:
SQL Server自動作業備份
1、打開SQL Server Management Studio ;
2、啟動SQL Server代理 ;
3、點擊作業->新建作業 ;
4、"常規"中輸入作業的名稱 ;
5、新建步驟,類型選T-SQL,在下面的命令中輸入下面語句 ;
DECLARE @strPath NVARchar(200)
set @strPath = convert(NVARchar(19),getdate(),120)
set @strPath = replace(@strPath, ':' , '.')
set @strPath = 'D:ak' + 'databasename'+@strPath + '.bak'
BACKUP DATABASE [databasename] TO DISK = @strPath WITH NOINIT , NOUNLOAD , NOSKIP , STATS = 10, NOFORMAT
(D:ak改為自己的備份路徑,databasename修改為想備份的數據庫的名稱)
6、添加計劃,設置頻率,時間等。
確定,完成。
SQL Server 2008 自動備份數據庫腳本,構建目標文件名,調用存儲過程完成,可由計劃任務執行。
以下代碼復制到計劃任務中,做少許調整即可。
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
-- select @filename
-- 開始備份, MYDB 是需要備份的數據庫, COMPRESSION 參數表示壓縮,可節省磁盤空間
backup database [MYDB] to disk = @filename with noformat, noinit, name = N'MYDB-完整 數據庫 備份', skip, norewind, nounload, stats = 10, COMPRESSION
-- 刪除15天前的備份文件
declare @olddate datetime
select @olddate=getdate()-15
-- 執行刪除 (SQL 2008 ?備)
execute master.dbo.xp_delete_file 0, @path, @extension_name, @olddate, 1
go
當然,如果你覺得上述這些麻煩,可以聯系我們,采用i2COOPY和i2CDP,在實時備份的基礎上,進行連續數據保護,讓SQL Server 備份變得簡單,可靠。
提交成功!非常感謝您的反饋,我們會繼續努力做到更好!
這條文檔是否有幫助解決問題?
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP