修复ConfigMgr数据库可疑模式问题|修复数据库
在本文中,我将向您展示如何修复ConfigMgr Database可疑模式问题。当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服务器在事务中崩溃或重新启动时,数据库将进入可疑模式,从而导致损坏或故障无法访问的事务日志文件.
- SQL Server试图打开一个数据库,属于该数据库的文件已经被打开系统上已安装防病毒软华体会体育系列件.另一个原因可能是数据库文件正在被第三方备份软件使用等。华体会体育系列
- 数据库异常终止。处理步骤SQL Server的磁盘空间.
- 当SQL不能完成回滚或前滚操作时,它将进入可疑模式。
配置管理控制台无法连接到站点
ConfigMgr Database怀疑模式有问题的第一个迹象是SCCM控制台无法连接到站点。当您启动ConfigMgr控制台时,您将看到以下错误:“配置管理器无法连接到站点。”这是一个非常常见的错误,您必须检查ConfigMgr管理控制台日志来确定错误的原因。
站点维护或站点重置失败
当ConfigMgr控制台无法连接到站点时,您通常会执行站点重置。的站点重置是SCCM的特色这将帮助您在站点服务器上重新应用默认文件和注册表权限。它还会重新安装每个Configuration Manager组件。
处理ConfigMgr数据库可疑模式问题时,无法进行站点维护或重置。这是因为ConfigMgr SQL数据库处于可疑模式,这将阻止站点重置操作。
当SQL数据库处于怀疑模式时,ConfigMgr站点重置失败,出现以下错误。安装程序无法在数据库或站点控件文件中找到有效的站点控件映像.
ConfigMgrSetup.log是SCCM中跟踪站点重置过程的重要文件。你可以打开SCCM日志文件与日志文件查看工具.点击查看日志按钮打开ConfigMgrSetup.log在CMTrace日志文件查看器工具中。
在ConfigMgr数据库怀疑模式问题期间,在ConfigMgrSetup.log中记录了以下错误。
- 无法打开登录请求的数据库“CM_MEM”。登录失败。
- 日志含义连接SQL Server失败,连接类型:SMS ACCESS。
*** [28000][18456][Microsoft][SQL Server Native Client 11.0][SQL Server]用户'MECMLAB\cmadmin'登录失败。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]无法打开登录时请求的数据库"CM_MEM"。登录失败。SQL Server ERROR: [42000][4060][Microsoft][SQL Server Native Client 11.0][SQL Server]无法打开登录时请求的数据库"CM_MEM"。登录失败。*** [28000][18456][Microsoft][SQL Server Native Client 11.0][SQL Server]用户'MECMLAB\cmadmin'登录失败。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]无法打开登录时请求的数据库"CM_MEM"。登录失败。 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。
- 使用凭证连接到数据库引擎。
- 扩大数据库并选择配置管理器数据库.
- CM_MEM(怀疑)在怀疑模式下确认SCCM数据库。
当SCCM数据库处于可疑模式时,您不能在数据库上执行任何活动。您不能运行任何查询,因为它会抛出错误”数据库CM_MEM不可访问(ObjectExplorer).”
查看SQL Server错误日志
一旦您确定ConfigMgr数据库处于可疑模式,您就可以检查SQL错误日志以确定严重错误。在SSMS中,可以展开“管理> SQL Server日志”,查看日志信息。我们在SQL日志中看到以下错误:
- 用户登录失败NT AUTHORITY) \系统”。原因:无法打开显式指定的ConfigMgr数据库。
- 错误18456,严重程度:14,状态:38
- 恢复过程中发生错误,导致数据库无法重新启动。
以上错误说明当SQL数据库处于怀疑模式时,ConfigMgr数据库不可访问。唯一的解决方案是从怀疑模式恢复MS SQL数据库。
修复ConfigMgr数据库可疑模式问题
让我们通过这些步骤来解决ConfigMgr数据库怀疑模式问题。本文中提到的步骤适用于SQL Server 2012及所有更高版本。
步骤1:检查SQL Server版本
我们将使用sqlcmd实用程序它是一个命令行实用程序,用于临时交互式地执行Transact-SQL语句和脚本,并用于自动化Transact-SQL脚本任务。
你可以使用多种方法确定SQL Server版本.执行如下命令确定SQL Server版本:
选择@@version Go
步骤2:以怀疑模式识别数据库
执行下面提到的TSQL代码来标识标记为的所有数据库怀疑.
从系统中选择名称,状态。state_desc =' suspect '所在的数据库
步骤3:将数据库设置为紧急模式
当数据库处于SUSPECT模式时,您将无法连接到数据库。因此,您需要首先引入数据库紧急数据库修复模式。执行下面提到的TSQL代码,使数据库处于EMERGENCY模式。
使用主去改变数据库CM_MEM设置紧急去
一旦数据库进入紧急模式,您将能够查询数据库。
执行DBCC CHECKDB命令,该命令将检查指定数据库中所有对象的逻辑和物理完整性。
DBCC checkdb (cm_mem) go
步骤4:将数据库设置为SINGLE_USER模式
引入用户数据库SINGLE_USER模式通过执行下面提到的TSQL代码。
修改数据库cm_mem设置single_user,回滚立即执行
步骤5:修复SQL数据库
一旦数据库进入SINGLE_USER模式执行下面的TSQL代码来修复数据库。
DBCC checkdb (cm_mem, repair_allow_data_loss)
去
步骤6:允许MULTI_USER访问数据库
执行下面提到的TSQL命令以允许MULTI_USER访问数据库。
修改数据库cm_mem设置multi_user
去
执行上述步骤后,ConfigMgr Database可疑模式问题已成功解决。