如何修复 SCCM 无法恢复主数据库 错误. 配置管理器 SQL 实例服务未启动. 当您尝试启动它时,它会停止并带来下一个 错误 活动中 日志.
无法恢复主数据库. SQL 服务器无法运行. 从完整备份恢复主服务器, 修复它, 或重建它. 有关如何重建主数据库的更多信息, 看 SQL 服务器在线书籍.
事件 日志
解决方案 1: 从备份恢复
笔记: 你必须有这个备份.
从主数据库恢复 SQL 服务器或其他备份解决方案.
2. 右键单击 SQL 服务器服务 并点击 特性;
3. 之后选择 启动参数选项卡;
4. 类型 – 米 在 指定启动参数 文本框并单击 添加 按钮. 点击 申请;
6. 重新启动你的 SQL 服务器.
使用 命令行 在 SQL 服务器 管理工作室 恢复你的 SQL 来自备份的服务器主数据库.
1. 导航到 …/Tools/Bin 目录并查找 sqlcmd.exe;
2. 一旦找到, 运行 sqlcmd.exe 文件;
3. 使用 – S 私人连接的标志. 但, 如果您有公共连接, 然后使用 – U 和 –P 旗帜;
4. 这样做之后, 您将能够轻松恢复主数据库备份;
5. 现在删除 – 米 旗帜服务 SQL 服务器并重新启动 SQL 服务器返回多客户端模式.
笔记: 如果您有其他备份解决方案(例如数据保护管理器),则有一种更简单的恢复方法 SQL 备份.
解决方案 2: 重建主数据库
以下过程重建master, 模型, 数据库数据库, 和 tempdb 系统数据库. 您无法指定要重建的系统数据库. 对于集群实例, 此过程必须在主动节点和 SQL 执行该过程之前,必须使相应集群应用程序组中的服务器资源脱机.
此过程不会重建资源数据库. 参见 参考资料 部分, 本主题后面的“重建资源数据库过程”.
为 SQL Server 实例重建系统数据库:
1. 插入 SQL 服务器 2019 (15.x) 将安装介质放入磁盘驱动器, 或者, 从命令提示符, 将目录更改为本地服务器上 setup.exe 文件的位置. 服务器上的默认位置是C:\程序文件微软 SQL 服务器130安装引导SQLServer2016.
2. 从命令提示符窗口, 输入以下命令. 方括号用于表示可选参数. 请勿输入括号. 当使用 视窗 具有用户帐户控制的操作系统 (联合应用中心) 已启用, 运行安装程序需要提升权限. 命令提示符必须以管理员身份运行.
Setup /QUIET /ACTION=REBUILDDATABASE /INSTANCENAME=InstanceName /SQLSYSADMINACCOUNTS=accounts [ /SAPWD= StrongPassword ] [ /SQLCOLLATION=CollationName]
参数名称 | 描述 |
/安静或/Q | 指定安装程序在没有任何用户界面的情况下运行. |
/操作=重建数据库 | 指定安装程序重新创建系统数据库. |
/实例名称=实例名称 | 是实例的名称 SQL 服务器. 对于默认实例, 输入MSSQLSERVER. |
/SQLSYSADMINACCOUNTS=帐户 | 指定 视窗 添加到组或个人帐户 系统管理员 固定服务器角色. 当指定多个帐户时, 用空格分隔帐户. 例如, 进入 内置管理员MyDomainMyUser. 当您指定帐户名称中包含空格的帐户时, 将帐户用双引号引起来. 例如, 进入 NT当局系统. |
[ /SAPWD=强密码 ] | 指定 密码 为 SQL 服务器 在 帐户. 如果实例使用混合认证,则需要此参数 (SQL 服务器和 视窗 验证) 模式. ** 安全说明 ** 这 在 帐户是众所周知的 SQL 服务器帐户经常成为恶意用户的攻击目标. 使用强大的功能非常重要 密码 为 在 登录. 请勿指定此参数 视窗 认证方式. |
[ /SQL排序规则=排序规则名称 ] | 指定新的服务器级排序规则. 该参数是可选的. 未指定时, 使用服务器的当前排序规则. ** 重要的 ** 更改服务器级别排序规则不会更改现有用户数据库的排序规则. 所有新创建的用户数据库将默认使用新的排序规则. |
[/SQLTEMPDBFILECOUNT=文件数] | 指定tempdb数据文件的数量. 该值最多可以增加到 8 或核心数量, 以较高者为准. 默认值: 8 或核心数量, 以较低者为准. |
[ /SQLTEMPDBFILESIZE=文件大小InMB ] | 指定每个 tempdb 数据文件的初始大小(以 MB 为单位). 设置允许的大小最大为 1024 MB. 默认值: 8 |
[/SQLTEMPDBFILEGROWTH=FileSizeInMB] | 指定每个tempdb数据文件的文件增长增量(以MB为单位). 值为 0 表示自动增长关闭,不允许增加空间. 设置允许的大小最大为 1024 MB. 默认值: 64 |
[/SQLTEMPDBLOGFILESIZE=FileSizeInMB] | 指定tempdb的初始大小 日志档案 单位:MB. 设置允许的大小最大为 1024 MB. 默认值: 8. 允许范围: 最小值 = 8, 最大值 = 1024. |
[/SQLTEMPDBLOGFILEGROWTH=FileSizeInMB] | 指定tempdb的文件增长增量 日志档案 单位:MB. 值为 0 表示自动增长关闭,不允许增加空间. 设置允许的大小最大为 1024 MB. 默认值: 64 允许范围: 最小值 = 8, 最大值 = 1024. |
[ /SQLTEMPDBDIR=目录 ] | 指定 tempdb 数据文件的目录. 当指定多个目录时, 用空格分隔目录. 如果指定了多个目录,tempdb 数据文件将以循环方式分布在各个目录中. 默认值: 系统数据目录 |
[ /SQLTEMPDBLOGDIR=目录 ] | 指定 tempdb 的目录 日志档案. 默认值: 系统数据目录 |
3. 当安装程序完成重建系统数据库时, 它返回到命令提示符,没有任何消息. 检查Summary.txt 日志档案 验证该过程是否成功完成. 该文件位于C:\程序文件微软 SQL 服务器130安装引导程序日志.
RebuildDatabase 场景删除系统数据库并以干净状态重新安装. 因为tempdb file count的设置不持久, 安装过程中 tempdb 文件数量的值未知. 所以, RebuildDatabase 场景不知道要重新添加的 tempdb 文件的数量. 您可以使用 SQLTEMPDBFILECOUNT 参数再次提供 tempdb 文件数量的值. 如果没有提供参数, RebuildDatabase 将添加默认数量的 tempdb 文件, tempdb 文件的数量与 CPU 数量一样多,或者 8, 以较低者为准.
就我而言, 这没有帮助并结束 错误:
Detailed results:
Feature: Database Engine Services
Status: Failed
Reason for failure: An error occurred during the setup process of the feature.
Next Step: Use the following information to resolve the error, and then try the setup process again.
Component name: SQL Server Database Engine Services Instance Features
Component error code: 0x851A001A
Error description: Wait on the Database Engine recovery handle failed. Check the SQL Server error log for potential causes.
Error help link: https://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=14.0.3192.2&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026&EvtType=0xD15B4EB2%400x4BDAF9BA%401306%4026
我尝试改变 SQL 实例服务运行帐户, 但这没有帮助.
解决方案 3: 移动到另一个 SQL Server 实例
笔记: 您必须有权访问 SCCM SQL 数据库和 *.log 文件.
1. 安装新的 SQL 服务器实例;
2. 打开数据库文件安全设置并添加 完全控制 对于您当前的用户;
3. 重复此操作 *.日志 您的数据库文件;
5. 山 配置管理器 安装*.iso文件并运行 飞溅.hta;
6. 点击 安装;
7. 点击 下一个;
8. 选择 执行站点维护或重置此站点 然后单击 下一个;
9. 选择 调整 SQL 服务器配置 然后单击 下一个;
10. 输入新的 SQL 服务器实例详细信息并单击 下一个;
11. 当该过程完成时, 关闭安装向导.
12. 尝试运行 配置管理器控制台 并检查一切是否正常.