如何正确恢复SQL Server的Master系统库

一、问题描述

SQL Server 的master数据库不能像其他用户或 系统数据库一样恢复, 因为没有活动的master数据库 SQL Server 无法执行。虽然很少需要恢复 SQL Server master数据库,但如果需要,DBA 必须为这种情况做好准备。本文介绍可能需要恢复master数据库的情况以及如何正确完成这些步骤。

二、解决方案

1、什么时候必须恢复 SQL Server 的master数据库?

情景一:

master库损坏,如果master库被损坏,最好的做法通常是从备份中恢复。master中的数据是相对静态的,因此在大多数情况 下,丢失几个小时的历史记录也没有什么问题。

情景二:

恢复master的其他原因可能是恢复丢失的登录名且由于某种原因无法重置密码。如果需要恢复master库以恢复用户数据或对象,那么这将是一个将他们移出master库并移入用户数据库的机会。

2、恢复SQLSERVER的master库的两种方法

有 2 种可用的方法来恢复主数据库。第一个只能用于恢复正在运行的 SQL Server 上的主数据库。如果问题是主数据库损坏并且此损坏导致 SQL Server 无法启动,则必须使用第二种方法。如果 SQL Server 正在运行,则可以选择使用第二种方法。

前提条件:

恢复最基本的前提是有master备份副本。如果没有,首先让我们备份master库

backup database master to disk ='c:\master.bak' with compression;

方法一:SQLSERVER实例能正常启动

将 SQL Server 实例置于单用户模式

使用传统的数据库还原命令,需要将服务器启动到单用户模式,否则将会有如下错误

Msg 3108, Level 16, State 1, Line 2
要恢复主数据库,服务器必须在单用户模式下运行。有关以单用户模式启动的信息,请参阅联机丛书中的“如何:启动 SQL Server 实例 (sqlservr.exe)”。
消息 3013,级别 16,状态 1,第 2
RESTORE DATABASE 异常终止。

要在单用户模式下启动 SQL Server,我们使用“SQL Server 配置管理器”添加相应的启动参数-m 。

为此,请打开“SQL Server 配置管理器”,选择“SQL Server 服务”,然后选择相应的 SQL Server 实例,右键单击它并选择“启动参数”。作为启动参数,我们指定“-m”,表示服务将以单用户模式启动。

单击“添加”,然后单击“应用”,将出现以下消息。

修改服务参数,需要重启SQL SERVER服务才能生效。

在单用户模式下使用 SSMS 还原master数据库

为避免多个连接,我们将打开“SQL Server Management Studio”,但不连接到服务器。换句话说,我们将关闭“连接到服务器”窗口,同时关闭“对象资源管理器”。然后我们将点击“新建查询”。

在这个新的查询窗口中,我们将连接到数据库。

此时连接成功。这意味着我们设法避免了与服务器的多个连接,并为我们的查询窗口保留了单个连接。

现在,我们可以在查询窗口中执行我们的 T-SQL 恢复命令并恢复主数据库。

只有在没有其他连接到服务器的情况下,才能以单用户模式连接到 SQL Server。因此,确保所有可以连接到 SQL Server 的服务(例如 SQL Server 代理)都已停止。此外,在从 SSMS 连接的情况下,必须消除来自 SSMS 的所有其他连接。关闭“对象资源管理器”并通过仅打开一个查询窗口进行连接可能是一种解决方案。在此之后,您可以删除启动参数并以多用户模式重新启动 SQL Server。

方法二:SQLSERVER实例无法启动

如果服务无法启动,如何执行恢复命令?

这是一个棘手的问题。小编也不希望任何读者都能体验到这一点,但如果确实发生了,这些是完成恢复所要遵循的步骤。

Step1

查找与 SQL Server 相同主要版本的另一个 SQL Server 实例。如果没有其他可用的,则可能需要快速安装 SQLSERVER实例。

Step2

将主数据库备份还原到运行正常的 SQL Server 实例,就像它是普通用户数据库一样。需要使用备用名称,例如 master_recovery。

restore database master_recovery from disk ='c:\master.bak' with
move 'master' to 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\master_recovery.mdf',
move 'mastlog' to 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\mastlog_recovery.ldf';

step3

现在数据库已在线,步骤 3 是将该数据库与工作实例分离。

USE [master]
GO
EXEC master.dbo.sp_detach_db @dbname = N'master_recovery'
GO

step4

此时 2 个数据库文件不再附加到 SQL Server 的工作实例。第 4 步是将 2 个文件移动到有 master 问题的实例的服务器。

step5

接下来,对于第 5 步,必须告知遇到问题的 SQL Server 实例使用这些新文件,而不是失败的文件。这可以通过更改 SQL Server 的启动参数,以指向这些新文件或将 master.mdf 和 mastlog.ldf 重命名为新名称并重命名 _recovery文件以匹配默认文件名来完成。无论哪种方式,下一次服务启动都将使用新文件而不是坏文件。

下面的演示,是通过修改启动参数指向_recovery 文件而不是默认文件。接着重新启动服务(因为它正在运行)。现在该服务正在使用恢复的主数据库而不是失败的主数据库。

最后一步是 在这个 master 副本上运行 DBCC CHECKDB 。如果显示有损坏,请及时返回,直到找到正确的副本。CheckDB 不能在较早的步骤中运行,因为主数据库在作为用户数据库检查时会产生误报。

三、还原 SQL Server master数据库时会丢失哪些数据?

刚刚通过恢复较旧的主数据库或从另一个实例获取副本来及时回溯,在此转换中可能会丢失哪些数据?

  • 主数据库中的大多数数据都是静态的,但是几天后回溯,还是有一些事情需要检查。
  • 在备份和还原之间是否添加或删除了任何登录名?这些将需要重新创建或删除。
  • 是否有人在该窗口期间更改了密码?如果是这样,他们的旧密码将重新生效。
  • 是否更改了任何服务器角色分配?这些将被还原。

如果在时间窗口内添加了任何数据库,则旧master数据库将无法识别它们。数据库文件本身不会被删除,因此只需附加数据库即可。如果在该窗口期间删除了任何数据库,那么它们将显示为可以再次删除的可疑数据库。任何像sp_configure中更改的设置都 将恢复。

四、小结

本文介绍了master库在实例能正常启动和不能正常启动,两种情况下的恢复方法。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/293230.html<

(0)
管理的头像管理
上一篇2025-05-20 12:42
下一篇 2025-05-20 12:43

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注