网站搜索

将 SCCM 数据库移动到另一个驱动器


在这篇文章中,我将介绍将 SCCM 数据库移动到另一个驱动器的过程。我将把配置管理器数据库从 C:\ 驱动器移动到同一服务器上的另一个驱动器。

我的实验室设置很简单,SCCM 和 SQL 服务器安装在同一台服务器上并运行。我当前运行的是配置管理器版本 1910。

今天登录实验室时,我注意到 C: 驱动器上没有太多可用空间。长期以来,我一直想测试 SCCM 数据库从 C: 驱动器移动到另一个驱动器。所以我认为现在是这样做的正确时机。让我们开始吧。

首先,在将数据库移动到其他驱动器之前,必须备份 Configuration Manager 服务器。如果在数据库移动过程中出现问题,还要制定回滚计划。

第 1 步 - 停止所有 Configuration Manager 服务

使用层次结构维护工具停止站点上的所有 Configuration Manager 服务,而无需单独停止服务。

找到 Preinst.exe 应用程序。您可以在站点服务器上的\bin\X64\00000409 中找到 Preinst.exe。您还可以在此处找到该文件 - \\SMS_。

以管理员身份运行命令提示符。输入 preinst.exe /STOPSITE 并按 Enter 键。

所有配置管理器服务均按顺序停止。等到您看到所有站点服务均已停止行。

第 2 步 - 查找 SCCM 数据库位置

如果您不确定 SCCM 数据库的位置,可以从数据库属性中找到。启动 SQL Server Management Studio 并连接到数据库引擎。

右键单击 Configuration Manager 数据库,然后单击属性。

在数据库属性下,单击文件。在右侧窗格中,查找数据库路径和日志文件路径。

步骤 3 - 移动 SCCM数据库到另一个驱动器

在此步骤中,我们将首先分离 SCCM 数据库。分离数据库会将其从 SQL Server 实例中删除,但会使数据库在其数据文件和事务日志文件中保持完整。

右键单击 SCCM 数据库,然后单击任务 > 分离。

在“分离数据库”框中,选中“删除连接”框。单击确定。

最后使用以下命令将 SCCM 数据库从 C:\ 驱动器移动到另一个驱动器(在我的例子中为 E:\)。在新驱动器中创建一个新文件夹,例如 SQLDB。

将 CM_P01 替换为您的站点代码。

Copy "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\CM_P01*.*" E:\SQLDB

转到目标驱动器并验证 SCCM 数据库文件和日志文件。

步骤 4 - 附加 Configuration Manager 数据库

现在我们已将 SCCM 数据库移动到另一个驱动器,我们必须附加此数据库。在 SQL Server Management Studio 中,右键单击数据库,然后单击附加。

在附加数据库窗口中,单击添加并浏览到包含 SCCM 数据库的驱动器。选择数据库。数据库和日志文件应显示在数据库详细信息下。单击确定。

请注意,数据库显示为只读。右键单击 SCCM 数据库并运行以下查询。

注意 - 移动 SCCM 数据库后,如果未将 SQL TRUSTWORTHY 属性设置为 ON,\bin\x64\CryptoUtility.dll 将无法加载进入 SQL Server,您会收到“无效游标状态”错误消息。

ALTER DATABASE CM_P01 SET TRUSTWORTHYON

接下来,转到 SCCM 数据库属性并单击选项。将下拉列表设置为数据库只读并将其从 True 更改为 False。单击确定。

右键单击 SCCM 数据库并运行以下查询。

EXEC sp_changedbowner 'sa'

通过运行以下查询,确保将隔离级别设置为读取已提交的快照。

DBCC USEROPTIONS

相关文章