為了減少數(shù)據(jù)庫(kù)服務(wù)器出問(wèn)題導(dǎo)致數(shù)據(jù)掉失,一般都要對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份,視對(duì)數(shù)據(jù)的重要性和性能的折中采用不同的備份方案。
一般備份方案為:
全局備份(一周一次)+增量備份(一天一次)+事務(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ù)操作。