配置数据库

配置数据库

配置数据库


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 [changeDBServer.sh for Linux] 文件,打开数据库设置向导,填写相应的服务器详细信息:

  • 服务器类型: 从组合框中选择服务器类型。(Postgres SQL)。
  • 主机名: 输入数据库可用的 IP 地址/主机名,默认主机名为 "localhost"。
  • 端口:指定端口,默认端口为 65432。
  • 数据库: 默认情况下,数据库名称为 servicedesk(可根据需要变更)。

数据库用户凭证(仅适用于 10500 及更高版本)

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


注意:该凭证只允许用户读写应用程序数据库。
  1. 要检查连接是否可用,请点击测试按钮。弹出窗口显示连接已建立信息。

  2. 点击确定以继续。

  3. 点击保存按钮以保存 SQL 服务器设置。

 

ServiceDesk Plus Build 14610 及以上版本用户须知:


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

对于 ServiceDesk Plus 版本 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 服务器设置。

 

ServiceDesk Plus 中 MSSQL 用户所需角色

MSSQL 用户使用应用程序需要以下角色。

  • 公共

  • DBC 创建者或 DBOwner

  • 查看服务器状态和查看任何定义(可选)

角色作用

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

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

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


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


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

配置Azure SQL 数据库

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

  • 确保安装应用程序的机器与托管管理实例服务器的网络连接。
  • 如果应用程序要安装在托管于不同网络的虚拟机中,请使用 V-Net 对等连接到托管管理实例服务器的网络。
  • 按照配置 MS SQL 数据库的步骤完成配置。

ServiceDesk Plus (SDP) 使用 BUILD NO 11300 的 DesktopCentral (DC) 代理扫描 Windows、Linux 和 Mac 计算机。如果您在环境中使用 DC,则 DC 默认与自带的 PGSQL 数据库一起安装。

非GUI 用户

在命令提示符下运行 changeDBServer.bat [changeDBServer.sh for Linux],参数如下:


C:\[ServiceDesk Plus Home]\bin>changeDBServer.bat --console


它将从控制台获取 DB 服务器的必要信息。


对于 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 服务器连接,

  1. 为 SQL 服务器添加 NTLM 用户

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

  3. 通过添加的 NTLM 用户登录启动 ServiceDesk Plus

 

 步骤 1:为 SQL 服务器添加 NTLM 用户 

  1. 打开 SQL Server Management Studio。

  2. 在对象资源管理器下,右键单击登录并选择新建登录。

  1. 在显示的窗口中,选择 Windows 身份验证。

  1. 点击登录名旁边的搜索。

  2. 搜索并添加用户。

  1. 点击是。

确保添加的用户被分配了 dbcreator 角色。您可以在属性 >> 服务器角色下为用户添加权限。


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

如果您已经以配置的 NTLM 用户身份登录,请转到步骤 3。
  1. 按住 Shift + 右键单击 <SDP-HOME>\bin\changeDBServer.bat。

  2. 从显示的下拉菜单中,选择以不同用户身份运行。

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

  4. 在数据库设置向导中,选择 SQL Server 作为服务器类型,并选择 Windows 身份验证。

 

  1. 点击测试。弹出建立成功连接的窗口。

  2. 点击确定。

  3. 最后点击保存。

 

步骤 3:启动 ServiceDesk Plus 服务(作为其他用户): 

 

  1. 转到开始 > 服务。

  2. 在显示的页面中,右键点击 ManageEngine ServiceDesk Plus > 属性。

  3. 在登录选项卡下,选择此帐户。

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

  5. 点击确定。


 

现在,您可以作为已配置的 NTLM 用户启动 ServiceDesk Plus。


如果配置的 NTLM 用户账户的密码过期/重置,则必须使用新密码按步骤 3 所述启动应用服务器。不过,密码过期不会影响正在进行的会话。

 

MS SQL 连接解决方案:

如果连接被拒绝,并且 SQL Server 抛出无法连接服务器的异常,那么发生这种情况的原因可能如下,例如:

  • 服务器名称拼写错误或端口号不正确。
  • SQL 服务器可能未配置为使用 TCP/IP。在这种情况下,请通过 SQL 服务器的网络实用程序启用 TCP/IP。
  • 如果服务器上的防火墙阻止了端口 1433,则无法连接到服务器。
  • 使用 "telnet<server_host>1433\"\n 来确认防火墙阻止连接到 TCP/IP。
  • ServiceDesk 目前不支持 SQL Server Instance,将在功能发布时提供。如果知道命名实例的机器名称和端口,也可以连接一次 SQL Server 命名实例。
  • 创建一个具有完整权限的新用户,如下所示:

  • 在配置 SQL 服务器属性时,将身份验证类型选择为 SQL 服务器。
  • ServiceDesk Plus 目前不支持 Windows 身份验证。

 

 


常见问题

问题 1:出现以下情况后,我们需要做些什么?

  • 升级 MS SQL DB 服务器版本后
  • 移动 MS SQL 数据文件夹
  • 在同一/不同 MS SQL DB Server 中恢复已备份的 MS SQL 数据库实例。


数据库主密钥将由服务主密钥在内部解密。但在上述情况下,数据库主密钥会与服务主密钥解除关联,因此服务主密钥必须与数据库主密钥重新关联。

客户应按照以下步骤打开数据库主密钥并启用自动解密。

OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password'; -- 创建数据库时提供的主密钥密码(如果使用 ServiceDesk changeDBServer.bat 工具创建数据库,则密码为默认的 "SChar@123Mas!er")。

变更主密钥,通过服务主密钥放弃加密

变更主密钥,通过服务主密钥添加加密

 

问题 2:升级到 13000 或更高版本会显示以下错误信息:



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