配置数据库


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

配置数据库
 


ServiceDesk Plus (SDP) 从 BUILD NO 11300 起使用 Endpoint Central 代理扫描 Windows、Linux 和 Mac 设备。如果您的环境中使用了 Endpoint Central,则默认会安装捆绑的 PGSQL 数据库。
默认情况下,ServiceDesk Plus 支持 PostgreSQL 数据库。若要切换到 SQL 数据库,您需要配置 SQL Server 以建立连接并启动 Server。

配置 Postgres SQL 数据库

  1. 执行位于 <ServiceDesk Home>\bin 目录下的 changeDBServer.bat 文件 [Linux 为 changeDBServer.sh]。这将打开数据库设置向导。填写相应的 Server 详细信息:
  • Server 类型:从下拉框中选择 Server 类型。(PostgresSQL)。
  • 主机名:输入数据库所在的 IP 地址/主机名。默认主机名为“localhost”。
  • 端口指定端口。默认端口为 65432。
  • 数据库默认数据库名为 servicedesk(可根据需要更改)。

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

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

注意:此凭据仅授予用户对该 application 数据库的读写权限。 

  1. 要检查连接是否可用,请单击“Test”按钮。随后会弹出一个窗口,显示“Connection Established”消息。
  2. 单击 OK 继续。
  3. 单击 Save 按钮以保存 SQL Server 设置。

 

适用于 ServiceDesk Plus Build 14610 及以上版本用户的通知:

为 sdpadmin 自动生成默认 PostgreSQL 数据库密码

对于 ServiceDesk Plus build 14610 及以上版本的用户,系统现在会为 sdpadmin 自动生成默认 PostgreSQL 数据库密码。
 

为什么要自动生成 PostgreSQL 数据库密码?

出于安全原因,系统现在会为 sdpadmin 自动生成默认 PostgreSQL 数据库密码。请参阅以下内容,了解在特定部署场景下密码会在何时以及如何自动生成。
 

密码会在何时以及如何自动生成?

  • 对于现有部署,仅当之前未更改默认密码时,系统才会在迁移期间自动生成密码。

  • 对于全新部署,系统会在首次启动 Server 时自动生成默认密码。

  • 对于在迁移到 14610 或更高版本后切换到 PostgreSQL 数据库的部署,在执行 changeDBServer.bat/.sh 脚本时会自动生成数据库密码。

 

通过外部工具连接 ServiceDesk Plus 数据库的建议。

若要通过外部 Server 连接到 ServiceDesk Plus 数据库,我们强烈建议用户使用 rouser。对于捆绑的 Postgres 数据库,默认密码是 "EdgarFCodd"。对于外部 Postgres/MSSQL 数据库,请单击此处。 

 

如何检索密码?

安装 ServiceDesk Plus 的用户可以通过调用以下脚本查看自动生成的密码:

  • Windows:decryptPostgresPassword.bat
  • Linux:decryptPostgresPassword.sh
     
当数据库配置从捆绑 Postgres 更新为外部 Postgres/MSSQL 后,将无法再检索 sdpadmin 的 PostgreSQL 密码。因此,请务必检索该密码并将其安全保存,以备将来使用。如果将 sdpadmin 密码重置为默认密码,application 将无法启动。
从 build 14600 迁移到 14620 或更高版本时,decryptPostgresPassword.bat/.sh 文件将不可用。请联系支持团队以检索 sdpadmin 密码。

 

配置 MS SQL 数据库

 

执行位于 <ServiceDesk Home>\bin 目录下的 changeDBServer.bat 文件 [Linux 为 changeDBServer.sh]。这将打开数据库设置向导。填写相应的 Server 详细信息:

  • Server 类型:从下拉框中选择 Server 类型。(MS SQL)
  • 主机名:输入数据库所在的 IP 地址/主机名。默认主机名为“localhost”。
  • 端口:指定端口。默认端口为 1433。
  • 数据库:默认数据库名为 servicedesk(可根据需要更改)。
  • 用户名:指定登录到 Server 的用户名。
  • 密码指定密码。
  • 主密钥: 输入一个主密钥密码,用于加密数据库中的 SCHAR 列。仅在创建数据库时才会要求输入主密钥密码。 

只有具备 DBCreator 或 DBOwner 权限的用户才能创建主密钥。请务必记住主密钥密码,因为该密码不会存储在任何地方。要更改主密钥密码,请参阅此处

ServiceDesk Plus (SDP) 从 BUILD NO 11300 起使用 Endpoint Central 代理扫描 Windows、Linux 和 Mac 设备。如果您的环境中使用了 Endpoint Central,则默认会安装捆绑的 PGSQL 数据库。要了解如何将 Endpoint Central 数据库更改为 MS SQL,请单击此处

 

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


 

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

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

 

在 Windows 2012 及以上版本中配置 MS SQL 数据库时,您需要拥有完整的管理员权限。(请注意,标准用户帐户属于管理员。)
 
  • 要检查连接是否可用,请单击 Test。随后会弹出一个窗口,显示“Connection Established”消息。
  • 单击 OK 继续。
  • 单击 Save 以保存 SQL Server 设置。

 

ServiceDesk Plus 中 MSSQL 用户所需角色

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

  • Public

  • DBCreator 或 DBOwner

  • View Server State 和 View Any Definition(可选)

角色用途

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

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

  • View Server State 和 View Any Definition:用于在健康监视器中查看 MSSQL Server 的属性。没有此权限的用户将无法查看 MSSQL Server 的属性。

具备 View Server State 和 View Any Definition 权限:

 

不具备 View Server State 和 View Any Definition 权限:

配置 Azure SQL 数据库

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

  • 请确保要安装该 application 的机器已连接到托管实例 Server 所在的同一网络。
  • 如果该 application 将安装在托管于其他网络中的虚拟机上,请使用 V-Net 对等互连 连接到托管实例 Server 所在的网络。
  • 按照配置 MS SQL 数据库中给出的步骤完成配置。

ServiceDesk Plus 不支持 Azure 数据库的备份功能。有关如何执行 Azure 数据库备份的更多信息,请单击此处

如果需要,可以使用内置的数据库迁移工具将数据库迁移到本地 SQL Server。

ServiceDesk Plus (SDP) 从 BUILD NO 11300 起使用 Endpoint Central 代理扫描 Windows、Linux 和 Mac 设备。如果您的环境中使用了 Endpoint Central,则默认会安装捆绑的 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) 使用 Endpoint Central 代理扫描 Windows、Linux 和 Mac 设备。如果您的环境中使用了 Endpoint Central,则默认会安装捆绑的 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 中所述使用新密码启动 application Server。不过,密码过期不会影响正在进行的会话。
只有在服务的 Log On 设置下配置的用户,才能在使用 Windows 身份验证的 ServiceDesk Plus 中发起升级过程。

MS SQL 连接问题排查:

如果连接被拒绝,且 SQL Server 抛出“unable to connect the Server”之类的异常,则可能由以下原因导致:

  • Server 名称拼写错误,或端口号不正确。
  • SQL Server 可能未配置为使用 TCP/IP。在这种情况下,请从 SQL Server 的网络实用程序 application 中启用 TCP/IP。
  • 如果防火墙阻止了 Server 上的 1433 端口,则将无法连接到该 Server。
  • 要确认是否被防火墙阻止连接 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 Server 以支持 TLSv1.2。单击此处查找所需的 SQL Server 版本。