本文档介绍将思科网真管理套件(TMS)数据库应用程序从一台服务器迁移到另一台服务器所使用的步骤,其中提供了移动结构化查询语言(SQL)数据库位置的选项。
Cisco 建议您了解以下主题:
本文档中的信息基于以下软件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
本节介绍用于迁移TMS的流程。
关闭所有TMS Microsoft Windows服务:
如果使用TMS调配扩展(tmspe),则也将其关闭。
备份和还原SQL数据库时使用两种方法。CLI可在所有安装了SQL的系统上使用,但SQL Management Studio可从Microsoft下载并使用(如果需要)。
如果SQL数据库当前与TMS服务器应用程序位于同一服务器上,并且您计划将数据库移动到新服务器(托管TMS的新Microsoft Windows服务器或单独的SQL实例),则必须将数据库备份并还原到新位置。
本节中介绍的命令在托管SQL Express实例的当前TMS服务器的命令提示符下输入,该TMS服务器使用tmsng数据库。编写这些命令是为了允许SQL Server通过当前登录的Microsoft Windows用户进行访问。要使用SQL登录凭据,请将 — E替换为 — U <username> -P <password>,并将用户名和密码替换为SQL凭据和系统管理权限。
TMS数据库
要使用CLI备份tmsng SQL数据库,请输入以下命令:
sqlcmd -S (local)\SQLTMS -E -Q "BACKUP DATABASE tmsng TO DISK='\tmsng.bak'
使用此命令时,请将<path>替换为要保存备份的位置。此位置必须有足够的空间用于备份,并且SQL服务必须具有对其的访问权限。
TMSPE数据库 (使用TMSPE时)
如果使用tmspe,请输入以下命令以从CLI备份tmspe SQL数据库:
sqlcmd -S (local)\SQLTMS -E -Q "BACKUP DATABASE tmspe TO DISK='\tmspe.bak'
将文件复制到新服务器
将备份文件复制到新的SQL Server位置。这可以是单独的SQL服务器,也可以是运行SQL Server Express的新TMS服务器位置。
本节介绍使用SQL Management Studio时的备份过程。
TMS数据库
在当前SQL服务器上,打开SQL Management Studio并导航到tmsng数据库。右键单击数据库并导航到任务>备份……:
在备份提示页面中,确保设置与显示的设置类似。可能指定了默认目标。如果要使用此位置存储备份,请单击确定,然后将备份发送到指定位置。如果未指定目标位置,请单击Add,单击……,然后输入tmsng的文件名。然后,单击所有三个屏幕的“确定”,数据库备份应发生。
TMSPE数据库(使用TMSPE时)
如果使用tmspe,请完成上述步骤,但右键单击tmspe数据库而不是tmsng数据库。将此备份命名为tmspe.bak。
将文件复制到新服务器
将备份文件复制到新的SQL Server位置。这可以是单独的SQL服务器,也可以是运行SQL Server Express的新TMS服务器位置。
如果使用TMS旧版代理,请在旧TMS服务器上打开Windows资源管理器并导航至%OPENDS_HOME% > db > userRoot。
示例如下:
C:> Program Files > TANDBERG > TMS > Provisioning > OpenDS-2.0 > db > userRoot
将*.jdb文件复制到新TMS服务器上的临时位置。
如果TMS运行版本14或更高版本,则存在加密密钥,用于在tmsng数据库中安全地存储凭据。必须将此密钥从旧服务器复制到新服务器。要从旧服务器收集此信息,请打开TMS工具并选择加密密钥。然后,复制密钥。
TMS可能包含最终用户自定义文件。应检查这些位置。如果这些位置中有自定义文件,请确保保存这些文件并在重新安装后将其复制到新的TMS服务器位置。
以下目录是默认路径:
备份和还原SQL数据库时使用两种方法。CLI可在所有安装了SQL的系统上使用,但SQL Management Studio可从Microsoft下载并使用(如果需要)。
本节介绍SQL CLI的使用。
TMS数据库
如果要在新TMS服务器上使用SQL Express来容纳数据库,请安装TMS,然后卸载它。这允许您创建恢复数据库所需的SQL Express实例。在安装期间,您不需要包括版本密钥和选项密钥,因为当从备份还原数据库时,此数据会被覆盖。如果使用单独的SQL服务器,则无需安装和卸载TMS。
在运行SQL Server或SQL Server Express的服务器上,输入本节中描述的命令以恢复SQL数据库。编写这些命令是为了允许SQL Server通过当前登录的Microsoft Windows用户进行访问。
要使用SQL登录凭据,请用-U <username> -P <password>替换-E,并用SQL凭据和系统管理权限替换用户名和密码。您还必须进行以下替换:
如果必须将数据库还原到SQL Version 2005,请输入以下命令:
sqlcmd -S <servername\instancename> -E -Q "DECLARE @Table TABLE (LogicalName
varchar(128),[PhysicalName] varchar(128), [Type] varchar, [FileGroupName]
varchar(128), [Size] varchar(128), [MaxSize] varchar(128), [FileId]varchar
(128), [CreateLSN]varchar(128), [DropLSN]varchar(128), [UniqueId]varchar
(128), [ReadOnlyLSN]varchar(128), [ReadWriteLSN]varchar(128),
[BackupSizeInBytes]varchar(128), [SourceBlockSize]varchar(128), [FileGroupId]
varchar(128), [LogGroupGUID]varchar(128), [DifferentialBaseLSN]varchar(128),
[DifferentialBaseGUID]varchar(128), [IsReadOnly]varchar(128), [IsPresent]
varchar(128));DECLARE @Path varchar(1000);SET @Path='<pathofbackup>\tmsng.bak'
;DECLARE @LogicalNameData varchar(256),@LogicalNameLog varchar(256);INSERT
INTO @table EXEC('RESTORE FILELISTONLY FROM DISK=''' +@Path+ '''');SET
@LogicalNameData=(SELECT LogicalName FROM @Table WHERE Type='D');SET
@LogicalNameLog=(SELECT LogicalName FROM @Table WHERE Type='L');RESTORE
DATABASE tmsng FROM DISK='<pathofbackup>\tmsng.bak' WITH REPLACE, MOVE
@LogicalNameData TO '<pathofdbfiles>\tmsng_data.mdf', MOVE @LogicalNameLog
TO '<pathofdbfiles>\tmsng_log.ldf'"
如果必须将数据库还原到SQL Version 2008,请输入以下命令:
sqlcmd -S <servername\instancename> -E -Q "DECLARE @Table TABLE (LogicalName
varchar(128),[PhysicalName] varchar(128), [Type] varchar, [FileGroupName]
varchar(128), [Size] varchar(128), [MaxSize] varchar(128), [FileId]varchar
(128), [CreateLSN]varchar(128), [DropLSN]varchar(128), [UniqueId]varchar
(128), [ReadOnlyLSN]varchar(128), [ReadWriteLSN]varchar(128),
[BackupSizeInBytes]varchar(128), [SourceBlockSize]varchar(128), [FileGroupId]
varchar(128), [LogGroupGUID]varchar(128), [DifferentialBaseLSN]varchar(128),
[DifferentialBaseGUID]varchar(128), [IsReadOnly]varchar(128), [IsPresent]
varchar(128), [TDEThumbprint]varchar(128));DECLARE @Path varchar(1000);SET
@Path='<pathofbackup>\tmsng.bak';DECLARE @LogicalNameData varchar(256),
@LogicalNameLog varchar(256);INSERT INTO @table EXEC('RESTORE FILELISTONLY
FROM DISK=''' +@Path+ '''');SET @LogicalNameData=(SELECT LogicalName FROM
@Table WHERE Type='D');SET @LogicalNameLog=(SELECT LogicalName FROM @Table
WHERE Type='L');RESTORE DATABASE tmsng FROM DISK='<pathofbackup>\tmsng.bak'
WITH REPLACE, MOVE @LogicalNameData TO '<pathofdbfiles>\tmsng_data.mdf',
MOVE @LogicalNameLog TO '<pathofdbfiles>\tmsng_log.ldf'"
TMSPE数据库(使用TMSPE时)
要将tmspe SQL数据库恢复为SQL版本2005,请在CLI中输入以下命令:
sqlcmd -S <servername\instancename> -E -Q "DECLARE @Table TABLE (LogicalName
varchar(128),[PhysicalName] varchar(128), [Type] varchar, [FileGroupName]
varchar(128), [Size] varchar(128), [MaxSize] varchar(128), [FileId]varchar
(128), [CreateLSN]varchar(128), [DropLSN]varchar(128), [UniqueId]varchar
(128), [ReadOnlyLSN]varchar(128), [ReadWriteLSN]varchar(128),
[BackupSizeInBytes]varchar(128), [SourceBlockSize]varchar(128), [FileGroupId]
varchar(128), [LogGroupGUID]varchar(128), [DifferentialBaseLSN]varchar(128),
[DifferentialBaseGUID]varchar(128), [IsReadOnly]varchar(128), [IsPresent]
varchar(128));DECLARE @Path varchar(1000);SET @Path='<pathofbackup>\tmspe.bak'
;DECLARE @LogicalNameData varchar(256),@LogicalNameLog varchar(256);INSERT
INTO @table EXEC('RESTORE FILELISTONLY FROM DISK=''' +@Path+ '''');SET
@LogicalNameData=(SELECT LogicalName FROM @Table WHERE Type='D');SET
@LogicalNameLog=(SELECT LogicalName FROM @Table WHERE Type='L');RESTORE
DATABASE tmspe FROM DISK='<pathofbackup>\tmspe.bak' WITH REPLACE, MOVE
@LogicalNameData TO '<pathofdbfiles>\tmspe_data.mdf', MOVE @LogicalNameLog
TO '<pathofdbfiles>\tmspe_log.ldf'"
要将tmspe SQL数据库恢复为SQL版本2008,请在CLI中输入以下命令:
sqlcmd -S <servername\instancename> -E -Q "DECLARE @Table TABLE (LogicalName
varchar(128),[PhysicalName] varchar(128), [Type] varchar, [FileGroupName]
varchar(128), [Size] varchar(128), [MaxSize] varchar(128), [FileId]varchar
(128), [CreateLSN]varchar(128), [DropLSN]varchar(128), [UniqueId]varchar
(128), [ReadOnlyLSN]varchar(128), [ReadWriteLSN]varchar(128),
[BackupSizeInBytes]varchar(128), [SourceBlockSize]varchar(128),
[FileGroupId]varchar(128), [LogGroupGUID]varchar(128), [DifferentialBaseLSN]
varchar(128), [DifferentialBaseGUID]varchar(128), [IsReadOnly]varchar(128),
[IsPresent]varchar(128), [TDEThumbprint]varchar(128));DECLARE @Path varchar
(1000);SET @Path='<pathofbackup>\tmspe.bak';DECLARE @LogicalNameData varchar
(256),@LogicalNameLog varchar(256);INSERT INTO @table EXEC('RESTORE
FILELISTONLY FROM DISK=''' +@Path+ '''');SET @LogicalNameData=(SELECT
LogicalName FROM @Table WHERE Type='D');SET @LogicalNameLog=(SELECT
LogicalName FROM @Table WHERE Type='L');RESTORE DATABASE tmspe FROM DISK=
'<pathofbackup>\tmspe.bak' WITH REPLACE, MOVE @LogicalNameData TO
'<pathofdbfiles>\tmspe_data.mdf', MOVE @LogicalNameLog TO
'<pathofdbfiles>\tmspe_log.ldf'"
本节介绍SQL Management Studio的使用。
TMS数据库
在新SQL服务器上打开SQL Management Studio。右键单击“数据库”,然后选择“还原数据库:
在“恢复源”字段中,单击“从设备:单选按钮,然后输入tmsng.bak文件的位置。在选择要恢复的备份集:字段中,选中tmsng-Full Database Backup复选框。在“至”数据库中:字段中,选择tmsng,然后单击确定。这应会恢复tmsng数据库。
TMSPE数据库(使用TMSPE时)
恢复tmspe数据库所用的过程与恢复tmsng数据库所用的过程相同,但您选择tmspe备份文件而非tmsng备份文件,并选择tmspe数据库而非tmsng数据库。
恢复数据库后,请完成以下步骤:
在安装过程中,输入从原始TMS服务器复制的加密密钥。
如果使用TMSPE,请在TMS服务器上重新安装TMSPE并指示新的数据库位置。
如果使用TMS传统代理,请完成以下步骤:
如果TMS服务器的主机名更改,并且您使用本地用户帐户(托管TMS服务器应用程序的服务器上存在的用户帐户 — 不是Active Directory(AD)帐户),则必须运行TMS工具实用程序,以修改数据库中的数据,确保可以登录:
要使用在TMS中具有站点管理员权限的用户帐户访问TMS门户,请完成以下步骤:
如果使用TMS传统代理,请完成以下步骤:
在页面底部的“TMS服务器”部分,您可能会看到多个TMS服务器。如果是,请完成以下步骤以删除旧服务器:
导航至管理工具> TMS代理诊断,并在本地TMS代理上运行TMS代理诊断。
在启用TMS代理复制到VCS时,请记住以下重要注意事项:
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
21-Jul-2014 |
初始版本 |