必须频仍地备份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"

必须频仍地备份master数据库。step2,使用sqlcmd登录到SQL Server实例

-E:指定sqlcmd以信任连接(trusted
connection)方式登录Service,参数-E是默认的;

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

sqlcmd -E -S server-name

必须频仍地备份master数据库。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实例。

必须频仍地备份master数据库。必须频仍地备份master数据库。 

参考文档:

SqlServer系统数据库还原(三)系统数据库master-msdb-model
还原模拟测试

master
Database.aspx)

Restore the master Database
(Transact-SQL).aspx)

Start SQL Server in Single-User
Mode.aspx)

sqlcmd
Utility.aspx)

Use the sqlcmd
Utility.aspx)

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图