備份和還原 第三篇:master 數據庫的備份和還原


在SQL Server 中,master 數據庫記錄系統級別的元數據,例如,logon accounts, endpoints, linked servers, and system configuration settings,同時,master 數據庫記錄其他數據庫及其文件的位置,因此,在啟動SQL Server實例時,master數據庫必須最先啟動。master 數據庫是如此重要,必須頻繁地備份master數據庫。Only full database backups of master can be created.

一,備份master數據庫

master數據庫只能做full backup,不能做差異備份和事務日志備份,原因是master只能處於Recovered 狀態,不能處於NoRecovery(recovering)狀態。

backup database [master]
to disk = 'D:\TestDBBackupFolder\master_1.bak' --specify new backup file
with
compression,
format,
init,
skip,
stats=5

二,還原master數據庫

master數據庫必須在單用戶模式下還原,因此,在還原master數據之前,必須先停止SQL Server的所有服務(Service),包括MSSQLServer、Agent、Broser、Fulltext等,避免其競爭訪問MSSQLService,然后,以管理員打開命令行;

step1,使用命令行net start,以single user 模式啟動SQL Server實例的Service:MSSQLServer

參數/m“sqlcmd”:表示以單用戶(Single User)模式啟動Service,並且,只允許sqlcmd客戶端訪問service;

net start MSSQLSERVER /m"sqlcmd"

step2,使用sqlcmd登錄到SQL Server實例

-E:指定sqlcmd以信任連接(trusted connection)方式登錄Service,參數-E是默認的;

-S:指定sqlcmd連接的Server-Name

sqlcmd -E -S server-name

step3,使用sqlcmd還原master數據庫,由於SQL Server實例中已經存在master數據庫,必須指定replace選項,將原有的master數據庫替換掉;

restore database master
from disk='D:\DBBackup\master.bak'
with replace;
go

master數據還原完成之后,啟動SQL Server實例的Service,就可以正常訪問SQL Server實例。

 

參考文檔:

SqlServer系統數據庫還原(三)系統數據庫master-msdb-model 還原模擬測試

master Database

Restore the master Database (Transact-SQL)

Start SQL Server in Single-User Mode

sqlcmd Utility

Use the sqlcmd Utility


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM