Difference between revisions of "SQL Server Configuration in QPR UI"

From Mea Wiki
Jump to navigation Jump to search
 
(42 intermediate revisions by 2 users not shown)
Line 1: Line 1:
This page contains all SQL Server configuration related instructions. Note that these instructions assume that there is an SQL Server 2016 instance with name '''SQLSERVER2016'''. Your SQL Server may have some other instance name.
+
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.
  
== SQL Server TCP/IP port configuration ==
+
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.
If SQL Server named instances are used, a TCP port needs to be assigned to the instance as follows:
 
  
# Open '''Sql Server 2016 Configuration Manager''' in Windows start menu.
+
QPR UI supports TLS 1.2, so older TLS versions can be disabled in the SQL Server.
# Click '''SQL Server Network Configuration''' and '''Protocols for SQLSERVER2016'''.
+
 
 +
==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 TCP/IP protocol enabled, for QPR UI to be able connect to the database though Payara. 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'''.
 
# Double click '''TCP/IP'''.
# In '''Protocol''' tab, select '''Enabled''' is '''Yes'''.
+
# In '''Protocol''' tab, check that '''Enabled''' is '''Yes'''.
# In '''IP Addresses''' tab, in section '''IPAll''' select '''TCP Port''' is '''1433'''.
+
# In '''IP Addresses''' tab, check that '''Active''' is '''Yes''' and '''Enabled''' is '''Yes''' for the IP addresses that are to be used.
# Open '''SQL Server services''' and click '''Restart''' for '''SQL Server (SQLSERVER2016)'''.
+
## If you use dynamic TCP ports, set '''TCP Dynamic Ports''' to '''0''' and '''TCP Port''' to empty for all the IP addresses.
 +
## If you use static TCP port, set '''TCP Dynamic Ports''' to empty and '''TCP Port''' the used TCP port (usually 1433) for all the IP addresses.
 +
# Open '''SQL Server services''' in the left side hierarchy 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.
  
== Checking SQL Server Browser is running ==
+
Note that there may be a firewall blocking TCP connections.
If named instances are used, the SQL Server Browser service needs to be running.
 
# Open '''Services''' in Windows Control Panel.
 
# Check that service '''SQL Server Browser''' has status '''Running'''.
 
  
 
==Enabling SQL Server Authentication==
 
==Enabling SQL Server Authentication==
If you are planning to use '''SQL Server Authentication''' in QPR MobileDashboard, check that SQL Server Authentication has been enabled as follows:
+
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 the proper instance.
+
# Open '''Microsoft SQL Server Management Studio''' and login to a proper instance.
 
# In '''Object Explorer''' right click the topmost item and select '''Properties'''.
 
# In '''Object Explorer''' right click the topmost item and select '''Properties'''.
# Click '''Security''' and select '''SQL Server and Windows Authentication mode'''. Click '''OK'''.
+
# Click '''Security''' page and select '''SQL Server and Windows Authentication mode'''. Click '''OK'''.
 
# Open '''Services''' in Windows Control Panel.
 
# Open '''Services''' in Windows Control Panel.
# Find '''SQL Server (SQLSERVER2016)''' and for it click '''Restart''' from the right click popup menu.
+
# 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
  
[[Category: QPR MobileDashboard]]
+
[[Category: QPR UI]]

Latest revision as of 14:48, 15 January 2020

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.

QPR UI supports TLS 1.2, so older TLS versions can be disabled in the SQL Server.

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.

  1. Open Microsoft SQL Server Management Studio and login to a proper instance.
  2. In Object Explorer right click Databases ans from the popup menu select New database....
  3. Define a name for the database and change other settings for the database if needed (default settings will work for QPR UI).
  4. 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.
  5. Open Login Properties window by double clicking the login. In the General tab, check that authentication related settings are as desired.
  6. 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:

  1. Open Services in Windows Control Panel.
  2. 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 TCP/IP protocol enabled, for QPR UI to be able connect to the database though Payara. To assign a TCP port:

  1. Open Sql Server 2017 Configuration Manager in Windows start menu.
  2. Click SQL Server Network Configuration and Protocols for SQLSERVER2017.
  3. Double click TCP/IP.
  4. In Protocol tab, check that Enabled is Yes.
  5. In IP Addresses tab, check that Active is Yes and Enabled is Yes for the IP addresses that are to be used.
    1. If you use dynamic TCP ports, set TCP Dynamic Ports to 0 and TCP Port to empty for all the IP addresses.
    2. If you use static TCP port, set TCP Dynamic Ports to empty and TCP Port the used TCP port (usually 1433) for all the IP addresses.
  6. Open SQL Server services in the left side hierarchy 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:

  1. In the server where QPR UI will be installed, open Windows Command Prompt.
  2. 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 ...
  3. 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:

  1. Open Microsoft SQL Server Management Studio and login to a proper instance.
  2. In Object Explorer right click the topmost item and select Properties.
  3. Click Security page and select SQL Server and Windows Authentication mode. Click OK.
  4. Open Services in Windows Control Panel.
  5. 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