SQL Server系統資料庫備份最佳實踐

2021-08-26 21:34:42 字數 2600 閱讀 3927

系統資料庫

master

包含登入資訊和其他資料庫的核心資訊

msdb

儲存作業、操作員、警報、備份還原歷史。資料庫郵件資訊等等。

model

所有新資料庫的模型,如果希望新資料庫都有某些物件,可以在這裡建立。

tempdb

sql server重啟時重建,所以不需要備份

除了以上四種,其實還有乙個資料庫:resource

從2005就引入的,乙個唯讀、隱藏的資料庫,包含所有在sql server中的系統物件。由於sql server不支援備份還原resource資料庫。所以dba需要複製resource的mssqlsystemresource.mdf和mssqlsystemresource.ldf檔案。

sql server 2005 中的resource資料庫在路徑: 「:\program files\microsoft sql server\mssql.1\mssql\data\」 location

sql server 2008 中的resource資料庫在路徑:「:\program files\microsoft sql server\mssql10.\mssql\binn\」 location.

報表服務資料庫:如果裝了報表服務,將會看到這兩個服務資料庫

reportserver

reportservertempdb

replication system database(復**務系統資料庫)

distribution - 當配置了復**務時,將會看到這個資料庫。

如果需要執行基於檔案的備份功能來備份resource資料庫,則需要開啟xp_cmdshell

use master

gosp_configure 'show advanced options'

go/* 0 = disabled , 1 = enabled */

sp_configure 'xp_cmdshell', 1

goreconfigure with override

go

使用下面語句可以把系統資料庫備份到e盤的

systemdatabasebackups

資料夾中:

use master

goselect 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"'

goexec xp_cmdshell 'copy /y "d:\program files\microsoft sql server\mssql10.

sql2008\mssql\binn\mssqlsystemresource.ldf" "e:\systemdatabasebackups"'

goselect getdate() as 'system database backup end time'

go

sqlserver 資料庫集群與熱備

ms sql server資料庫伺服器可以說是應用範圍最廣的資料庫產品,並且越來越多地在大型和比較關鍵的應用系統中提供服務。當企業應用越來越複雜 資料量越來越大的時候,sql server資料庫要不停的進行處理 儲存 查詢的工作,這個時候企業就要考慮sql server資料庫伺服器的效能和速度及安全...

查詢SQL Server資料庫所有表字段備註

select 表名 case when a.colorder 1 then d.name else end,表說明 case when a.colorder 1 then isnull f.value,else end,字段序號 a.colorder,欄位名 a.name,字段說明 isnull g...

SQL SERVER 移動系統資料庫

移動系統資料庫在下列情況下可能很有用 移動 master 資料庫 在 開始 選單中,依次指向 所有程式 microsoft sql server和 配置工具 再單擊sql server 配置管理器。在 sql server 服務 節點中,右鍵單擊 sql server 例項 如sql server ...