使用Microsoft SQL Server后端数据库安装或启动Applications Manager时出现问题

使用Microsoft SQL Server后端数据库安装或启动Applications Manager时出现问题

问题:无法使用Microsoft SQL 服务器数据库作为后端安装或启动Applications Manager。
解决方案: 按照以下故障排除步骤解决问题:
1. 在Microsoft SQL服务器主机上,转到开始 -> 所有程序 -> Microsoft SQL服务器 -> 配置工具 -> SQL 服务器配置管理器 -> SQL 服务器服务。  
2. 确保以下服务处于“正在运行”状态:
     a. SQL服务器
     b. MSSQL$<InstanceName> (使用SQL服务器实例时名称是必需的)
     c. SQL Server Browser (使用SQL服务器实例时名称是必需的)
3. 在SQL服务器配置管理器 -> SQL服务器网络配置 -> MSSQLServer或SQLEXPRESS协议(或您SQL服务器实例的适当名称),确保启用以下内容:
     a. 请确保已启用TCP/IP。
     b. 验证相应IP地址的TCP/IP端口是否已启用并处于活动状态且正确无误。
4. 如果有防火墙,配置防火墙来允许与SQL服务器和SQL Server Browser服务相关的网络流量。
5. 打开命令提示符窗口并使用以下命令检查Microsoft SQL服务器主机中是否正在侦听适当的端口:

      SQL Server的默认端口: 1433 (TCP) 
      SQL Server Browser的默认端口: 1434 (UDP)(使用SQL服务器实例时名称是必需的)
   netstat -an | find “143”   
    
      TCP    0.0.0.0:1433           0.0.0.0:0              LISTENING  
      TCP    [::]:1433                    [::]:0                   LISTENING  
      UDP    0.0.0.0:1434              *:*            
      UDP    [::]:1434                     *:*   
注意: 如果您没有使用默认的SQL服务器端口,那么根据需要更改命令中的端口号而不再是“1433”。
6. 在Applications Manager主机中打开命令提示符,并验证您是否能够使用以下命令连接到SQL服务器端口:
telnet <SQL Server Hostname> 1433
7. 如果您在安装过程中输入了错误的用户名/密码/域/实例名称,您可以使用以下步骤进行修改:

I. 打开WordPad并编辑“<APM_home>\working\conf\MSSQL\”以及“<APM_home>\working\conf\”中的 database_params.conf文件,并根据需要更改下面的主机名、端口、域名、实例名称等行。
如果您不使用Windows身份验证,则不需要 'domain=domainname'。
如果您没有连接到命名的MSSQL实例,则不需要“instance=instancename”。
默认情况下,AMDB是数据库名称,如果您已经重命名或打算使用不同的数据库,那么您可以输入适当的数据库名称,否则不要修改它。
url jdbc:jtds:sqlserver://hostname:1433/AMDB;domain=domainname;instance=instancename;appName=ApplicationsManager AppModules TopoDB-MapDB-EventDB-AlertDB-PollDB-PolicyDB-USERSTORAGEDB-ApplnDB

II. 在下一行的同一文件中更改用户名来连接到MS SQL服务器(如果已更改)
username monitoruser AppModules TopoDB-MapDB-EventDB-AlertDB-PollDB-PolicyDB-USERSTORAGEDB-ApplnDB

III. 在下一行的同一文件中更改密码来连接到MS SQL服务器 (如果已更改)。若要更改密码,请将encryptedpassword一词更改为密码并留一个空格,然后以明文形式输入密码。在下次重新启动时,产品密码将自动加密。
encryptedpassword eK6q1CJ9697s7O AppModules TopoDB-MapDB-EventDB-AlertDB-PollDB-PolicyDB-USERSTORAGEDB-ApplnDB

保存并关闭文件。
注意:在进行任何修改之前,请先备份现有文件。

8. 您可以在MS SQL服务器中选择默认的数据库排序规则 为“ SQL_Latin1_General_CP1_CI_AS ”。如果要使用不同的排序规则,请选择任何不区分大小写的数据库排序规则。
9. 发送MS SQL服务器的确切版本,然后在Applications Manager主机中打开命令提示符窗口。执行<Applications Manager Home>\bin\troubleshooting\ directoryMsSQLDebug.bat 文件并将结果复制到mes@zohocorp.com.cn
10.如果您使用Windows身份验证连接到MS SQL数据库,那么您必须将SQL服务器的身份验证模式从“ Windows身份验证模式(Windows身份验证) ”设置为“混合模式(Windows身份验证和SQL Server身份验证) ” .
11. 如果您使用NTLMv2作为MS SQL数据库服务器的安全性,则使用任何文本编辑器打开<Applications Manager Home>\working\conf\MSSQL\的 database_params.conf文件 ,并在连接字符串行中添加以下参数:
   ;useNTLMv2=true
    示例: 
    url jdbc:jtds:sqlserver://localhost:1433/AMDB;appName=ApplicationsManager;useNTLMv2=true AppModules TopoDB-MapDB-EventDB-AlertDB-PollDB-PolicyDB-USERSTORAGEDB-ApplnDB
12. 请检查您正在安装Applications Manager的服务器中是否具有管理员权限。同样在MS SQL服务器上,数据库用户应该具有管理员权限。
13. 请检查MS SQL用户帐户是否具有 'db_owner' 角色和CREATE DATABASE权限按照下面给出的步骤在SQL Server Management Studio中分配角色和权限:
  1. 连接到SQL Server Management Studio
  2. Object Explorer窗口中,进入Security -> Logins文件夹。
  3. 选择相应的用户。
  4. 右键单击它并选择Properties
  5. 之后进入用户映射并选择该数据库。
  6. 数据库角色成员身份下,选择角色“ db_owner ”。
  7. 进入Securables从“权限”窗格中选择“创建任何数据库 点击确定
  8. 重新Applications Manager。
14. 请检查Applications Manager数据库中的只读状态是否设置为按照下面给出的步骤检查/修改状态:
  1. 打开<Applications Manager Home>/working/conf/目录database_params.conf文件数据库名称将显示在连接字符串中,如下所示:
       jdbc:jtds:sqlserver://localhost:1433/<DATABASE_NAME>;appName=ApplicationsManager;useNTLMv2=true
                
      [OR]
      jdbc:sqlserver://localhost:1433;databaseName=<DATABASE_NAME>;applicationName=ApplicationsManager;useNTLMv2=true

  2. 连接到SQL Server Management Studio
  3. Object Explorer窗口中,进入Databases文件夹并打开它。
  4. 右键点击在database_params.conf文件中找到的数据库名称,然后选择Properties现在将显示该数据库的数据库属性窗口。
  5. 在窗口的左侧,选择选项。其他选项下, 向下滚动到状态,如下图所示。 
    启用(或)禁用数据库的只读模式
  6. 状态属性下, 将出现数据库只读选项。将该值设置为,然后单击确定。
  7. 重新启动Applications Manager。
如果问题仍然存在,请通过来自Applications Manager的最新支持信息文件 (SIF)或是通过邮箱mes@zohocorp.com.cn联系我们的支持团队,并启用导出所有日志从而进行分析。 
注意:确保在对SQL Server进行任何修改之前,请对现有设置进行备份。



    • Related Articles

    • 如何更改后端数据库的用户帐户密码?

      更改“Postgres”用户帐户密码的步骤: 关闭Applications Manager。 以管理员身份打开命令提示符,之后转到Applications Manager安装目录($AppManager_Home/working) 运行startPGSQL.sh/startPGSQL.bat来启动PostgreSQL数据库。 例子 Windows命令: AppManagerHome\working\bin>startPGSQL.bat Linux命令: ...
    • apm后端数据库mssql密码修改

      DBA 修改 mssql sa密码后,导航到AppManager15\working\conf,在图示文件添加以下行,比如修改后密码为apm@123,注意中间有空格,然后保存文件,重启服务。 password apm@123 AppModules TopoDB-MapDB-EventDB-AlertDB-PollDB-PolicyDB-USERSTORAGEDB-ApplnDB 注:操作前备份该文件!
    • Applications Manager后端数据库 PGSQL 的维护

      安装在Windows上 注意:在执行以下步骤之前,请使用<AppManager Home>\bin\BackupPGSQLDB.bat(或 BackupPGSQLDB.sh)脚本进行完整的数据库备份: 打开services.msc,停止“ManageEngine Applications Manager” 服务,或通过具有管理员权限的命令提示符。 如果您正在使用命令提示符,请转到<AppManager_Home>目录并执行以下命令: shutdownApplicationsManager.bat ...
    • Azure SQL数据库 - 常见问题

      1. 为什么我们在Azure SQL 数据库监视器中删除了诊断设置依赖项? APM v15240以下版本: Azure SQL数据库正在使用诊断设置来执行数据收集。 必须满足先决条件才能打开用于数据收集的诊断设置。 在编辑监视器页面中提供一个诊断存储帐户,从而方便数据收集。 从APM v15240开始: Azure SQL数据库监视器已得到增强,可以使用Azure API,并且已删除诊断设置依赖项。 数据收集没有任何附加条件。 无需提供编辑监视器页面中的诊断存储帐户详细信息以便数据收集。 ...
    • 【APM】MSSQL使用命名实例连接说明

      在 APM 中添加 MSSQL 监控时的可选项“使用命名实例”的部分补充说明 Q:“命名实例”是什么意思? A:在Microsoft SQL Server中,命名实例是具有唯一名称的数据库引擎。这允许您在同一台计算机上运行多个SQL Server实例,每个实例都有自己的一组配置设置和数据库。默认实例没有特定的名称,而是使用服务器的主机名或IP地址进行访问。 Q:在SQL server上哪里可以找到“命名实例”? A:可以使用以下方法之一查找实例名称: 1.使用SQL Server配置管理器: ...