首先了解主要的系統(tǒng)數(shù)據(jù)庫(kù):
master | 包含登錄信息和其他數(shù)據(jù)庫(kù)的核心信息 |
msdb | 存儲(chǔ)作業(yè)、操作員、警報(bào)、備份還原歷史。數(shù)據(jù)庫(kù)郵件信息等等。 |
model | 所有新數(shù)據(jù)庫(kù)的模型,如果希望新數(shù)據(jù)庫(kù)都有某些對(duì)象,可以在這里創(chuàng)建。 |
tempdb | sql server重啟時(shí)重建,所以不需要備份 |
除了以上四種,其實(shí)還有一個(gè)數(shù)據(jù)庫(kù): Resource
從2005就引入的,一個(gè)只讀、隱藏的數(shù)據(jù)庫(kù),包含所有在sql server中的系統(tǒng)對(duì)象。由于SQL SERVER不支持備份還原Resource數(shù)據(jù)庫(kù)。所以DBA需要復(fù)制Resource的mssqlsystemresource.mdf和mssqlsystemresource.ldf文件。
?SQL Server 2005 中的Resource數(shù)據(jù)庫(kù)在路徑: “<drive>:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\” location?
?SQL Server 2008 中的Resource數(shù)據(jù)庫(kù)在路徑:?“<drive>:\Program Files\Microsoft SQL Server\MSSQL10.<instance_name>\MSSQL\Binn\” location.
報(bào)表服務(wù)數(shù)據(jù)庫(kù): 如果裝了報(bào)表服務(wù),將會(huì)看到這兩個(gè)服務(wù)數(shù)據(jù)庫(kù)
ReportServer?
ReportServerTempDB?
Replication System Database(復(fù)制服務(wù)系統(tǒng)數(shù)據(jù)庫(kù))
distribution - 當(dāng)配置了復(fù)制服務(wù)時(shí),將會(huì)看到這個(gè)數(shù)據(jù)庫(kù)。
如果需要執(zhí)行基于文件的備份功能來備份Resource數(shù)據(jù)庫(kù),則需要開啟XP_CmdShell
USE master GO sp_configure 'show advanced options' GO /* 0 = Disabled , 1 = Enabled */ sp_configure 'xp_cmdshell', 1 GO RECONFIGURE WITH OVERRIDE GO
使用下面語(yǔ)句可以把系統(tǒng)數(shù)據(jù)庫(kù)備份到E盤的? SystemDatabaseBackups ? ?文件夾中:
USE master GO SELECT GETDATE() AS 'System Database Backup Start Time' GO /* Backup Distribution Database */ BACKUP DATABASE Distribution TO DISK = 'E:\SystemDatabaseBackups\Distribution.BAK' WITH INIT GO /* Backup ReportServer Database */ BACKUP DATABASE ReportServer TO DISK = 'E:\SystemDatabaseBackups\ReportServer.BAK' WITH INIT GO /* Backup ReportServerTempDB Database */ BACKUP DATABASE ReportServerTempDB TO DISK = 'E:\SystemDatabaseBackups\ReportServerTempDB.BAK' WITH INIT GO /* Backup Master Model */ BACKUP DATABASE Model TO DISK = 'E:\SystemDatabaseBackups\Model.BAK' WITH INIT GO /* Backup Master Database */ BACKUP DATABASE Master TO DISK = 'E:\SystemDatabaseBackups\Master.BAK' WITH INIT GO /* Backup Master MSDB */ BACKUP DATABASE MSDB TO DISK = 'E:\SystemDatabaseBackups\MSDB.BAK' WITH INIT GO /* Copy Resource Database Files Using XP_CMDSHELL */ EXEC xp_cmdshell 'COPY /Y "D:\Program Files\Microsoft SQL Server\MSSQL10. SQL2008\MSSQL\Binn\mssqlsystemresource.mdf" "E:\SystemDatabaseBackups"' GO EXEC xp_cmdshell 'COPY /Y "D:\Program Files\Microsoft SQL Server\MSSQL10. SQL2008\MSSQL\Binn\mssqlsystemresource.ldf" "E:\SystemDatabaseBackups"' GO SELECT GETDATE() AS 'System Database Backup End Time' GO
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
