1
Technical white paper
Using Microsoft SQL Server
with HP Web Jetadmin
Table of contents
Overview 3
Introduction 3
First time installation of HP Web Jetadmin 3
Migrate the HP Web Jetadmin data 4
Use a local SQL Server database 5
Install SQL Server 5
Create a named SQL instance 5
Create a new database 7
Configure HP Web Jetadmin to use the new database 7
Restart the HP Web Jetadmin Service 8
Use a remote SQL Server database 9
Create a named or default instance 9
SQL Authentication 10
Windows Authentication 10
Configure HP Web Jetadmin to use the new database 11
SQL Authentication 11
Configuration file for remote SQL Server using a default instance and SQL
Authentication 12
Configuration file for remote SQL Server using a named instance and SQL
Authentication 13
Windows Authentication running HP Web Jetadmin services as Network service 15
Running HP Web Jetadmin service as a user with local admin rights 15
Changing DatabaseSettings.xml for Windows Authentication 16
2
Configuration file for remote SQL Server using a named instance and Windows
Authentication 17
Configuration file for remote SQL Server using a default instance and Windows
Authentication 17
Configuration file for local SQL Server using a default instance and Windows
Authentication 18
Flow diagram for authentication to SQL server based upon
DatabaseSettings.config.xml configuration 18
Restart the HP Web Jetadmin service 18
Migrate the HP Web Jetadmin database 19
Method 1 19
Method 2 19
Database rights 21
Troubleshooting 23
Original database appears on startup 23
Microsoft SQL Server is stopped 24
Change the port used for the remote connection 28
SQL Server configuration changes 28
HP Web Jetadmin configuration changes 30
Firewall settings 30
Database failoverSQL mirroring 30
Performance settings 32
Configure the HP Web Jetadmin backup for a remote database 32
Summary 33
Appendix AInstall the license for the Database Connectivity Module for HP Web
Jetadmin 10.3 SR3 and earlier 34
License process
34
3
Overview
HP Web Jetadmin 10.x automatically installs and uses a database that runs under Microsoft SQL
Express. Fortunately, HP Web Jetadmin can be configured to use SQL Server instead of SQL Express
either on the same machine or on a remote machine. This document describes how to create a
named instance on an installation of SQL Server, configure HP Web Jetadmin to use that instance,
and migrate an HP Web Jetadmin database from SQL Express to SQL Server if required.
IMPORTANT: For HP Web Jetadmin 10.4 and earlier, the folder name in the installation directory path
is
Hewlett Packard
. For HP Web Jetadmin 10.4 SR1 and later, the folder name in the installation
directory path has been changed from
Hewlett Packard
to
HP Inc
.
Introduction
Whether you are installing a local or remote SQL Server, the steps to configure an HP Web Jetadmin
installation to use SQL Server are essentially the same.
1. Create a SQL instance.
2. Create a new SQL database.
3. Modify HP Web Jetadmin to point to the new instance and database.
Each HP Web Jetadmin installation must point to its own unique database. HP Web Jetadmin allows
for a connection to SQL Server on the same machine or to a SQL Server instance on a remote
machine.
NOTE: Releases of HP Web Jetadmin prior to 10.3 SR3 required the installation of a license to use a
remote SQL database. This restriction has been lifted starting with HP Web Jetadmin 10.3 SR3.
Customers are no longer required to obtain the Database Connectivity Module and install a license to
use a remote SQL database. To connect an older version of HP Web Jetadmin to a remote SQL
database, visit www.hp.com/go/webjetadmin for more information about obtaining a license for the
Database Connectivity Module, and then see Appendix AInstall the license for the Database
Connectivity Module for HP Web Jetadmin 10.3 SR3 and earlier on page 34 for instructions on how to
install the license.
First time installation of HP Web Jetadmin
As a convenience, HP Web Jetadmin automatically installs SQL Server 2022 Express because a SQL
database is required to run HP Web Jetadmin While HP thoroughly tests the SQL Express version that
HP Web Jetadmin automatically installs, you are certainly welcome to use other versions of SQL
Server, including older versions.
For a first time installation of HP Web Jetadmin where you want to use a remote SQL database from
the beginning, the following options are available:
Allow the HP Web Jetadmin installer to install SQL Server Express, and then point the installation
to a remote SQL instance.
4
Run a command-line installation of HP Web Jetadmin and choose to bypass the SQL Express
installation, and then point the installation to a remote SQL instance. Use the following command
to run the installer from a command line so that it skips the SQL database installation:
WjaSetup.exe /V"WJA_SKIP_DB_INSTALL=1"
The directory of files for HP Web Jetadmin that are created under the NetworkService folder are
incomplete (only a handful of files) until a successful connection is made to a SQL database.
Migrate the HP Web Jetadmin data
If you want to point an existing installation of HP Web Jetadmin to use a remote SQL instance,
consider whether the existing HP Web Jetadmin data stored in the SQL Express database needs to
be migrated to what will now be a blank database on a remote SQL instance when the conversion is
complete. The most common technique for migrating the database involves copying and pasting the
database files from one location to another. SQL Server Management Studio contains tools for
backing up the database. HP Web Jetadmin also offers a backup.bat script that backs up the
database as well as other files. The script file resides in the following directory:
C:\Program Files\HP Inc\Web Jetadmin 10\bin\WJABackupRestore\backup.bat
1
It might be necessary to assign Network Service write permissions in the directory where the
database is being saved.
For Microsoft® Windows® Vista and Server 2008 R2, scripts that require administrative access and
are run from the Command Prompt must be executed using the Run as administrator option.
1
For HP Web Jetadmin 10.4 and earlier, the folder name in the installation directory path is
Hewlett Packard
. For HP Web Jetadmin 10.4 SR1 and later, the folder
name in the installation directory path has been changed from
Hewlett Packard
to
HP Inc
.
5
Remember, to truly migrate an entire HP Web Jetadmin installation from one machine to another,
more than just the database must be migrated. For more information, see the
Back Up, Restore, and
Clone an HP Web Jetadmin Installation
white paper. This white paper is available from the HP Web
Jetadmin support page (in English).
IMPORTANT: When restoring the settings and database information to the HP Web Jetadmin host,
encrypted data no longer functions if the host or Windows OS instance is different from the instance
that was used to process the original file-set. A few examples of encrypted data include device
passwords, SMTP user/password settings, and HTTP proxy user/password settings. Credential store
passwords and saved configuration file templates are encrypted to secure any passwords that might
be stored. To unlock the encryption, a key that is applicable only to the machine where it was created
must be used. Passwords are too important not to be protected as securely as possible. Therefore,
items pertaining to passwords in configuration file templates must be recreated on the new HP Web
Jetadmin installation because the old files cannot be unlocked or unencrypted on the new machine if
they are manually copied there.
Use a local SQL Server database
The following sections describe the steps required to instruct HP Web Jetadmin to use a full SQL
Server database that resides on the same machine as the HP Web Jetadmin installation.
Install SQL Server
During the installation, HP Web Jetadmin launches a SQL Express installer executable and runs
commands to create a new instance named HPWJA and a database named HPWJA. If that instance
does not exist, SQL creates it. If the instance already exists, it must be in a serviceable state or SQL
posts an error.
The SQL Express installer command being run includes:
sqlexpr.exe -q /norebootchk /qb REBOOT=ReallySuppress ADDLOCAL=ALL
INSTANCENAME=HPWJA SCCCHECKLEVEL=IncompatibleComponents:1;MDAC25Version:0
INSTALLSQLDIR="DRIVE:\Program Files\Microsoft SQL Server"
INSTALLSQLDATADIR="DRIVE:\Program Files\Microsoft SQL Server"
INSTALLSQLSHAREDDIR="DRIVE:\Program Files\Microsoft SQL Server"
If the SQL Express installer returns an error, HP Web Jetadmin posts an error. For example, if the
HPWJA instance is disabled or cannot be started, an error occurs.
After HP Web Jetadmin and SQL Server are successfully installed on the same machine, perform the
steps in the following section to instruct HP Web Jetadmin to use SQL Server instead of SQL Express.
Create a named SQL instance
The HP Web Jetadmin installer creates a SQL Express instance named HPWJA and a database
named HPWJA to store its information. In order to instruct HP Web Jetadmin to use SQL Server
instead, a named instance and new database must be created.
Although creating a named instance can be accomplished in several ways, this document discusses
how to run the SQL installer to create the instance.
6
Run the SQL Server installer on the machine where HP Web Jetadmin is running. The installer asks to
create a default instance or a named instance.
Use a named instance, such as HPWJA_FULL. The SQL service can run under either a built-in system
account, such as Network Service because HP Web Jetadmin runs under Network Service, or a
domain user account.
The SQL installer asks if Windows Authentication Mode or SQL Server Authentication Mode is to be
used.
7
Create a new database
After the installer is completed and a named instance is created, it is time to create a new database
for HP Web Jetadmin to use.
To create a new database, launch SQL Server Management Studio, and then open the named
instance (HPWJA_FULL) that was just created. Right-click the Databases folder, select New Database,
and then enter the database name as HPWJA. For SQL Server on the same machine as HP Web
Jetadmin, the database name
must
be HPWJA.
If Windows Authentication was selected, the credentials of the user who is running the HP Web
Jetadmin service (Network Service) must have Database Owner (DBO) rights on the database. If SQL
Authentication was selected, create a user that has DBO rights on the database, and write down the
name and password because they will be used later.
Configure HP Web Jetadmin to use the new database
To configure HP Web Jetadmin to use a new SQL Server database, edit the following file:
C:\Windows\ServiceProfiles\NetworkService\AppData\Local\HPInc\HPWebJetadmin\WjaService\
config\DatabaseSettings.config.xml
2
Be careful when editing these XML files. Extraneous carriage returns can create problems. Make sure
that the carriage returns reside as indicated in the following examples. Typical symptoms that
indicate the file has not been edited correctly include the inability to connect to the HP Web Jetadmin
server after restarting the service, which occurs because the server cannot connect to the database.
CAUTION: It is imperative that you open the existing file and copy and paste the content as it is
displayed here to maintain the user rights. The file must have read/write rights for Network Service in
order for HP Web Jetadmin to use the file. If a new file is created instead of opening the existing file,
the new file assumes the user’s rights. If this happens, HP Web Jetadmin does not attempt to use the
new database and defaults to the old database. Make sure that Network Service has read/write
rights.
2
For HP Web Jetadmin 10.4 and earlier, the folder name in the installation directory path is
Hewlett Packard
. For HP Web Jetadmin 10.4 SR1 and later, the folder
name in the installation directory path has been changed from
Hewlett Packard
to
HP Inc
.
8
Some older versions of HP Web Jetadmin might not contain the DatabaseSettings.config.xml file by
default. In this case, you must create the file. Make sure that the rights are assigned as mentioned
previously when creating the new file. Also, if file extensions are hidden in Windows Explorer, make
sure that the file does not have a .txt or .xml.xml extension. This is a common mistake when using a
text editor to create this file.
For SQL Server running on the same machine as HP Web Jetadmin, if Windows Authentication Mode
was selected during the SQL installer and HPWJA was specified as the database name, the only
required item in this configuration file is the name of the named instance.
<ipmc:configuration xmlns:ipmc="www.hp.com/schemas/imaging/ipmc/config/2004/02/24">
<property name="DatabaseConnectionFactory.CommandTimeoutInSeconds">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>120</value>
</property>
<property name="DatabaseConnectionFactory.InstanceName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>HPWJA_FULL</value>
</property>
</ipmc:configuration>
Copy the content of this example and paste it into the configuration file, replacing HPWJA_FULL with
the name of the named instance.
If SQL Authentication was selected during the installation of the instance, add the SQL user
credentials that were given DBO rights on the database to the file as follows:
<ipmc:configuration xmlns:ipmc="www.hp.com/schemas/imaging/ipmc/config/2004/02/24">
<property name="DatabaseConnectionFactory.CommandTimeoutInSeconds">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>120</value>
</property>
<property name="DatabaseConnectionFactory.InstanceName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>HPWJA_FULL</value>
</property>
<property name="DatabaseConnectionFactory.UserName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert username here</value>
</property>
<property name="DatabaseConnectionFactory.PlainTextPassword">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert plain text password here</value>
</property>
</ipmc:configuration>
Restart the HP Web Jetadmin Service
Stop and restart the HP Web Jetadmin Service (HPWJA Service) under Administrative Tools,
Services. If a password was entered in the file, the password is encrypted after the service is
restarted for security purposes.
NOTE: The inclusion of a user name and password in this file instructs HP Web Jetadmin to use SQL
Authentication. The lack of a user name and password instructs HP Web Jetadmin to use Integrated
Security (Windows Authentication). When HP Web Jetadmin and SQL Server are on the same
machine, HP Web Jetadmin runs under Network Service and expects Network Service to have DBO
rights (or read/write at a minimum) on the database.
9
If the option to not install a SQL database was used during the installation, after HP Web Jetadmin
connects to the SQL database for the first time, many files and directories are created in the same
area as where the database.Settings.config.xml file was edited. Launch HP Web Jetadmin to verify
that the new blank database is now in use. The All Devices list should display zero devices.
Use a remote SQL Server database
The following sections describe the steps required to instruct HP Web Jetadmin to use a SQL Server
database that resides on a different machine than the HP Web Jetadmin installation. For versions of
HP Web Jetadmin prior to 10.3 SR3, an optional license must be installed in HP Web Jetadmin before
the use of a SQL Server database on a separate server is allowed. For instructions on installing the
optional license, see Appendix AInstall the license for the Database Connectivity Module for HP Web
Jetadmin 10.3 SR3 and earlier on page 34. HP Web Jetadmin 10.3 SR3 and later no longer requires a
license to be installed to use a remote SQL database.
Create a named or default instance
Both a named and default instance are supported when instructing HP Web Jetadmin to use a remote
SQL Server database. Therefore, remember which instance is chosen because HP Web Jetadmin
must be instructed later whether to use a named or default instance. The SQL service can run under
either a built-in system account, such as Network Service because HP Web Jetadmin runs under
Network Service, or a domain user account.
For SQL Server running on a remote machine, either SQL Server Authentication or Windows
Authentication can be used. Select the authentication mode.
After the instance is configured, a new database for HP Web Jetadmin to use must be used. To create
a new database, launch SQL Server Management Studio, and then open the instance (default or
named) that was just configured for HP Web Jetadmin use.
10
Right-click the Databases folder, select New Database, and then enter a database name. When using
a remote SQL Server, you can use any database name that you want. However, it is quite common to
use the name HPWJA for the database.
SQL Authentication
If SQL Authentication was selected, create a user and make sure that user has DBO rights (or
read/write/execute at a minimum, see Database rights on page 21) on the database.
Windows Authentication
If Windows Authentication was selected, the user who is running the HP Web Jetadmin service must
have DBO rights (or read/write/execute at a minimum, see Database rights on page 21). By default, HP
Web Jetadmin runs under Network Service, but the HPWJA service only identifies itself locally as a
network service. When Windows Authentication (Integrated Security) is used, HP Web Jetadmin
identifies itself remotely as Domain\Machine$. In this case, create a new login under Security, Logins,
and make sure that the Domain\Machine$ account (where Machine$ is the name of the HP Web
Jetadmin machine followed by a dollar sign) has DBO rights (or read/write/execute at a minimum, see
Database rights on page 21) on the HP Web Jetadmin database under User Mapping.
11
IMPORTANT: To use a Windows User account instead of a Windows Machine account, the properties
of the HP Web Jetadmin service must be changed from Network Service to the Windows User
account. After that is done, HP Web Jetadmin identifies itself to the remote SQL Server as the
Windows User account. Therefore, make sure that the Windows User account has DBO rights (or
read/write/execute at a minimum, see Database rights on page 21) on the database. Remember,
encrypted data, such as global credentials, are locked to the user/machine account and must be re-
entered.
Now SQL Server is prepared for HP Web Jetadmin to begin using it. The next step involves instructing
HP Web Jetadmin to use this new database.
Configure HP Web Jetadmin to use the new database
The final step in configuring HP Web Jetadmin to use a new SQL Server database is to edit the
DatabaseSettings.config.xml file to instruct HP Web Jetadmin where to look for the SQL database
and how to log in. These instructions are different for SQL Authentication and Windows
Authentication.
SQL Authentication
Because HP Web Jetadmin runs under Network Service for SQL Authentication, edit the following file:
C:\Windows\ServiceProfiles\NetworkService\AppData\Local\HPInc\HPWebJetadmin\WjaService\
config\DatabaseSettings.config.xml
3
Be careful when editing these XML files. Extraneous carriage returns can create problems. Make sure
that the carriage returns reside as indicated in the following examples. Typical symptoms that
indicate the file has not been edited correctly include the inability to connect to the HP Web Jetadmin
server after restarting the service, which occurs because the server cannot connect to the database.
CAUTION: It is imperative that you open the existing file and copy and paste the content as it is
displayed here to maintain the user rights. The file must have read/write rights for Network Service in
order for HP Web Jetadmin to use it. If a new file is created instead of opening the existing file, the
new file assumes the user’s rights. If this happens, HP Web Jetadmin does not attempt to use the new
database and defaults to the old database.
Make sure that Network Service has read/write rights. Some older versions of HP Web Jetadmin
might not contain the DatabaseSettings.config.xml file by default, and you must create the file. Make
sure that the rights are assigned as mentioned previously when creating the new file. Also, if file
extensions are hidden in Windows Explorer, make sure that the file does not have a .txt or .xml.xml
extension. This is a common mistake when using a text editor to create this file.
<ipmc:configuration xmlns:ipmc="www.hp.com/schemas/imaging/ipmc/config/2004/02/24">
<property name="DatabaseConnectionFactory.CommandTimeoutInSeconds">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>120</value>
</property>
<property name="DatabaseConnectionFactory.MachineName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert machine name here</value>
3
For HP Web Jetadmin 10.4 and earlier, the folder name in the installation directory path is
Hewlett Packard
. For HP Web Jetadmin 10.4 SR1 and later, the folder
name in the installation directory path has been changed from
Hewlett Packard
to
HP Inc
.
12
</property>
<property name="DatabaseConnectionFactory.UserName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert sql username here</value>
</property>
<property name="DatabaseConnectionFactory.PlainTextPassword">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert plain text password here</value>
</property>
<property name="DatabaseConnectionFactory.DefaultInstance">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value></value>
</property>
<property name="DatabaseConnectionFactory.CatalogName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert database name here</value>
</property>
</ipmc:configuration>
Configuration file for remote SQL Server using a default instance and SQL Authentication
NOTE: As the value for the DefaultInstance is empty in the above configuration file, the following
section can also be removed from the DatabaseSettings.config.xml file.
<property name="DatabaseConnectionFactory.DefaultInstance">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value></value>
</property>
<ipmc:configuration xmlns:ipmc="www.hp.com/schemas/imaging/ipmc/config/2004/02/24">
<property name="DatabaseConnectionFactory.CommandTimeoutInSeconds">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>120</value>
</property>
<property name="DatabaseConnectionFactory.MachineName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert machine name here</value>
</property>
<property name="DatabaseConnectionFactory.UserName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert sql username here</value>
</property>
<property name="DatabaseConnectionFactory.PlainTextPassword">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert plain text password here</value>
</property>
<property name="DatabaseConnectionFactory.InstanceName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert named instance here</value>
</property>
<property name="DatabaseConnectionFactory.CatalogName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert database name here</value>
</property>
</ipmc:configuration>
13
Configuration file for remote SQL Server using a named instance and SQL Authentication
For SQL Authentication, copy the content of these examples and paste it into the configuration file for
either a named instance or default instance, replacing the machine name, instance name (only when
using named instance), database (catalog), and account credentials with the proper ones.
Note that the plain text password is encrypted in this file after the HP Web Jetadmin service is
restarted and that the property name is changed from
DatabaseConnectionFactory.PlainTextPassword to
DatabaseConnectionFactory.Password so there is no compromise of security. Because a
user and password are present in the file, HP Web Jetadmin knows to use SQL Authentication in the
connection string to the SQL Server.
If you can connect to the remote database with SQL Management Studio by only providing Server
name, Authentication, Login and Password, then the remote SQL Server is configured with a default
instance.
Connection to remote SQL Server with a default instance and SQL Authentication
If you can ONLY connect to the remote database with SQL Management Studio by providing Server
name\InstanceName, Authentication, Login and Password, then the remote SQL Server is configured
with a named instance.
14
Connection to remote SQL Server with a named instance and SQL Authentication
15
Windows Authentication running HP Web Jetadmin services as Network service
Remember that HP Web Jetadmin is identified remotely as Domain\Machine$ when Windows
Authentication (Integrated Security) is used. In this case, make sure that the Domain\Machine$
account has DBO rights (or read/write/execute at a minimum, see Database rights on page 21) on the
database. The DatabaseSettings.config.xml file must be changed to point to the remote database.
The default file location is:
C:\Windows\ServiceProfiles\NetworkService\AppData\Local\HP Inc\HPWebJetadmin\config
The required changes in this file are the same changes when running HP Web Jetadmin service as
Network service and when running HP Web Jetadmin as a domain user with local admin rights. The
changes are listed in Changing DatabaseSettings.xml for Windows Authentication on page 16.
Running HP Web Jetadmin service as a user with local admin rights
IMPORTANT: HP recommends to always run HP Web Jetadmin as a Network Service. When the
service is changed from running as Network Service to Domain User, sensitive data could be lost
such as EWS password settings in templates, losing all global credentials. HP Web Jetadmin
upgrades are executed with Network Service and require several additional manual steps to prevent
data loss. These steps are described in the
HP Web Jetadmin Installation and Setup Guide
.
To use a Windows User account instead of a Windows Machine account, the properties for the HP
Web Jetadmin service must be changed from Network Service to the Windows User account. After
this is done, HP Web Jetadmin identifies itself to the remote SQL Server as the Windows User
account. Therefore, make sure that the Windows User account has DBO rights (or read/write/execute
at a minimum, see Database rights on page 21) on the database. Remember, encrypted data, such as
global credentials, are locked to the user/machine account and must be re-entered.
When the HP Web Jetadmin service runs under a domain user account instead of Network Service
for Windows Authentication and when the HP Web Jetadmin service is started for the first time,
crucial HP Web Jetadmin files are copied from the old Network Service location to the new Domain
User Account location. It is also possible to copy the files before starting the HP Web Jetadmin
service when configured to run as a domain user:
On Windows copy the files and directories from:
C:\Windows\ServiceProfiles\NetworkService\AppData\Local\HP Inc\HPWebJetadmin
4
To:
C:\Users\
user_account
\AppData\Local\HP Inc\HPWebJetadmin
4
Now that the necessary HP Web Jetadmin files reside under the correct User Account instead of
Network Service, edit the following file on Windows:
4
For HP Web Jetadmin 10.4 and earlier, the folder name in the installation directory path is
Hewlett Packard
. For HP Web Jetadmin 10.4 SR1 and later, the folder
name in the installation directory path has been changed from
Hewlett Packard
to
HP Inc
.
16
C:\Users\
user_account
\AppData\Local\HP
Inc\HPWebJetadmin\WjaService\config\DatabaseSettings.config.xml
5
The required changes in this file are the same changes when running HP Web Jetadmin service as a
Network Service and are listed in the section.
Changing DatabaseSettings.xml for Windows Authentication
Be careful when editing XML files. Extraneous carriage returns can create problems. Make sure that
the carriage returns reside as indicated in the following examples. Typical symptoms that indicate the
file has not been edited correctly include the inability to connect to the HP Web Jetadmin server after
restarting the service, which occurs because the server cannot connect to the database.
CAUTION: It is imperative that you open the existing file and copy and paste the content as it is
displayed here to maintain the user rights. The file must have read/write rights for the domain user
account that is used to run the HP Web Jetadmin service in order for HP Web Jetadmin to use it. If a
new file is created instead of opening the existing file, the new file inherits the user’s rights from the
user who created the file. If this happens, HP Web Jetadmin does not attempt to use the new
database and defaults to the old database.
Some older versions of HP Web Jetadmin might not contain the DatabaseSettings.config.xml file by
default. In this case, you must create the file. Make sure that the rights are assigned as mentioned
previously when creating the new file.
Also, if file extensions are hidden in Windows Explorer, make sure that the file does not have a .txt or
.xml.xml extension. This is a common mistake when using a text editor to create this file.
For a remote instance of SQL Server, there are several items that must be defined in the
configuration file, such as the remote machine name, database name, and named instance.
For Windows Authentication, if you are using a named instance instead, copy the content of the
following examples and paste it into the configuration file. Replace the machine name, instance name,
and database (catalog). Without a user name and password in the file, HP Web Jetadmin knows to use
Integrated Security (Windows Authentication) in the connection string to SQL Server.
For Windows Authentication, if you are using a named instance instead, copy the content of the
following example and paste it into the configuration file. Replace the machine name, instance name,
and database name (catalog) with the actual values.
<ipmc:configuration xmlns:ipmc="www.hp.com/schemas/imaging/ipmc/config/2004/02/24">
<property name="DatabaseConnectionFactory.CommandTimeoutInSeconds">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>120</value>
</property>
<property name="DatabaseConnectionFactory.MachineName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert machine name here</value>
</property>
<property name="DatabaseConnectionFactory.InstanceName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert named instance here</value>
</property>
5
For HP Web Jetadmin 10.4 and earlier, the folder name in the installation directory path is
Hewlett Packard
. For HP Web Jetadmin 10.4 SR1 and later, the folder
name in the installation directory path has been changed from
Hewlett Packard
to
HP Inc
.
17
<property name="DatabaseConnectionFactory.CatalogName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert database name here</value>
</property>
</ipmc:configuration>
Configuration file for remote SQL Server using a named instance and Windows
Authentication
For Windows Authentication, if you are using a default instance (on a remote SQL server), copy the
content of the following example and paste it into the configuration file. Replace the machine name
and database name (catalog) with the actual values.
<ipmc:configuration xmlns:ipmc="www.hp.com/schemas/imaging/ipmc/config/2004/02/24">
<property name="DatabaseConnectionFactory.CommandTimeoutInSeconds">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>120</value>
</property>
<property name="DatabaseConnectionFactory.MachineName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert machine name here</value>
</property>
<property name="DatabaseConnectionFactory.DefaultInstance">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value></value>
</property>
<property name="DatabaseConnectionFactory.CatalogName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert database name here</value>
</property>
</ipmc:configuration>
Configuration file for remote SQL Server using a default instance and Windows
Authentication
Reminder: The same settings in the DatabaseSetttings.xml file are used when running the HP Web
Jetadmin service as a network service, or when running the HP Web Jetadmin service as a domain
user account. The location of the DatabaseSettings.xml file is different. Also, the account that Web
Jetadmin uses to access the SQL server is different (either the domain machine account, which is
Domain\Machine$ when running HP Web Jetadmin as a network service, or the domain user account
when running HP Web Jetadmin as a user account).
NOTE: HP Web Jetadmin is always using the Network Service while upgrading HP Web Jetadmin to a
newer version and is identified remotely as Domain\Machine$. Make sure that the account
Domain\Machine$ has DBO rights (or read/write/execute at a minimum, see Database rights on page
21) on the Database during an upgrade of HP Web Jetadmin.
For Windows Authentication, if you are using a default instance (on the same server as HP Web
Jetadmin), copy the content of the following example and paste it into the configuration file. Replace
the database name (catalog) with the actual value.
<ipmc:configuration xmlns:ipmc="www.hp.com/schemas/imaging/ipmc/config/2004/02/24">
<property name="DatabaseConnectionFactory.CommandTimeoutInSeconds">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>120</value>
</property>
<property name="DatabaseConnectionFactory.DefaultInstance">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value></value>
</property>
18
<property name="DatabaseConnectionFactory.CatalogName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>insert database name here</value>
</property>
</ipmc:configuration>
Configuration file for local SQL Server using a default instance and Windows
Authentication
Flow diagram for authentication to SQL server based upon DatabaseSettings.config.xml
configuration
Restart the HP Web Jetadmin service
Stop and restart the HP Web Jetadmin Service (HPWJA Service) under Administrative Tools,
Services.
Launch HP Web Jetadmin to verify that the new blank database is now in use. The All Devices list
should display zero devices.
IMPORTANT: After the HP Web Jetadmin service is restarted, the plain text password in the
configuration file is hashed (grayed) if SQL Authentication is used and the heading of the password
section is changed from PlainTextPassword to Password. If the password in the file must be edited,
remember to change the heading back to PlainTextPassword for that section.
19
Otherwise, the service will have difficulty connecting to the database. The password is also hashed
when passed over the network to log in to the remote SQL database. However, certificates are not
used to provide the strongest level of security. Future versions of HP Web Jetadmin might use
certificates to provide the strongest level of security possible.
If the option to not install a SQL database was used during installation, after HP Web Jetadmin
connects to the SQL database for the first time, many files and directories are created in the same
area as where the database.Settings.config.xml file was edited.
Migrate the HP Web Jetadmin database
When HP Web Jetadmin is launched after a successful connection to the remote database, no
devices display in the device lists. You can migrate the devices from the previous local database to
the new remote database.
Method 1
One technique to migrate the existing HP Web Jetadmin database from the old instance to the new
instance involves manually copying the database files from the old location to the new location.
Database files are located in the following directory:
C:\Program Files\Microsoft SQL Server\MSSQL.
x
\data (where
x
=1, 2, 3, and so on)
Directories are named MSSQL.1, MSSQL.2, and so on, depending upon how many instances are
installed under SQL Server. Locate the directory that contains the HP Web Jetadmin database files
named HPJWJA.mdf and HPJWJA_log.ldf. These files must be copied to the same location under the
MSSQL.1, MSSQL.2, and other directories for the new instance.
Stop the HP Web Jetadmin service before copying the files. Back up the current blank database files
as a precaution. It is very likely that the previous database files must be detached from the old
instance before copying them to the new instance. Stopping the SQL Server service should allow the
files to be copied.
SQL Server Management Studio can also be used to back up and restore or detach and attach the
databases. Stop the HP Web Jetadmin service before copying the files or manipulating the
databases in SQL Server Management Studio.
After the files are copied or the database is restored by using SQL Server Management Studio, start
the HP Web Jetadmin service and use a client to verify success. Verify that the All Devices list
contains the same number of devices that HP Web Jetadmin contained before the migration.
Method 2
If the HP Web Jetadmin database was backed up by using the backup.bat script prior to pointing to
the new instance and database, SQL Server Management Studio can be used to restore the
database from the HPWJA_DB_BACKUP.dat file that was created using the HP Web Jetadmin
backup.bat script.
To restore the database using this method, stop the HP Web Jetadmin service under Administrative
Tools, Services. Start SQL Server Management Studio, and connect to the new HPWJA_FULL SQL
instance (or the name that was chosen for the new instance). Locate the database catalog named
HPWJA listed in the navigation tree under Databases.
20
Using the right-click menu, run Tasks, Restore, Database. This launches a dialog for selecting From
Device as the source of the restore data. Use the dialog launched through the button to navigate to
the HPWJA_DB_BACKUP.dat file that the backup.bat script created. After the file is selected in the
Restore Database dialog, select the Restore box in the listing of …backup sets to restore. At this point
a backup.dat file that is used to restore data from the original database instance to the new database
is identified.
The HPWJA_DB_BACKUP.dat file also contains the paths to key database files on the old SQL
database instance. These file paths must be changed. The path might be …\MSSQL.1\Data\... for the
initial HP Web Jetadmin SQL database instance. The path might be …\MSSQL.2\Data\... for the new
SQL database created in this procedure. Set the path to the latter in the SQL Restore Database
dialog. To perform this operation, change the settings page from General to Options, select the
Overwrite the existing database check box, and then set the paths listed under Restore the database
file as. Remember, these paths should be changed from the old SQL instance file paths to the new
paths. In this example, the following new paths are used:
C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data\HPWJA.mdf
C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data\HPWJA_log.ldf
21
Click OK in the Restore dialog, and watch the results. The restore runs for some time, depending on
the amount of data in the backup file, but should complete with a 100% indication.
When the restore is complete, start the HP Web Jetadmin Service, and then use a client to verify that
the All Devices list contains the same number of devices that HP Web Jetadmin contained when it
was originally backed up.
Database rights
HP Web Jetadmin was designed with the expectation that the HPWJA service has complete control
over the database it creates (DBO rights). As this document describes, when a remote SQL database
is desired, the SQL administrator creates a blank database and provides authentication to the user
who is running the HPWJA service to use the database. Because the database is blank, the first time
the HPWJA service connects to the database, tables must be created that require elevated rights to
create. Therefore, DBO rights on the database are expected so that HP Web Jetadmin can properly
set up the database for use.
When upgrades are performed on HP Web Jetadmin or Feature Packs are installed, it is not
uncommon for schemas to be changed, tables to be created, and so on. Therefore, elevated rights,
such as DBO, are expected when upgrades are performed.
DBO rights provide complete control over a single database. Providing DBO rights on the HP Web
Jetadmin database does not provide access to any other databases and does not allow any
administrative tasks on the SQL instance. DBO right just allow HP Web Jetadmin to perform the tasks
it needs to perform on the one database it creates and uses.
That being said, there still might be cases where it is against company policy to assign elevated
rights, such as DBO rights, on any database that is contained on the company SQL farm. Fortunately,
HP Web Jetadmin can run with less than DBO rights after it is installed and the service creates the
required tables. However, keep in mind that under some circumstances, which are described in the
following, elevated rights might need to be reinstated temporarily to perform certain tasks.
22
HP Web Jetadmin requires the use of the following SQL operations:
EXECUTE
SELECT
DELETE
INSERT
UPDATE
ALTER (See the following description of when these elevated rights are needed.)
CREATE TABLE (See the following description of when these elevated rights are needed.)
Therefore, the following minimal rights must be assigned:
db_datareader - Granted: SELECT
db_datawriter - Granted: DELETE, INSERT, UPDATE
db_ddladmin - Granted: ALTER, CREATE TABLE
EXECUTE
Although EXECUTE is not a built-in role, several techniques can be used to assign EXECUTE rights to
the HP Web Jetadmin user. A simple script can be run to assign EXECUTE to the user or a new role
can be created that applies EXECUTE rights on the database schemas. For more information about
applying EXECUTE rights, see the SQL documentation. EXECUTE is required for the Stored
Procedures that HP Web Jetadmin runs, especially in the areas of adding and deleting devices.
Discoveries can fail without the ability to run these stored procedures.
23
The db_ddladmin role runs any Data Definition Language (DDL) command in a database. HP Web
Jetadmin can use this role for the following:
The CREATE, DROP, and ALTER commands are required when HP Web Jetadmin is upgraded to a
new version or a new Feature Pack is installed. New functionality is added in new versions so
schemas change, tables change, new tables are added, and so on.
These rights might be required the first time a discovery is run if tables must be created. All
subsequent discoveries run without the elevated rights.
These rights might be required the first time a firmware update is performed if tables must be
created. All subsequent firmware upgrades run without the elevated rights.
These rights might be required the first time a data synchronization is performed if tables must
be created because no discoveries have been performed, such as on a brand new installation. All
subsequent data synchronizations run without the elevated rights.
It is possible that the db_ddladmin role is considered an elevated role and violates company policies.
If so, this role must be granted at least temporarily in these cases. Hopefully this role is not
considered elevated and can be assigned permanently. If so, DBO rights are likely permanently
removed after the installation and the HPWJA service initially creates the tables.
HP recommends granting DBO rights for the HPWJA service to completely control its own database.
However, in rare cases where company policy prohibits it, these roles and rights can allow HP Web
Jetadmin to run without DBO rights.
Troubleshooting
If HP Web Jetadmin is unable to start after attempting to connect to a new database or the original
database continues to appear on startup, use the following troubleshooting steps.
Original database appears on startup
If the original local database still appears on startup, HP Web Jetadmin might not be reading the
DatabaseSettings.config.xml file. To confirm that the file is not being read and processed, open the
file in a text editor and check the Password section. This section should take the password and
encrypt it for security purposes. If the password is still in plain text and the header claims to be
PlainTextPassword, the file is not being read. The reasons that the file is not being read include the
following:
The filename is incorrect. The filename might have an .xml.xml or .xml.txt extension. If Windows
Explorer is set to hide known extensions, there is a strong chance that the file is named
incorrectly and it is not apparent.
The file might be missing characters, such as the opening character, and HP Web Jetadmin does
not recognize it as being a valid file.
The file might not have the correct rights for HP Web Jetadmin to process the file. It is imperative
that you open the existing DatabaseSettings.config.xml file and copy and paste the content as it
is displayed in this document to maintain the user rights. The file must have read/write rights for
Network Service for HP Web Jetadmin to use the file. If a new file is created instead of opening
the existing file, the new file assumes the user’s rights.
24
If this happens, HP Web Jetadmin does not attempt to use the new database and defaults to the
old database. Make sure that Network Service has read/write rights.
Verify that the HP Web Jetadmin service was restarted after the configuration file was edited.
Microsoft SQL Server is stopped
If HP Web Jetadmin indicates that Microsoft SQL Server is Stopped after the HP Web Jetadmin
service is restarted, there are issues connecting to the SQL server.
If this occurs right after the initial installation of HP Web Jetadmin, there might be policies or
permissions that restrict SQL Server Express from being installed completely. Many times in this
scenario, HP Web Jetadmin could not create all of the necessary files in its directories. In this case,
try running the command-line installer mentioned previously to bypass the SQL Express database
installation. This should ensure that all the HP Web Jetadmin files are present.
This message is also quite common if HP Web Jetadmin was installed from the command line to
bypass the SQL Express installation. This message subsequently disappears after the configuration
file is edited to point to the remote SQL instance and database and the HP Web Jetadmin service is
restarted.
If this issue occurs only after attempting to point to a remote SQL Server, the
DatabaseSettings.config.xml file is probably being read, but something is preventing HP Web
Jetadmin from connecting to the remote database. For clues on why the connection is failing, check
the trace logs in one of the following directories:
C:\Windows\ServiceProfiles\NetworkService\AppData\Local\HPInc\HPWebJetadmin\WjaService\tracing
6
6
For HP Web Jetadmin 10.4 and earlier, the folder name in the installation directory path is
Hewlett Packard
. For HP Web Jetadmin 10.4 SR1 and later, the folder
name in the installation directory path has been changed from
Hewlett Packard
to
HP Inc
.
25
The files named HPWJAService-
xxx
.itl (where
xxx
represents a series of numbers) might contain
helpful troubleshooting information.
The following are some common conditions and resulting errors in the trace log:
disabled TCP/IP on the remote SQL server instance - Could not connect to the database.
Message: A network-related or instance-specific error occurred while establishing a connection
to SQL Server. The server was not found or was not accessible. Verify that the instance name is
correct and that SQL Server is configured to allow remote connections. (provider: SQL Network
Interfaces, error: 28 - Server doesn't support requested protocol)
wrong server name - Could not connect to the database.
Message: A network-related or instance-specific error occurred while establishing a connection
to SQL Server. The server was not found or was not accessible. Verify that the instance name is
correct and SQL Server is configured to allow remote connections. (provider: SQL Network
Interfaces, error: 26 - Error Locating Server/Instance Specified)
wrong instance name - Could not connect to the database.
Message: A network-related or instance-specific error occurred while establishing a connection
to SQL Server. The server was not found or was not accessible. Verify that the instance name is
correct and SQL Server is configured to allow remote connections. (provider: SQL Network
Interfaces, error: 26 - Error Locating Server/Instance Specified)
wrong catalog (database) name - Could not connect to the database.
Message: Cannot open database "hpwja2" requested by the login. The login failed. Login failed for
user 'jimesf'.
wrong user name/password - Could not connect to the database.
Message: Login failed for user 'jimesf2'. (Notice that the user name is incorrect.)
no license installed (for versions of HP Web Jetadmin prior to 10.3 SR3) - Could not connect to the
database.
Message: Login failed for user 'jimesf'. (Notice that the user name is correct.)
Another technique for displaying the connection status is to add /instrumentable at the end of the
URL used to launch HP Web Jetadmin from a browser. Click DatabaseManager to view the
connection status.
26
The following example shows a case where a TCP/IP connection could not be made to the remote
SQL Server:
The following example shows a successful connection to a remote SQL Server. Notice that Integrated
Security is true in this case, which means that Windows Authentication was used for the Windows
machine account.
27
The following example shows a successful connection to a local SQL Server using a named instance.
The following example shows a successful connection to a (local) SQL server using a default
instance.
The following are common troubleshooting steps:
1. For remote SQL Server databases on versions of HP Web Jetadmin prior to 10.3 SR3, a license
must be installed in HP Web Jetadmin (see Appendix AInstall the license for the Database
Connectivity Module for HP Web Jetadmin 10.3 SR3 and earlier on page 34). Even though the
license might have been installed previously, the license might need to be reinstalled after HP
Web Jetadmin is upgraded to a new version. It is also possible that although License Manager
indicates that the license is installed, HP Web Jetadmin is not recognizing the license. A more
reliable method for making sure that the license is installed is to go to Help > About > Details in
HP Web Jetadmin. Remember to restart the HP Web Jetadmin service after the license is
installed.
28
2. If name resolution issues occur, fully qualify the server name in the configuration file or use
the IP address instead of the hostname.
3. If the user password was edited in the configuration because it changed, remember to
change the heading back to PlainTextPassword for that section.
4. Use SQL Server Configuration Manager to confirm that TCP/IP is enabled on the remote SQL
server.
5. Check the firewall settings to make sure that the port used for the remote connection is open.
The default port is 1433, but this port can be changed as described later in this document.
6. SQL Server 2012 Express SP2 defaults to using a dynamic port. Either configure SQL Server to
use a fixed port or start the SQL Browser service to allow for remote connections.
7. Confirm that the user HP Web Jetadmin is using to connect to the database has at minimum
(or read/write/execute at a minimum, see Database rights on page 21) rights (DBO rights are
preferred) on the database. An excellent technique to test that the user login is correct is to
use SQL Server Management Studio to log in to the instance. If the same credentials entered
in the DatabaseSettings.config.xml file cannot successfully log in to the instance through SQL
Server Management Studio, HP Web Jetadmin will have the same problems. One of the
following command-line utilities can also be used to determine if the login is correct:
osql -U(user name) -P(password) -S(server name\instance)
sqlcmd -U myName -P myPassword -S theServerName\instance
If the login succeeds, confirm that the login has the correct rights on the HP Web Jetadmin
database.
Change the port used for the remote connection
It is possible to configure HP Web Jetadmin to use a different port to connect to the remote SQL
instance instead of the default port of 1433. Security concerns might dictate that a port other than
the well-known port 1433 be used. Use the steps in the following sections to change the port.
SQL Server 2022 Express defaults to using a dynamic port. Either configure SQL Server to use a fixed
port or start the SQL Browser service to allow for remote connections
SQL Server configuration changes
1. Stop the HPWJA Client and Service.
2. Go to Start > Program Files > Microsoft SQL Server 2022, and select SQL Server Configuration
Manager.
29
3. Expand SQL Server Network Configuration, and select Protocols for HPWJA.
4. Double-click TCP/IP, and click the IP Addresses tab.
5. Scroll down to the IP All group. Remove the value in the TCP Dynamic Ports field. Specify the static
port in the TCP Port field. In the following example, the static port is changed to 1432.
6. After the changes are done, click OK or Apply.
7. In the warning dialog, confirm the service restart.
8. Restart the SQL Server (HPWJA) service.
30
HP Web Jetadmin configuration changes
1. Create or open the file DatabaseSettings.config.xml file.
2. Add the following XML block, which deals with the Custom Port Configuration, to the existing
configuration settings:
<property name="DatabaseConnectionFactory.MachinePort">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString
</type>
<value>Enter SQL Server Custom/Static Port here</value>
</property>
3. Save the file.
4. Start the HPWJA Service.
Firewall settings
Add the defined custom port to the firewall exception list.
Database failoverSQL mirroring
HP Web Jetadmin supports a mirrored configuration for SQL Server by allowing you to add
parameters to the DatabaseSettings.config.xml file. However, a clustered configuration for SQL is not
supported at this time. The mirrored configuration is supported only if the remote database option is
licensed.
The following parameters can be added to the DatabaseSettings.config.xml file to support the
failover for mirrored SQL configurations:
DatabaseConnectionFactory.FailoverPartner.MachineNameSpecifies the mirror
partner for the database.
DatabaseConnectionFactory.FailoverPartner.InstanceNameSpecifies the
instance name of the mirror partner database
31
DatabaseConnectionFactory.FailoverPartner.DefaultInstanceForces the
default instance of the mirror partner database to be used.
<ipmc:configuration xmlns:ipmc="www.hp.com/schemas/imaging/ipmc/config/2004/02/24">
<property name="DatabaseConnectionFactory.FailoverPartner.MachineName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>db2.SomeDomain.com</value>
</property>
<property name="DatabaseConnectionFactory.FailoverPartner.InstanceName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>HPWJA_MY_INSTANCE</value>
</property>
<property name="DatabaseConnectionFactory.CatalogName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>HPWJA</value>
</property>
<property name="DatabaseConnectionFactory.InstanceName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>HPWJA_MY_INSTANCE</value>
</property>
<property name="DatabaseConnectionFactory.MachineName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>db1.SomeDomain.com</value>
</property>
<property name="DatabaseConnectionFactory.PlainTextPassword">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>MyPassword</value>
</property>
<property name="DatabaseConnectionFactory.UserName">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>MyDBUser</value>
</property>
<property name="DatabaseConnectionFactory.CommandTimeoutInSeconds">
<type>HP.Imaging.Wjp.Sdk.Core.Framework.ConfigurationItemString</type>
<value>120</value>
</property>
</ipmc:configuration>
Example of the DatabaseSettings.config.xml file for using a mirrored
database
Although HP Web Jetadmin supports database mirroring, the behavior of the HP Web Jetadmin
service and connected clients might vary when a failover occurs on the database. The HP Web
Jetadmin service might sometimes stop as Microsoft fails over to the alternate database. When a
failure with the database connection occurs, Microsoft switches the HP Web Jetadmin database
connection to the alternate database and reports the failed database transaction to HP Web
Jetadmin with an exception. Depending on where HP Web Jetadmin accesses the database, the
exception might cause the HP Web Jetadmin service and attached clients to fail.
HP recommends that you configure the HP Web Jetadmin service to automatically restart after an
abnormal termination, such as a failover, so that no manual intervention is required to get the service
back up and running again on the new primary database. The service and clients still fail, but only
temporarily because the service should be up and running again on its own, and the clients can be
restarted.
When a failover occurs, further connection attempts go to the failover partner. If those connection
attempts are successful, the service continues to run. If those connection attempts are not
successful, the service shuts down.
32
When the service is restarted, the service should function normally if the failover partner node is
available. Otherwise waits for a successful database connection before the service comes up all the
way.
Performance settings
The following properties can also be set in the DatabaseSettings.config.xml file:
DatabaseConnectionFactory.MinimumPoolSizeSets the minimum number of
connections to the database that are kept open. The default is 0.
DatabaseConnectionFactory.MaximumPoolSizeSets the maximum number of
connections to the database that can be opened. The default is 100.
DatabaseConnectionFactory.CommandTimeoutInSecondsSets how long to wait for
results to start being returned in a query. The default is 120.
These settings can be used to improve performance when reading from and writing to the database.
Configure the HP Web Jetadmin backup for a remote
database
Administrators might want to run scheduled backups of an HP Web Jetadmin installation that points
to a remote SQL database. HP Web Jetadmin provides scripts to back up the default SQL Server
Express database instance that is installed with the base product. The script also backs up the HP
Web Jetadmin configuration settings.
If the backup and restore scripts from the HP Web Jetadmin installation directory
(WJABackupRestore directory) were used previously to back up the local HP Web Jetadmin
installation, you might need to consider the following options to make sure that the remote SQL
database is backed up:
Option 1Do not use HP Web Jetadmin to back up and restore the remote SQL database. There
might already be other processes in place for backing up the remote SQL database and the HP
Web Jetadmin settings directory. In this case, the HP Web Jetadmin script is not required.
Option 2Continue to use the HP Web Jetadmin backup script, but remove or comment out the
lines in the script that back up the remote SQL database. This allows the script to continue
backing up the HP Web Jetadmin settings directory. There might already be other processes in
place for backing up the remote SQL database. In this case, you do not need to use HP Web
Jetadmin to back up the remote SQL database.
Option 3Modify the HP Web Jetadmin script to back up the remote SQL database as well as the
HP Web Jetadmin settings directory. The lines in the scripts that back up the default SQL Server
Express database instance can be replaced with custom commands that back up the remote
SQL database. For example, the HP Web Jetadmin backup.bat file runs the following SQL script on
the same machine to back up the database:
%OSQL% -S localhost\HPWJA -E -i osql_backup.sql > osql_backup.log
33
To run the script on the remote SQL server, change this line to the following:
%OSQL% -H wksta_server -S SQL_server\Instance -U user -P password -i osql_backup.sql >
osql_backup.log
The following SQL script backs up a database named HPWJA to the specified DRIVE:\:
BACKUP DATABASE HPWJA TO DISK = 'DRIVE:\HPWJA_DB_BACKUP\HPWJA_DB_BACKUP.dat'
To back up any database name to a shared UNC path, change this line to the following:
BACKUP DATABASE database_name TO DISK = '\\WJA
_server\shared_directory\HPWJA_DB_BACKUP\HPWJA_DB_BACKUP.dat'
The backup.bat file creates a temporary directory to write the .dat file, and then removes the
temporary directory after the .dat file is copied to the Program Files location. Because the backup.bat
file looks for the .dat file in this temporary directory and it is impossible to share out this temporary
directory because it does not always exist, an additional permanent directory can be created and
shared. The SQL script can be modified by adding an additional line to the backup.bat file to copy the
.dat file from this shared directory to the HP Web Jetadmin temporary directory. Now the backup.bat
script is never disrupted and can continue from that point.
Summary
An existing installation of HP Web Jetadmin can be configured to use SQL Server instead of SQL
Express for the database. For example, it might be more convenient for HP Web Jetadmin to use SQL
Server because it is already installed or to avoid the SQL Express 4 GB database limitation.
34
Appendix AInstall the license for the Database Connectivity
Module for HP Web Jetadmin 10.3 SR3 and earlier
A license for the Database Connectivity Module must be installed in HP Web Jetadmin to unlock the
ability to attach to a remote SQL Server database for versions of HP Web Jetadmin prior to 10.3 SR3.
The licenses are node-locked to an IP address. A separate license is required for each HP Web
Jetadmin server. An order number is supplied when you request a license from HP. This order number
is used to generate the actual licenses during the licensing process describe in the following section.
License versions must match the appropriate HP Web Jetadmin server version.
IMPORTANT: HP Web Jetadmin 10.2 SR1 (10.2.62227) or later is required for the license to install
successfully.
License process
1. Browse to www.hp.com/go/webjetadmin.
2. Click the Web Jetadmin Extended Modules link, follow the instructions on the screen, and click
Finish.
3. When the registration is complete, a license number is returned. Copy that license number using
CTRL+C.
4. Go to Windows Start > Programs > HP Web Jetadmin 10. Right-click HP Web Jetadmin License
Manager, and select Run as administrator.
5. Click Add.
35
6. On the Enter License window, paste the license number in the License Key box, and click Apply.
The license is installed and displayed in the License Manager window.
7. Restart the HP Web Jetadmin service (HPWJA Service).
The features of the Database Connectivity Module are now activated.
hp.com/go/getconnected
Current HP driver, support, and security alerts
delivered directly to your desktop
© Copyright 2020 HP Inc. The information contained herein is subject to change without notice. The only warranties for HP products and services
are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an
additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.
pdf_6642757_en-US-1, Rev. 25, May 2023