首先了解主要的系統數據庫:
| 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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

