当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 修复 ConfigMgr 数据库可疑模式问题 |修复数据库

作者:精品下载站 日期:2024-12-14 12:11:12 浏览:14 分类:玩电脑

修复 ConfigMgr 数据库可疑模式问题 |修复数据库


在本文中,我将向您展示如何修复 ConfigMgr 数据库可疑模式问题。当 SQL 数据库进入可疑模式时,SCCM 将无法访问。虽然这是一个严重的问题,但您可以通过修复 SQL 数据库来修复它。

ConfigMgr 站点数据库是一个 SQL Server 数据库,其中包含有关您的 ConfigMgr 基础结构和对象、您管理的客户端系统以及其他已发现资源的数据。如果数据库损坏,您将无法访问任何 ConfigMgr 资源。

由于停电,我运行多个虚拟机的 ConfigMgr 实验室突然崩溃了。由于关闭所有虚拟机(包括 SCCM VM),SQL 数据库崩溃。由于断电,SQL 数据库进入“可疑”模式,这导致无法使用配置管理器。 SCCM 和 SQL 在单个服务器上运行。

我们将首先了解 SQL 数据库的可疑模式是什么以及数据库为何进入可疑模式。稍后,我将介绍从可疑模式恢复数据库并将 ConfigMgr 数据库置于联机模式的步骤。

SQL 数据库何时进入可疑模式?

大多数时候,数据库管理员负责恢复 SQL 数据库,而不是配置管理器管理员。当您的 ConfigMgr 数据库进入可疑模式时,您需要了解发生这种情况的原因。

当SQL Server怀疑数据库的主文件组损坏或数据库文件丢失时,数据库状态将设置为“可疑”。此外,还有一些可能导致 SQL 数据库处于可疑模式的错误,如下所列:

  • SQL 数据库因电源故障或突然崩溃导致可疑模式而损坏或损坏。
  • 系统无法打开SQL Server数据或日志文件所在的设备。
  • 当 SQL Server 在事务过程中崩溃或重新启动时,数据库将进入可疑模式,从而导致事务日志文件损坏或无法访问。
  • SQL Server 尝试打开数据库,并且系统上安装的防病毒软件已打开属于该数据库的文件。另一个原因可能是数据库文件正在被第三方备份软件等使用。
  • 由于SQL Server磁盘空间不足,数据库异常终止。
  • 当 SQL 无法完成回滚或前滚操作时,它会进入可疑模式。

Configuration Manager 控制台无法连接到站点

ConfigMgr 数据库可疑模式存在问题的第一个迹象是 SCCM 控制台无法连接到站点。当您启动 ConfigMgr 控制台时,您将看到以下错误:“Configuration Manager 无法连接到该站点。”这是一个非常常见的错误,您必须查看 ConfigMgr 管理控制台日志以确定错误的原因。

[玩转系统] 修复 ConfigMgr 数据库可疑模式问题 |修复数据库

执行站点维护或站点重置失败

当 ConfigMgr 控制台无法连接到站点时,您通常会执行站点重置。站点重置是 SCCM 中的功能,可帮助您在站点服务器上重新应用默认文件和注册表权限。它还会重新安装每个配置管理器组件。

当您处理 ConfigMgr 数据库可疑模式问题时,您无法执行站点维护或重置站点。这是因为 ConfigMgr SQL 数据库处于可疑模式,这将阻止站点重置操作。

[玩转系统] 修复 ConfigMgr 数据库可疑模式问题 |修复数据库

当 SQL 数据库处于可疑模式时,ConfigMgr 站点重置失败并出现以下错误。 安装程序在数据库或站点控制文件中找不到有效的站点控制图像

[玩转系统] 修复 ConfigMgr 数据库可疑模式问题 |修复数据库

ConfigMgrSetup.log 是一个重要文件,用于跟踪 SCCM 中的站点重置过程。您可以使用日志文件查看器工具打开 SCCM 日志文件。单击查看日志按钮可在 CMTrace 日志文件查看器工具中打开ConfigMgrSetup.log

[玩转系统] 修复 ConfigMgr 数据库可疑模式问题 |修复数据库

在 ConfigMgr 数据库可疑模式问题期间,ConfigMgrSetup.log 中记录了以下错误。

  • 无法打开登录请求的数据库“CM_MEM”。登录失败。
  • 无法连接到 SQL Server,连接类型:SMS ACCESS。
*** [28000][18456][Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'MECMLAB\cmadmin'.
ERROR: SQL Server error: [28000][18456][Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'MECMLAB\cmadmin'.
*** [42000][4060][Microsoft][SQL Server Native Client 11.0][SQL Server]Cannot open database "CM_MEM" requested by the login. The login failed.
ERROR: SQL Server error: [42000][4060][Microsoft][SQL Server Native Client 11.0][SQL Server]Cannot open database "CM_MEM" requested by the login. The login failed.
*** [28000][18456][Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'MECMLAB\cmadmin'.
ERROR: SQL Server error: [28000][18456][Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'MECMLAB\cmadmin'.
*** [42000][4060][Microsoft][SQL Server Native Client 11.0][SQL Server]Cannot open database "CM_MEM" requested by the login. The login failed.
ERROR: SQL Server error: [42000][4060][Microsoft][SQL Server Native Client 11.0][SQL Server]Cannot open database "CM_MEM" requested by the login. The login failed.
*** Failed to connect to the SQL Server, connection type: SMS ACCESS.
CSiteSettings::ReadActualSCFFromDatabase: Failed to get sql connection
ERROR: Failed to retrieve verifiable site control data
ERROR: Failed to read site control data.
~===================== Failed Configuration Manager Server Setup - Modify Site Settings =====================

确定 SCCM 数据库是否处于可疑模式

要确定 SCCM 数据库是否处于可疑模式,请执行以下步骤:

  • 启动 SQL Server Manager Studio。
  • 使用您的凭据连接到数据库引擎。
  • 展开数据库并选择Configuration Manager 数据库
  • CM_MEM(可疑) 确认 SCCM 数据库处于可疑模式。

[玩转系统] 修复 ConfigMgr 数据库可疑模式问题 |修复数据库

当 SCCM 数据库处于可疑模式时,您无法对该数据库执行任何活动。您无法运行任何查询,因为它会抛出错误“数据库 CM_MEM 不可访问 (ObjectExplorer)”。

[玩转系统] 修复 ConfigMgr 数据库可疑模式问题 |修复数据库

查看 SQL Server 上的错误日志

一旦确定 ConfigMgr 数据库处于可疑模式,您可以查看 SQL 错误日志以确定严重错误。在 SSMS 中,您可以展开管理 > SQL Server 日志并查看日志。我们在 SQL 日志中看到以下错误:

  • 用户“NT AUTHORITY\SYSTEM”登录失败。原因:无法打开显式指定的 ConfigMgr 数据库。
  • 错误 18456,严重性:14,状态:38
  • 恢复期间发生错误,导致数据库无法重新启动。

上述所有错误均表明当 SQL 数据库处于可疑模式时,ConfigMgr 数据库无法访问。唯一的解决方案是从可疑模式恢复 MS SQL 数据库。

[玩转系统] 修复 ConfigMgr 数据库可疑模式问题 |修复数据库

修复 ConfigMgr 数据库可疑模式问题

让我们逐步完成解决 ConfigMgr 数据库可疑模式问题的步骤。本文提到的步骤适用于 SQL Server 2012 及所有更高版本。

步骤一:检查SQL Server版本

我们将使用 sqlcmd 实用程序,它是一个命令行实用程序,用于临时、交互式执行 Transact-SQL 语句和脚本以及自动执行 Transact-SQL 脚本任务。

您可以使用多种方法来确定 SQL Server 版本。运行以下命令来确定 SQL Server 版本:

Select @@version
Go

[玩转系统] 修复 ConfigMgr 数据库可疑模式问题 |修复数据库

步骤 2:识别可疑模式下的数据库

执行下面提到的TSQL代码来识别所有被标记为SUSPECT的数据库。

USE master
GO
SELECT NAME,STATE_DESC FROM SYS.DATABASES
WHERE STATE_DESC='SUSPECT'
GO

[玩转系统] 修复 ConfigMgr 数据库可疑模式问题 |修复数据库

步骤 3:将数据库置于紧急模式

当数据库处于可疑模式时,您将无法连接到该数据库。因此,您需要首先将数据库置于紧急模式来修复数据库。执行下面提到的 TSQL 代码使数据库进入紧急模式。

USE master
GO
ALTER DATABASE CM_MEM SET EMERGENCY
GO

[玩转系统] 修复 ConfigMgr 数据库可疑模式问题 |修复数据库

一旦数据库处于紧急模式,您就可以查询数据库。

执行DBCC CHECKDB命令,该命令将检查指定数据库中所有对象的逻辑和物理完整性。

DBCC CHECKDB (CM_MEM)
GO

[玩转系统] 修复 ConfigMgr 数据库可疑模式问题 |修复数据库

步骤 4:将数据库置于 SINGLE_USER 模式

通过执行下面提到的 TSQL 代码将用户数据库置于 SINGLE_USER 模式。

ALTER DATABASE CM_MEM SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

[玩转系统] 修复 ConfigMgr 数据库可疑模式问题 |修复数据库

步骤5:修复SQL数据库

一旦数据库处于 SINGLE_USER 模式,请执行以下 TSQL 代码来修复数据库。

DBCC CHECKDB (CM_MEM, REPAIR_ALLOW_DATA_LOSS)
GO

第 6 步:允许 MULTI_USER 访问数据库

执行下面提到的 TSQL 命令以允许MULTI_USER访问数据库。

ALTER DATABASE CM_MEM SET MULTI_USER
GO

执行上述步骤后,ConfigMgr 数据库可疑模式问题已成功解决。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯