配置数据库
- 配置 Postgres SQL 数据库
- 配置 MS SQL 数据库
- 配置 Azure SQL 数据库
配置数据库
ServiceDesk Plus (SDP) 使用 BUILD NO 11300 的 Desktop Central (DC) 代理扫描 Windows、Linux 和 Mac 计算机。如果您在环境中使用 DC,则 DC 默认与缺省的 PGSQL 数据库一起安装。
ServiceDesk plus 默认支持 PostgreSQL 数据库。要切换到 SQL 数据库,需要配置 SQL 服务器以建立连接并启动服务器。
配置 Postgres SQL 数据库
- 执行位于 <ServiceDesk Home>\bin 目录下的 changeDBServer.bat 文件 [Linux 为 changeDBServer.sh]。这将打开数据库设置向导。填写相应的 Server 详细信息:
- 服务器类型: 从组合框中选择服务器类型。(Postgres SQL)。
- 主机名: 输入数据库可用的 IP 地址/主机名,默认主机名为 "localhost"。
- 端口:指定端口,默认端口为 65432。
- 数据库: 默认情况下,数据库名称为 servicedesk(可根据需要变更)。
数据库用户凭据(仅适用于 10500 及以上版本)
- 用户名:指定登录到 Server 的用户名。(默认用户名: sdpadmin)
- 密码:指定密码。(默认密码: sdp@123)
注意:该凭证只允许用户读写应用程序数据库。
- 要检查连接是否可用,请点击测试按钮。弹出窗口显示连接已建立信息。
- 点击确定以继续。
- 点击保存按钮以保存 SQL 服务器设置。
适用于 ServiceDesk Plus Build 14610 及以上版本用户须知:
为 sdpadmin 自动生成默认 PostgreSQL 数据库密码
对于 ServiceDesk Plus build 14610 及以上版本的用户,系统现在会为 sdpadmin 自动生成默认 PostgreSQL 数据库密码。
为什么要自动生成 PostgreSQL 数据库密码?
出于安全考虑,PostgreSQL 数据库的默认密码现在会自动为 sdpadmin 生成。请参阅以下内容,了解特定设置何时以及如何自动生成密码。
密码会在何时以及如何自动生成?
- 对于现有设置,只有在默认密码之前未更新的情况下,才会在迁移过程中自动生成密码。
- 对于新设置,默认密码将在首次启动服务器时自动生成。
- 对于迁移到 14610 或更高版本后切换到 PostgreSQL 数据库的设置,数据库密码将在执行 changeDBServer.bat/.sh 脚本时自动生成。
通过外部工具连接 ServiceDesk Plus 数据库的建议。
要通过外部服务器连接 ServiceDesk Plus 数据库,我们强烈建议用户使用 rouser。对于捆绑的 Postgres 数据库,默认密码为 "EdgarFCodd"。对于外部 Postgres/MSSQL 数据库,请单击此处。
如何找回密码?
安装 ServiceDesk Plus 的用户可以通过调用以下脚本查看自动生成的密码:
- Windows:decryptPostgresPassword.bat
- Linux:decryptPostgresPassword.sh
数据库配置从自带的 Postgres 更新为外部 Postgres/MSSQL 后,sdpadmin 的 PostgreSQL 密码将无法找回。因此,请确保找回密码并将其保存在安全位置,以备将来使用。如果将 sdpadmin 密码重置为默认密码,应用程序将无法启动。
从版本 14600 迁移到 14620 或更高版本时,decryptPostgresPassword.bat/.sh 文件将不可用。请联系技术支持获取 sdpadmin 密码。
配置 MS SQL 数据库
执行 <ServiceDesk Home>\bin 目录下的 changeDBServer.bat [changeDBServer.sh for Linux] 文件,打开数据库设置向导。填写相应的服务器详细信息:
- 服务器类型: 从组合框中选择服务器类型。(MS SQL)
- 主机名: 输入数据库所在的 IP 地址/主机名。默认主机名为 "localhost"。
- 端口:指定端口。默认端口为 1433。
- 数据库: 默认情况下,数据库名称为 servicedesk(可根据需要更改)。
- 用户名: 指定登录服务器的用户名。
- 密码:指定密码。
- 主密钥: 输入主密钥密码,以加密数据库中的 SCHAR 列。只有在创建数据库时才会询问主密钥密码。
只有管理员用户才能创建主密钥。请务必记住主密钥密码,因为它不会存储在任何地方。要更改主密钥密码,请参阅此处。
ServiceDesk Plus (SDP) 使用 BUILD NO 11300 的 Desktop Central (DC) 代理扫描 Windows、Linux 和 Mac 计算机。如果您在环境中使用 DC,那么 DC 默认安装在自带的 PGSQL 数据库中。要了解如何将 DC 数据库更改为 MS SQL,请点击
此处
.png)
要手动创建或更改主密钥密码,请使用以下查询。
- 要创建主密钥密码,请使用 "create master key encryption by password= ";要变更主密钥密码,请使用此查询: "更改主密钥加密密码=alter master key encryption by password=''。
- 在内部,customer-config.xml 将以加密的主密钥密码保存。
要配置 Windows 2012 及以上版本的 MS SQL 数据库,您需要拥有完整的管理员权限。(记住,标准用户账户是管理员账户)。
- 要检查连接是否可用,请点击测试。弹出窗口显示 "连接已建立 "信息。
- 点击确定继续。
- 点击保存以保存 SQL server设置。
ServiceDesk Plus 中 MSSQL 用户所需角色
MSSQL 用户使用该 application 需要具备以下角色。
- 公共
- DBC 创建者或 DBOwner
- 查看服务器状态和查看任何定义(可选)
角色作用
有了查看服务器状态和查看任何定义的权限:

没有查看服务器状态和查看任何定义的权限:

配置 Azure SQL 数据库
对于 Azure SQL 管理实例数据库,
ServiceDesk Plus 不支持 Azure 数据库的备份功能。有关如何执行 Azure 数据库备份的更多信息,请单击此处。
如果需要,可以使用内置的数据库迁移工具将数据库迁移到本地 SQL Server。
ServiceDesk Plus (SDP) 使用 BUILD NO 11300 的 DesktopCentral (DC) 代理扫描 Windows、Linux 和 Mac 计算机。如果您在环境中使用 DC,则 DC 默认与自带的 PGSQL 数据库一起安装。要了解如何将 Endpoint Central 数据库更改为 MS SQL,请单击
此处非 GUI 用户
在命令提示符中运行命令 changeDBServer.bat [Linux 为 changeDBServer.sh],并传入如下参数:
C:\[ServiceDesk Plus Home]\bin>changeDBServer.bat --console
它将从控制台获取数据库 Server 所需的信息。
对于 PGSQL,界面如下所示:

对于 MS SQL,界面如下所示。

ServiceDesk Plus (SDP) 使用 BUILD NO 的 DesktopCentral (DC) 代理扫描 Windows、Linux 和 Mac 计算机。如果您在环境中使用 DC,那么 DC 默认会与自带的PGSQL 数据库一起安装。
在 Windows 中连接到 Postgres SQL 数据库
1. 在命令提示符中转到 [ServiceDesk Plus Home] \ pgsql \ bin。
cd ManageEngine\ServiceDesk\pgsql\bin
2. 输入命令:psql.exe -U postgres -p 65432 servicedesk
C:\> cd ManageEngine\ServiceDesk\pgsql\bin> psql.exe -U postgres -p 65432 servicedesk
对于高于 10000 的版本,
C:\> cd ManageEngine\ServiceDesk\pgsql\bin> psql.exe -U sdpadmin -p 65432 servicedesk
并输入密码 sdp@123
提示符将变为:servicedesk=#。

使用 Windows 身份验证连接 SQL Server
要在 Windows 身份验证模式下将 ServiceDesk Plus 连接到 Microsoft SQL Server,
向 SQL Server 添加一个 NTLM 用户
在 ServiceDesk Plus 中使用 Windows 身份验证配置数据库
使用已添加的 NTLM 用户登录来启动 ServiceDesk Plus
步骤 1:向 SQL Server 添加一个 NTLM 用户
打开 SQL Server Management Studio。
在 Object Explorer 下,右键单击 Login 并选择 New Login。

在显示的窗口中,选择 Windows Authentication。

单击 Login Name 字段旁边的 Search。
搜索并添加该用户。

单击 OK。
请确保添加的用户已分配 dbcreator 角色。您可以在 Properties >> Server Roles 下为用户添加权限。
步骤 2:在 ServiceDesk Plus 中配置 Windows 身份验证
如果您已经以已配置的 NTLM 用户身份登录,请转到步骤 4。
在 <SDP-HOME>\bin\changeDBServer.bat 上按 Shift + 右键单击。
从显示的下拉菜单中选择“Run as different User”(以不同用户身份运行)。
输入步骤 1 中配置的 NTLM 用户的凭据。
在数据库设置向导中,选择 SQL Server 作为 Server 类型,并选择 Windows Authentication。

单击 Test。连接成功时会弹出提示窗口。
单击 OK。
最后,单击 Save。
步骤 3:启动 ServiceDesk Plus 服务(以其他用户身份):
转到 Start > Services。
在显示的页面中,右键单击 ManageEngine ServiceDesk Plus > Properties。
在 Log On 选项卡下,选择 This account。
提供步骤 1 中配置的用户的登录凭据。
单击 OK。

现在,您可以以已配置的 NTLM 用户身份启动 ServiceDesk Plus。
如果配置的 NTLM 用户账户的密码过期/重置,则必须使用新密码按步骤 3 所述启动应用服务器。不过,密码过期不会影响正在进行的会话。
只有在服务的 Log On 设置下配置的用户,才能在使用 Windows 身份验证的 ServiceDesk Plus 中发起升级过程。
MS SQL 连接问题排查:
如果连接被拒绝,且 SQL Server 抛出“unable to connect the Server”之类的异常,则可能由以下原因导致:
- 服务器名称拼写错误或端口号不正确。
- SQL Server可能未配置为使用 TCP/IP。在这种情况下,请通过 SQL Server的网络实用程序启用 TCP/IP。
- 如果服务器上的防火墙阻止了端口 1433,则无法连接到服务器。
- 要确认是否被防火墙阻止连接 TCP/IP,请使用 \"telnet<Server_host>1433\"\n 进行确认。
- ServiceDesk 当前不支持 SQL Server 实例,后续功能版本中将提供支持。如果您知道命名实例的机器名和端口,也可以连接到 SQL Server 命名实例。
- 创建一个具有完全权限的新用户,如下所示:

- 在配置 SQL Server 属性时,按如下所示将身份验证类型选择为 SQL Server。ServiceDesk Plus 当前不支持 Windows 身份验证。

常见问题
问题 1:在以下场景之后,我们需要执行哪些操作?
- 升级 MS SQL DB Server 版本后
- MS SQL 数据文件夹迁移后
- 在同一个/不同的 MS SQL DB Server 中恢复已备份的 MS SQL 数据库实例后。
数据库主密钥将由服务主密钥在内部解密。但在上述情况下,数据库主密钥会与服务主密钥解除关联,因此服务主密钥必须与数据库主密钥重新关联。
客户应按照以下步骤打开数据库主密钥并启用自动解密。
OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password'; -- 创建数据库时提供的主密钥密码(如果使用 ServiceDesk changeDBServer.bat 工具创建数据库,则密码为默认的 "SChar@123Mas!er")。
ALTER MASTER KEY DROP ENCRYPTION BY SERVICE MASTER KEY
ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY
问题 2:升级到 13000 或以上版本时会显示以下错误消息:

回答:ServiceDesk Plus 13000 以上版本不支持 TLSv1、TLSv1.1 和 SSL 等较弱协议。升级 SQL 服务器以支持 TLSv1.2。。单击此处查找所需的 SQL Server 版本。