Azure SQL Engine Test
The SQL Engine test reports statistics related to the Azure SQL database engine.
Target of the test : A Microsoft Azure SQL database
Agent deploying the test : A remote agent
Outputs of the test : One set of results for the Azure SQL database that is configured for monitoring
| Parameters | Description |
|---|---|
|
Test Period |
How often should the test be executed. |
|
Host |
The host for which the test is to be configured. |
|
Port |
The port at which the specified Host listens. |
|
Database Name |
Specify the name of the Azure SQL database that is to be monitored. |
|
User Name and Password |
Against the User Name and Password parameters, specify the credentials of the user who is vested with DBOWNER rights to the configured Database Name. |
|
Confirm Password |
Confirm the specified Password by retyping it here. |
|
SSL |
If the Azure SQL database service being monitored is SSL-enabled, then set the SSL flag to Yes. If not, then set the SSL flag to No. |
|
Domain |
By default, none is displayed in this text box. If the ‘SQL server and Windows’ authentication has been enabled for the Azure SQL database being monitored, then the Domain parameter can continue to be none. On the other hand, if ‘Windows only’ authentication has been enabled, then, in the Domain text box, specify the Windows domain in which the monitored database exists. Also, in such a case, the User Name and Password that you provide should be that of a 'domain user' with DBOWNER rights to the configured Database Name. |
|
IS NTLMv2 |
In some Windows networks, NTLM (NT LAN Manager) may be enabled. NTLM is a suite of Microsoft security protocols that provides authentication, integrity, and confidentiality to users. NTLM version 2 (“NTLMv2”) was concocted to address the security issues present in NTLM. By default, this flag is set to No, indicating that NTLMv2 is not enabled by default for the target Microsoft Azure SQL database. Set this flag to Yes if NTLMv2 is enabled for the target database. |
|
Azure AD Authentication |
This parameter indicates whether Azure Active Directory (Azure AD) authentication should be used to connect to the Azure SQL Database. If this parameter is set to Yes, the agent will authenticate to the Azure SQL Database using an Azure AD user / domain-based credentials. In this case, the Truststore File Name and Truststore Password parameters must also be configured. If this parameter is set to No, standard SQL authentication will be used. By default, this parameter is set to No. |
|
Truststore File Name |
This parameter is applicable only when Azure AD authentication is set to Yes. If not, set this parameter to none. When Azure AD authentication is used, the server certificate presented by the Azure SQL database during TLS connection establishment must be trusted. For this purpose, the agent must have access to the truststore that contains the CA certificates required to authenticate the Azure SQL server. In this text box, specify the name of the truststore file that contains these trusted CA certificate entries. For example: combinedTrustStore.jks. By default, none is displayed against this text box. To know more, refer to How Does eG Enterprise Monitor a Microsoft Azure SQL Database?. |
|
Truststore Password |
This parameter is applicable only when Azure AD authentication is set to Yes. If not, set this parameter to none. If a truststore file is provided in the Truststore File Name text box, then specify the password that is required to access the certificate entries stored in that truststore file. This password is used by the agent to open the truststore and retrieve the certificates for validating the Azure SQL server during authentication. By default, this parameter is set to none. |
| Measurement | Description | Measurement Unit | Interpretation |
|---|---|---|---|
|
Cpu usage |
The percentage of time for which the target database's CPU was engaged in processing requests. |
Percent |
A high value of this measure indicates a heavy load on the database. If this value comes close to 100%, it could indicate a probable delay in the processing of subsequent requests to the database. . |
|
I/O usage |
The percentage of time for which the target database was engaged in performing input/output operations. |
Percent |
|
|
CPU idle time |
The percentage of time for which the target database was idle. |
Percent |
A low value of this measure is indicative of high CPU utilization. |
|
Packets received |
The rate at which input packets were read by the target database. |
Pkts/Sec |
This measure is an indicator of the traffic to the target database. |
|
Packets sent |
The rate at which output packets were read by the target database. |
Pkts/Sec |
This measure is an indicator of traffic from the server. |
|
Packet errors |
The rate at which packet errors occurred. |
Errors/Sec |
Ideally, this value should be 0. |
|
Disk reads |
The rate of disk reads performed by the target database. |
Reads/Sec |
The value of this measure should be kept at a minimum, as disk reads are expensive operations. Ideally, data reads should be performed from the server cache and not directly from the disk. To ensure effective cache usage, allocate adequate memory to the Azure SQL database. |
|
Disk writes |
The rate of disk writes performed by the target database. |
Writes/Sec |
The value of this measure should be kept at a minimum, as disk writes are expensive operations. Ideally, data should be written to the data cache and not directly to the disk. To ensure effective cache usage, allocate adequate memory to the database. |
|
Disk I/O errors |
The rate of errors encountered by the target database while reading and writing. |
Errors/Sec |
Disk read/write errors are normally caused by the following reasons:
|
Note:
Sometimes, this test may suddenly stop reporting values for the CPU usage, I/O usage, and CPU idle time measures. In such a scenario, search the agent error log for the "msg 8115 Arithmetic overflow error". This is a Microsoft error, which occurs if the Azure SQL database being monitored is not restarted for 49 consecutive days or more. For more details about this error, refer to the following links:
https://docs.microsoft.com/en-us/sql/t-sql/functions/cpu-busy-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15
https://docs.microsoft.com/en-us/sql/t-sql/functions/io-busy-transact-sql?redirectedfrom=MSDN&view=sql-server-ver15
If you find the "msg 8115 Arithmetic overflow error"in the agent error log, then you may want to consider restarting the target database during maintenance.