配置数据库


  1. 配置 Postgres SQL 数据库
  2. 配置 MS SQL 数据库
  3. 配置 Azure SQL 数据库

配置数据库
 

ServiceDesk Plus (SDP) 使用 BUILD NO 11300 的 Desktop Central (DC) 代理扫描 Windows、Linux 和 Mac 计算机。如果您在环境中使用 DC,则 DC 默认与缺省的 PGSQL 数据库一起安装。
ServiceDesk plus 默认支持 PostgreSQL 数据库。要切换到 SQL 数据库,需要配置 SQL 服务器以建立连接并启动服务器。

配置 Postgres SQL 数据库

  1. 执行位于 <ServiceDesk Home>\bin 目录下的 changeDBServer.bat 文件 [Linux 为 changeDBServer.sh]。这将打开数据库设置向导。填写相应的 Server 详细信息:
  • 服务器类型: 从组合框中选择服务器类型。(Postgres SQL)。
  • 主机名: 输入数据库可用的 IP 地址/主机名,默认主机名为 "localhost"。
  • 端口:指定端口,默认端口为 65432。
  • 数据库: 默认情况下,数据库名称为 servicedesk(可根据需要变更)。

数据库用户凭据(仅适用于 10500 及以上版本)

  • 用户名指定登录到 Server 的用户名。(默认用户名: sdpadmin)
  • 密码:指定密码。(默认密码: sdp@123)

注意:该凭证只允许用户读写应用程序数据库。

  1. 要检查连接是否可用,请点击测试按钮。弹出窗口显示连接已建立信息。
  2. 点击确定以继续。
  3. 点击保存按钮以保存 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,请点击此处

 

有关主密钥的更多信息,请参阅页面。 


 

要手动创建或更改主密钥密码,请使用以下查询。 

  1. 要创建主密钥密码,请使用 "create master key encryption by password= ";要变更主密钥密码,请使用此查询:  "更改主密钥加密密码=alter master key encryption by password=''。
  2. 在内部,customer-config.xml 将以加密的主密钥密码保存。

 

要配置 Windows 2012 及以上版本的 MS SQL 数据库,您需要拥有完整的管理员权限。(记住,标准用户账户是管理员账户)。
 
  • 要检查连接是否可用,请点击测试。弹出窗口显示 "连接已建立 "信息。
  • 点击确定继续。
  • 点击保存以保存 SQL server设置。

 

ServiceDesk Plus 中 MSSQL 用户所需角色

MSSQL 用户使用该 application 需要具备以下角色。

  • 公共
     
  • DBC 创建者或 DBOwner
     
  • 查看服务器状态和查看任何定义(可选)

角色作用

  • DBCreator:如果数据库是通过 changeDBServer 创建的。

  • DBOwner:如果数据库是手动创建的,且仅通过 changeDBServer 进行配置。

  • 查看服务器状态和查看任何定义: 在健康状况表中查看 MSSQL 服务器的属性。没有此权限的用户将无法查看 MSSQL 服务器的属性。

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

 

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

配置 Azure SQL 数据库

对于 Azure SQL 管理实例数据库,

  • 确保安装应用程序的机器与托管管理实例服务器的网络连接。
  • 如果应用程序要安装在托管于不同网络的虚拟机中,请使用 V-Net 对等互连 到托管管理实例服务器的网络
  • 按照配置 MS 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,

  1. 向 SQL Server 添加一个 NTLM 用户

  2. 在 ServiceDesk Plus 中使用 Windows 身份验证配置数据库

  3. 使用已添加的 NTLM 用户登录来启动 ServiceDesk Plus

 

 步骤 1:向 SQL Server 添加一个 NTLM 用户 

  1. 打开 SQL Server Management Studio

  2. Object Explorer 下,右键单击 Login 并选择 New Login

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

  1. 单击 Login Name 字段旁边的 Search

  2. 搜索并添加该用户。

  1. 单击 OK

请确保添加的用户已分配 dbcreator 角色。您可以在 Properties >> Server Roles 下为用户添加权限。

步骤 2:在 ServiceDesk Plus 中配置 Windows 身份验证 

如果您已经以已配置的 NTLM 用户身份登录,请转到步骤 4。

  1. 在 <SDP-HOME>\bin\changeDBServer.bat 上按 Shift + 右键单击。

  2. 从显示的下拉菜单中选择“Run as different User”(以不同用户身份运行)。

  3. 输入步骤 1 中配置的 NTLM 用户的凭据。

  4. 在数据库设置向导中,选择 SQL Server 作为 Server 类型,并选择 Windows Authentication。

 

  1. 单击 Test。连接成功时会弹出提示窗口。

  2. 单击 OK

  3. 最后,单击 Save

 

 步骤 3:启动 ServiceDesk Plus 服务(以其他用户身份): 

 

  1. 转到 Start > Services

  2. 在显示的页面中,右键单击 ManageEngine ServiceDesk Plus > Properties

  3. 在 Log On 选项卡下,选择 This account

  4. 提供步骤 1 中配置的用户的登录凭据。

  5. 单击 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 版本。