在 MS SQL Server 中,主数据库是存储系统信息的主要数据库。这包括登录详细信息、链接服务器、端点、系统配置、其他数据库的存在等。如果主数据库损坏或损坏,SQL Server 服务或实例可能无法启动。此外,其他数据库也可能无法访问。
在本文中,我们将讨论导致 SQL Server 主数据库损坏的原因以及如何重建和恢复主数据库。
SQL Server 中主数据库损坏的原因
SQL Server 中的主数据库可能由于以下一个或多个原因而损坏:
- 主数据库所在的硬盘上有坏扇区。
- 在处理主数据库时系统突然关闭。
- MS SQL Server 中的错误。
- 托管数据库/服务器的系统中感染恶意软件或病毒。
- MS SQL Server 实例突然重启。
在 SQL Server 中恢复主数据库的方法
以下是一些可用于重建或恢复 SQL Server 主数据库的方法。但在继续操作之前,请确保以下事项:
- 选择所有服务器端配置值。
- 记下系统数据库中所有数据和日志文件的位置。
- 检查您是否有最新的、可读的完整备份。
方法 1:使用 SQL Server 安装程序修复服务器安装文件
如果主数据库中的服务器安装文件已损坏,则可以尝试使用 MS SQL Server 安装程序修复它们。 为此,请按照以下步骤操作:
- 在系统上找到SQL Server 安装程序文件夹并单击setup.exe。

- 在 SQL Server 安装中心窗口上,单击维护 ,然后单击修复选项。

-
选择要修复的服务器实例,然后单击“下一步”。
‘ -
在“准备修复”窗口中,验证详细信息,然后单击“修复” 选项。

或者,您可以在命令提示符中使用以下命令运行 SQL Server 安装程序:
setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=MSSQLServer /SQLSYSADMINACCOUNTS=sa /SAPWD= MyP983”#3 /SQLCOLLATION=Latin1_General_CI_AS
方法 2:从备份还原主数据库
如果您有更新的完整备份,则可以使用 RESTORE DATABASE T-SQL 语句来恢复主数据库。恢复之前,请确保将备份恢复到 SQL Server 的准确版本或更高版本。如果版本不匹配,则可能会遇到错误消息,提示“无法恢复,因为它是由与此服务器(14…)不同的服务器版本(13.00.4435)创建的”。
按照以下步骤在 MS SQL Server 中恢复主数据库:
步骤 1:以单用户模式启动服务器实例
您可以使用命令提示符以单用户模式启动服务器实例。操作方法如下:
- 在系统上打开命令提示符并运行以下命令:
NET STOP MSSQLSERVER
NET START MSSQLSERVER /m
- 接下来,使用 SQLCMD 实用程序启动 SQL Server
SQLCMD -S <instance> -E -d master
或者,您可以使用SQL Server 配置管理器以单用户模式启动实例。步骤如下:
- 在系统的搜索框中,输入SQL Server Configuration Manager并按Enter。
- 在SQL Server 配置管理器中,选择服务实例,右键单击它,然后单击停止。

-
再次右键单击该实例,然后单击“属性”。
-
在SQL Server(MSSQLSERVER)属性窗口的启动参数下,指定 -m 参数,然后单击 添加 按钮。

-
单击“确定”。
SQL Server 实例将以单用户模式启动。
步骤2:使用T-SQL语句恢复备份
您可以使用以下 RESTORE DATABASE T-SQL 语句来恢复主数据库的完整备份:
RESTORE DATABASE master FROM <backup_device> WITH REPLACE
步骤 3:执行恢复后任务
从备份恢复主数据库后,执行以下操作:
- 不使用启动参数,正常重新启动服务器实例。
- 确保您已恢复最近的完整备份。
- 将还原的主数据库保存到原始位置。
- 检查并匹配服务器端的配置值和之前的配置值。
恢复主数据库文件的替代方法
如果您没有完整备份或备份文件不可读,则可以使用专业的 SQL 修复工具(如 Stellar Repair for MS SQL Technician)修复数据库 (MDF/NDF) 文件。它可以修复和恢复主数据库文件和辅助数据库文件,不受文件大小限制。此外,它还可以从损坏的 SQL 数据库备份 (BAK) 文件中完全精确地恢复数据。该工具可以从 MDF/NDF 文件中恢复所有对象,例如视图、表、过程等。它将恢复的数据保存在新的数据库文件和各种其他格式中。该工具兼容修复所有类型的备份文件,例如完整备份、事务日志备份和差异备份。
Stellar Repair for MS SQL Technician 的主要特点:
- 修复主数据库文件和辅助数据库文件。
- 修复严重损坏或损坏的 BAK 文件并恢复所有数据。
- 完整地恢复索引、表、存储过程、视图、键等。
- 允许特定对象恢复。
- 允许预览恢复的数据,包括视图、约束等。
- 支持 Windows 11、10、8.1、8、7 和 Windows Server 2022、2019、2016 及更早版本。
结论
如果主数据库损坏,您可能无法访问 MDF/NDF 文件或 SQL Server 实例。您可以按照本文中提到的方法来恢复主数据库。如果您的备份文件已损坏或无法读取,您可以使用Stellar Repair for MS SQL Technician。它是一款专业的 SQL 修复工具,可以帮助您绝对精确地恢复损坏的备份文件。该软件与所有 SQL Server 版本兼容。
原文地址:https://informationsecuritybuzz.com/how-to-rebuild-and-restore-sql-server-master-database/
原文作者:Guest Author




