在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

备份和还原 第三篇:master 数据库的备份和还原的更多相关文章

  1. backup3:master 数据库的备份和还原

    在SQL Server 中,master 数据库记录系统级别的元数据,例如,logon accounts, endpoints, linked servers, and system configur ...

  2. 一、MySQL中的索引 二、MySQL中的函数 三、MySQL数据库的备份和恢复 四、数据库设计和优化(重点)

    一.MySQL中的索引###<1>索引的概念 索引就是一种数据结构(高效获取数据),在mysql中以文件的方式存在.存储建立了索引列的地址或者指向. 文件 :(以某种数据 结构存放) 存放 ...

  3. SQL Server数据库 备份A库,然后删除A库,再还原A库,此时数据库一直显示“正在还原”的解决方法

    SQL Server数据库 备份A库,然后删除A库,再还原A库,此时数据库一直显示"正在还原"的解决方法: A库一直显示"正在还原". 在这种状态下,由于未提交 ...

  4. 第三篇:SpringBoot - 数据库结构版本管理与迁移

    SpringBoot支持了两种数据库结构版本管理与迁移,一个是flyway,一个是liquibase.其本身也支持sql script,在初始化数据源之后执行指定的脚本,本章是基于 Liquibase ...

  5. SQL Server 2008 master 数据库损坏解决总结

    SQL Server 2008 master数据库损坏后,SQL SERVER服务启动失败,查看错误日志,你会看到下面错误信息: 2015-10-27 10:15:21.01 spid6s      ...

  6. SQL Server2008数据库自动备份步骤

    一,  在电脑开始菜单中选择“SQL Server Management Studio”双击.在出现的界面中点击“连接”按钮. 二,  在出现的“ Microsoft SQL Server Manag ...

  7. 答:SQLServer DBA 三十问之二:系统DB有哪些,都有什么作用,需不需要做备份,为什么;损坏了如何做还原(主要是master库)

    2. 系统DB有哪些,都有什么作用,需不需要做备份,为什么:损坏了如何做还原(主要是master库): master:它包含一个系统表集合,是整个实例的中央存储库,维护登录账户,其他数据库,文件分布, ...

  8. 三、SQL server 2008数据库的备份与还原

    一.SQL数据库的备份:   1.依次打开 开始菜单 → 程序 → Microsoft SQL Server 2008 → SQL Server Management Studio → 数据库:Dsi ...

  9. SQLServer2008修改sa密码的方法与SQL server 2008数据库的备份与还原

    sa密码的修改转载自:http://blog.csdn.net/templar1000/article/details/20211191 SQL server 2008数据库的备份与还原转自 :htt ...

随机推荐

  1. nginx 访问控制之 http_referer

    在rewrite时,曾经用过该变量,当时实现了防盗链功能. 其实基于该变量,我们也可以做一些特殊的需求. 示例: 背景:网站被黑挂马,搜索引擎收录的网页是有问题的,当通过搜索引擎点击到网站时,却显示一 ...

  2. To ssh://xxx.com:8022/test/project.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'ssh://xxx.com:8022/test/project.git'

    To ssh://xxx.com:8022/test/project.git ! [remote rejected] master -> master (pre-receive hook dec ...

  3. shell expect的简单实用

    一.在shell脚本中嵌入expect来实现密码输入 expect是一个自动交互功能的工具.expect是开了一个子进程,通过spawn来执行shell脚本,监测到脚本的返回结果,通过expect判断 ...

  4. CT窗宽位宽

    先说一下CT值是什么 CT图像反映的是人体对X射线吸收的系数,但我们关心的是各组织结构的密度差异,即相对密度,如果某组织发生病变,其密度就会发生变化,但由于比较吸收系数非常繁琐,于是亨氏把组织器官对X ...

  5. A Survey of Visual Attention Mechanisms in Deep Learning

    A Survey of Visual Attention Mechanisms in Deep Learning 2019-12-11 15:51:59 Source: Deep Learning o ...

  6. CMU Advanced DB System - MVCC

    https://zhuanlan.zhihu.com/p/40208895 Mysql的MVCC实现 https://severalnines.com/database-blog/comparing- ...

  7. easyui datagrid生成序号列formatter

    var opts1; $('#datagrid_1').datagrid({ columns: [ [{ field: 'myNo', title: '序号', align: 'center', wi ...

  8. Filebeat的使用

    前言 logstash本身就可以具有文件数据采集的功能了,为什么还需要在前面加一层filebeat?理由如下:logstash是使用Java编写,插件是使用JRuby编写,对机器的资源要求会比较高,在 ...

  9. centos7.6使用 supervisor 对filebeat7.3.1进程进行管理

    centos7.6使用 supervisor 对filebeat7.3.1进程进行管理 Supervisor 是一个 Python 开发的 client/server 系统,可以管理和监控类 UNIX ...

  10. 使用bugly热更新时自定义升级弹窗的UI样式

    项目的热更新用的bugly,不过一直都只是使用他自带的升级弹窗. 不过UI小姐姐说弹窗太丑了,要自定义. bugly有提供自定义UI的官方文档:https://bugly.qq.com/docs/us ...