此处列出了一些有关 EAR 的常见问题(FAQ)。我们讨论了您在生成主密钥密码或在当前设置中升级application时可能遇到的各种问题。 

升级已停止并显示以下消息。该如何继续?

什么是对称密钥?

什么是数据库主密钥?

如何打开数据库主密钥。

如何检查特定数据库是否存在对称密钥。

如何检查特定数据库是否存在证书。 

如何创建主密钥密码。

如何创建附加主密钥密码。 

如何备份主密钥密码。

如何恢复主密钥密码?

为什么主密钥密码在升级期间会失败? 

在 postgres 中用于加密值的默认算法是什么? 

各种数据库中加密列的数据类型是什么?

如何备份和恢复 MSSQL 数据库。 

系统错误代码

什么是 ECTag?我可以更改它吗?

如何排查 AOAG 设置中由于故障转移导致的登录、邮件获取或集成问题?

 

  • 升级已停止。该如何继续?

           您无法使用现有数据库进行升级;请按照以下步骤进行升级:

1. 备份您的application

2. 使用 /changeDBServer.bat  /changeDBServer.sh 创建一个新数据库。

3. 启动并停止application一次。

4. 将您的application恢复到新数据库中。 

5. 现在,将您的application升级到 ServiceDesk Plus 9313 或更高版本。

顶部

  •  什么是对称密钥?

对称密钥或密钥是加密算法的一个输入,它有助于在任意给定时间针对不同提供的密钥产生不同的输出。

顶部

  • 什么是数据库主密钥?

它是一种对称密钥,用于保护数据库中证书的私钥和非对称密钥。该密钥使用 Triple DES 或 AES_256 算法以及用户提供的密码进行加密。只有在创建了数据库主密钥后,您才能创建用于数据加密的附加对称密钥和证书。 

顶部

  • 如何打开数据库主密钥。

打开 MSSQL Server Management Studio,右键单击数据库并选择 新建查询

在工作区中,运行以下查询: 

OPEN MASTER KEY DECRYPTION BY PASSWORD='<MasterKey_password>'; 

顶部

  • 如何检查特定数据库是否存在对称密钥。 

打开 MSSQL Server Management Studio,右键单击数据库并选择 新建查询

在工作区中,运行以下查询:

select * from sys.symmetric_keys;

如果存在对称密钥,结果中将以表格形式显示。

顶部

  • 如何检查特定数据库是否存在证书。 

打开 MSSQL Server Management Studio,右键单击数据库并选择 新建查询

在工作区中,运行以下查询:

select * from sys.certificates 

如果有证书,结果中将以表格形式显示。

顶部

  • 如何创建主密钥密码。

具有 dbcreator 权限的用户可以按照以下步骤创建主密钥密码:

打开 MSSQL Server Management Studio,右键单击数据库并选择 新建查询

在工作区中,运行以下查询:

CREATE MASTER KEY ENCRYPTION BY PASSWORD='<new_Masterkey_password>';
主密钥密码必须符合已安装 MSSQL 的计算机上的密码策略。 

顶部

  • 如何创建附加主密钥密码。 

具有 dbcreator 权限的用户可以按照以下步骤更改主密码:

打开 MSSQL Server Management Studio。

右键单击数据库并选择 新建查询

运行以下查询:

 

ALTER MASTER KEY ADD ENCRYPTION BY PASSWORD='<new-master_key>';

 

请注意,创建附加主密钥密码后,旧的主密钥密码仍然可以使用。 

顶部

  • 如何备份主密钥密码。

打开 MSSQL Server Management Studio,右键单击数据库并选择 新建查询

 在工作区中,运行以下查询:

BACKUP MASTER KEY TO FILE = 'path_to_file' ENCRYPTION BY PASSWORD = '<Masterkey_password>';

顶部

  • 如何恢复主密钥密码?

打开 MSSQL Server Management Studio,右键单击数据库并选择 新建查询

在工作区中,运行以下查询:

RESTORE MASTER KEY FROM FILE = 'path_to_file' DECRYPTION BY PASSWORD = '<masterkey_password_of_backup_database>' ENCRYPTION BY PASSWORD = '<masterkey_password_of_restoring_database>';

主密钥密码将恢复到数据库中。

顶部

  • 为什么主密钥密码在升级期间会失败? 

如果该密码不符合已安装 MSSQL 的计算机上的密码策略,就可能发生这种情况。 

顶部

  • 在 postgres 中用于加密值的默认算法是什么? 

AES_256

顶部

  • 各种数据库中加密列的数据类型是什么?

Postgre:bytea

MSSQL:varbinary

顶部

  • 如何备份和恢复 MSSQL 数据库。 

选项 1:通过 ServiceDeskPlus 提供的工具

步骤 1:停止 ServiceDesk Plus 服务。
步骤 2:备份 MSSQL 数据库中的现有数据和配置。例如,假设您现有的数据库为 MSSQL 2005。要进行备份,
请在命令提示符下进入 [ServiceDesk Plus-Home]\bin 目录,并执行命令 backUpData.bat 以开始数据备份。
cmd> [ServiceDesk Plus Home]\bin
cmd> backUpData.bat
该备份将存储在 ServiceDesk Plus Home 目录下的 Backup 文件夹中。
步骤 3:调用位于 [Service Desk-Home]\bin 文件夹下的 ChangeDBServer.bat
步骤 4: 提供新 SQL Server 的详细信息。例如,假设您的新 SQL Server 是 2008 64 位。输入主机名、用户名和密码。单击 Test 检查与 SQL Server 的连接性。应显示“Connection Established”消息。单击 Save。


注意:如果已备份数据库的主密钥已更改,则必须更改主密钥。


步骤 5:启动并停止 ServiceDesk Plus 服务一次。
注意:将在新的 SQL Server 中创建一个名为 ServiceDesk 的数据库。
步骤 6:现在调用位于 [Service Desk-Home]\bin 文件夹下的 restoreData.bat。应使用之前创建的备份文件,将数据恢复到您的 MSSQL Server 实例中。
步骤 7:恢复过程完成后,启动 ManageEngine ServiceDesk Plus 服务。

 

选项 2:通过 SQL Server Management Studio 手动备份和恢复。

步骤 1:停止 ManageEngine ServiceDesk Plus 服务。

步骤 2:在 MSSQL Server Management 中,右键单击要备份的数据库,然后转到 Tasks>>Backup,数据库将以“database_name.bak”的形式备份到指定位置。

步骤 3:使用此处提供的步骤备份旧数据库的主密钥密码 /products/service-desk/help/adminguide/ear-faqs.html$8

步骤 4: 使用此处提供的步骤将旧数据库的主密钥恢复到新数据库中,

/products/service-desk/help/adminguide/ear-faqs.html$9
步骤 5:要恢复数据库,右键单击它并选择 Restore>>DataBase

Restore Database 对话框中,选择设备选项和备份文件路径(database_name.bak),然后单击 Ok

注意:如果发生以下错误, 
System.Data.SqlClient.SqlError:备份集包含的是现有“new_database_name”数据库以外的另一个数据库的备份。(Microsoft.SqlServer.SmoExtended)
请在 Options 选项卡中选择“Overwrite the existing database(WITH REPLACE)”选项。

 

步骤 6:您的 MSSQL 数据库将被恢复。


注意:如果有意更改了 Database Master Key 密码,则应在 ''customer-config.xml" 中更新“Database Master Key”的主密钥密码。

顶部

它是 postgres 中用于加密密码列数据的对称 PGP(Pretty Good Privacy)密钥。ECTag 的值会被加密并存储在 product-config.xml 文件中。 

请按照以下步骤进行更改:

调用 changeKey.bat 之前,请先进行备份。 

在 <product_home>/ME/ServiceDesk/bin 中,调用 changeKey.bat 并附加新的 ECTag 值。

changeKey.bat <ECTag value>

整个数据库将使用旧密钥解密,然后使用给定的 ECTag 值重新加密。

 

如何排查 AOAG 设置中由于故障转移导致的登录、邮件获取或集成问题?
检查在 AOAG 设置期间的 Initial Data Synchronisation 是否选择了 Automatic seeding。如果是,请在所有节点中执行以下查询以解决此问题:

EXEC sp_control_dbmasterkey_password @db_name = N'<database_name>' , @password = N'<Master_Key_Password>',@action = N'add' ;

 

顶部