SQL Server Configuration in QPR UI
This page contains instructions how to configure SQL Server to be used for QPR UI database. Note that these instructions assume that there is an SQL Server 2017 instance with name SQLSERVER2017. Your SQL Server may be other version or have other instance name.
When making a new QPR UI installation, check all the instructions in this page. When updating to the latest version of QPR UI, there is no need to change these settings.
Creating new database for QPR UI
When making a new installation for QPR UI, a new SQL Server database needs to be created as described below. If you have an existing QPR UI database, don't create a new database.
- Open Microsoft SQL Server Management Studio and login to a proper instance.
- In Object Explorer right click Databases ans from the popup menu select New database....
- Define a name for the database and change other settings for the database if needed (default settings will work for QPR UI).
- In Object Explorer open click Security and then open Logins. You can create a new login by right clicking Logins and from the popup menu selecting New Login... or you may want to use an existing login.
- Open Login Properties window by double clicking the login. In the General tab, check that authentication related settings are as desired.
- Open the User Mapping tab and select the Map checkbox for the QPR UI database. Click also db_owner in the bottom side of the tab. Click OK.
Checking SQL Server Browser is running
If named instance are used in the SQL Server, the SQL Server Browser service needs to be running. Check it as follows:
- Open Services in Windows Control Panel.
- Find service SQL Server Browser and check that it has status Running. If the service is missing, SQL Server Browser is not installed.
More information: https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/sql-server-browser-service-database-engine-and-ssas
If the SQL Server Browser refuses to start, check that the SQL Server Browser Window service Startup type is not Disabled.
Enabling SQL Server TCP/IP protocol
The SQL Server must have a TCP port open for QPR UI to be able connect to the database though GlassFish. To assign a TCP port:
- Open Sql Server 2017 Configuration Manager in Windows start menu.
- Click SQL Server Network Configuration and Protocols for SQLSERVER2017.
- Double click TCP/IP.
- In Protocol tab, check that Active is Yes and Enabled is Yes for those interfaces that is used by QPR UI.
- In IP Addresses tab, define your TCP port number (usually 1433) to the TCP Port field of the IPAll section. In addition, make sure that all other fields in the IP Addresses tab which name is TCP Port or TCP Dynamic Ports are empty.
- Open SQL Server services and click Restart for SQL Server (SQLSERVER2017).
More information: https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/configure-a-server-to-listen-on-a-specific-tcp-port
If you are unsure whether the TCP port is accessible in the QPR UI server, it can be tested as follows:
- In the server where QPR UI will be installed, open Windows Command Prompt.
- Type telnet [DATABASE_SERVER_HOSTNAME] [PORT], for example telnet localhost 1433. (If the Telnet program is not installed, you can install it in Turn Windows features on or off screen in Window Control Panel.)
- If the TCP port is accessible, a connection is opened (the command prompt screen is emptied).
- If the TCP port is not accessible, the connection fails with message ... Could not open connection to the host ...
- You can close the command prompt window.
Note that there may be a firewall blocking TCP connections.
Enabling SQL Server Authentication
If you are planning to use SQL Server Authentication in QPR UI, check that SQL Server Authentication has been enabled as described below:
- Open Microsoft SQL Server Management Studio and login to a proper instance.
- In Object Explorer right click the topmost item and select Properties.
- Click Security page and select SQL Server and Windows Authentication mode. Click OK.
- Open Services in Windows Control Panel.
- Find SQL Server (SQLSERVER2017) and for it click Restart from the right click popup menu.
If you are using Windows Authentication, it's better to use Windows Authentication mode for better security.
More information: https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/change-server-authentication-mode