ZENworks server installation or connection fails because of special character in database password

  • 7021160
  • 02-Aug-2017
  • 02-Aug-2017

Environment

ZENworks Asset Management 2017 Installation - Server
ZENworks Configuration Management 2017 Installation - Server
ZENworks Endpoint Security Management 2017 Installation - Server
ZENworks Full Disk Encryption 2017 Installation - Server
ZENworks Patch Management 2017 Installation - Server
Microsoft SQL Server Database

Situation

  • Installing a ZENworks 2017 Primary Server
  • Using an external database
  • Using a database password that includes \
  • Databases are created successfully
  • Database tables may get created, but will be empty

The following message is shown in the SQL Server event logs:

ERROR:
Reason: Could not find a login matching the name provided.

The following errors and similar are seen in the err.log and ZENworks_2017_InstallLog.log. Similar connection errors are also shown in ZENworks_Install_<date>_<time>.log.xml:

ERROR:
Key not found: ConfigCopyAddonFiles
com.novell.zenworks.configure.ConfigureException: Error executing the script: G:\Program Files (x86)\Novell\ZENworks\share\datamodel\sql-server\nrm-core-addons-extras.sql, Message: Error executing the command:

BEGIN
    DECLARE @c_count smallint ;
    set @c_count = 0;
    BEGIN
        SELECT @c_count=count(*) FROM sysindexes where name='idx_zACOSatelliteServers_K12';
        IF @c_count = 0
        BEGIN
            CREATE NONCLUSTERED INDEX [idx_zACOSatelliteServers_K12] ON [dbo].[zACOSatelliteServers]([id],[SatelliteServers]) with (fillfactor=70);
        END;
    END;
END;
    at com.novell.zenworks.configure.actions.db.DatabaseConfigureAction.configure(DatabaseConfigureAction.java:341)
...
Caused by: com.novell.zenworks.datamodel.exceptions.InternalDataModelException: Error executing the script: G:\Program Files (x86)\Novell\ZENworks\share\datamodel\sql-server\nrm-core-addons-extras.sql, Message: Error executing the command:
...
        at com.novell.zenworks.datamodel.database.sqlserver.AbstractSQLServerDatabaseConfigurator.createTables(AbstractSQLServerDatabaseConfigurator.java:443)
...
Caused by: com.novell.zenworks.datamodel.exceptions.InternalDataModelException: Error executing the command:
...
    at com.novell.zenworks.datamodel.database.sqlserver.AbstractSQLServerDatabaseConfigurator.createTables(AbstractSQLServerDatabaseConfigurator.java:428)
    ... 13 more
Caused by: java.sql.BatchUpdateException: Cannot find the object "dbo.zACOSatelliteServers" because it does not exist or you do not have permissions.
    at net.sourceforge.jtds.jdbc.JtdsStatement.executeBatch(JtdsStatement.java:1069)
...
Execute Custom Code
    class com.novell.zenworks.install.customcode.configure.ConfigDatabaseAction FatalInstallException Error executing the script: G:\Program Files (x86)\Novell\ZENworks\share\datamodel\sql-server\nrm-core-addons-extras.sql, Message: Error executing the command:
...
Key not found: ConfigMergeTruststore
java.lang.Exception: ConfigureAction failed!: com.novell.zenworks.datamodel.exceptions.InternalDataModelException: org.hibernate.exception.GenericJDBCException: Could not open connection
    at com.novell.zenworks.datamodel.session.hibernate.HibernateInfo._buildInfo(HibernateInfo.java:329)
...
Caused by: org.hibernate.exception.GenericJDBCException: Could not open connection
    at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
...
Caused by: java.sql.SQLException: Connections could not be acquired from the underlying database!
    at com.mchange.v2.sql.SqlUtils.toSQLException(SqlUtils.java:118)
...
Caused by: com.mchange.v2.resourcepool.CannotAcquireResourceException: A ResourcePool could not acquire a resource from its primary factory or source.
    at com.mchange.v2.resourcepool.BasicResourcePool.awaitAvailable(BasicResourcePool.java:1469)

Resolution

Workaround
  1. Rollback, and rerun the install
  2. Use a database password without \

Status

Reported to Engineering

Additional Information

The ZENworks databases and tables get created. However, all the configure actions fail which require connection to the database.
Also, the services are not able to communicate with the database after the install.