首先了解主要的系統數據庫:
master | 包含登錄信息和其他數據庫的核心信息 |
msdb | 存儲作業、操作員、警報、備份還原歷史。數據庫郵件信息等等。 |
model | 所有新數據庫的模型,如果希望新數據庫都有某些對象,可以在這里創建。 |
tempdb | sql server重啟時重建,所以不需要備份 |
除了以上四種,其實還有一個數據庫: Resource
從2005就引入的,一個只讀、隱藏的數據庫,包含所有在sql server中的系統對象。由于SQL SERVER不支持備份還原Resource數據庫。所以DBA需要復制Resource的mssqlsystemresource.mdf和mssqlsystemresource.ldf文件。
?SQL Server 2005 中的Resource數據庫在路徑: “<drive>:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\” location?
?SQL Server 2008 中的Resource數據庫在路徑:?“<drive>:\Program Files\Microsoft SQL Server\MSSQL10.<instance_name>\MSSQL\Binn\” location.
報表服務數據庫: 如果裝了報表服務,將會看到這兩個服務數據庫
ReportServer?
ReportServerTempDB?
Replication System Database(復制服務系統數據庫)
distribution - 當配置了復制服務時,將會看到這個數據庫。
如果需要執行基于文件的備份功能來備份Resource數據庫,則需要開啟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
使用下面語句可以把系統數據庫備份到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
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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