作為一個(gè)sql server的用戶,sql server備份是需要學(xué)習(xí)的,下面就將為您介紹sql server備份的方法,供您參考,希望對(duì)你學(xué)習(xí)SQL數(shù)據(jù)庫(kù)有所幫助。
為了減少數(shù)據(jù)庫(kù)服務(wù)器出問(wèn)題導(dǎo)致數(shù)據(jù)掉失,一般都要進(jìn)行sql server備份,視對(duì)數(shù)據(jù)的重要性和性能的折中采用不同的sql server備份方案。
一般備份方案為:
全局備份(一周一次)+增量備份(一天一次)+事務(wù)日志備份(兩小時(shí)一次,視對(duì)數(shù)據(jù)的重視情況而選擇)
這樣的話即使出現(xiàn)問(wèn)題,數(shù)據(jù)掉失的范圍是兩個(gè)小時(shí)。
全局備份:
- declare @backPath nvarchar(1000)
- set @backPath = N'C:\Program Files\Microsoft SQL Server\MSSQL.4\MSSQL\Backup\TestDB\TestDB_backup_200907281015.bak'
- declare @backName nvarchar(200)
- set @backName = N'TestDB_backup_20090728101556'
-
- BACKUP DATABASE [TestDB] TO DISK = @backPath
- WITH NOFORMAT, NOINIT, NAME = , SKIP, REWIND, NOUNLOAD, STATS = 10
增量備份:
- declare @backPath nvarchar(1000)
- set @backPath = N'C:\Program Files\Microsoft SQL Server\MSSQL.4\MSSQL\Backup\TestDB\TestDB_backup_200907281017.bak'
- declare @backName nvarchar(200)
- set @backName = N'TestDB_backup_20090728101729'
-
- BACKUP DATABASE [TestDB] TO DISK = @backPath
- WITH DIFFERENTIAL , NOFORMAT, NOINIT, NAME = @backName, SKIP, REWIND, NOUNLOAD, STATS = 10
增量備份的時(shí)候把日志進(jìn)行截?cái)?,防止日志過(guò)大
- --截?cái)嗍聞?wù)日志:
-
- Backup Log Northwind
- With No_Log
-
- --收縮日志文件:
-
- dbcc shrinkdatabase(Northwind)
對(duì)事物日志進(jìn)行備份
- Backup Log NorthwindCS
- To disk='G:\Backup\NorthwindCS_Log_20070908.bak'
- With No_Truncate
針對(duì)不同頻率做相應(yīng)的作業(yè)操作。
如果同一服務(wù)器上有不同的數(shù)據(jù)庫(kù),對(duì)各個(gè)數(shù)據(jù)進(jìn)行上面的作業(yè)明顯不合適,這樣可以用sql server2005的維護(hù)計(jì)劃來(lái)實(shí)現(xiàn)對(duì)所有數(shù)據(jù)庫(kù)的維護(hù)操作。
該文章在 2011/5/4 23:22:17 編輯過(guò)