Azure SQL Top Queries Test

The real test of the performance of a database server lies in how quickly the database responds to queries. Whenever users complaint of slow execution of their queries, administrators need to know the reason for the delay - is it because the queries themselves are badly designed? or is it due to a longer CPU wait time? or is it because of some queries consuming too much of physical reads per execution? The Azure SQL Top Queries test helps with this root-cause analysis.

For the Azure SQL database that is configured for monitoring, this test reports the maximum physical reads and logical reads performed by the queries executing on that database. The maximum CPU time and time elapsed per query execution are also revealed. The detailed diagnosis of this test lists the top queries that consumed processing resources and/or I/O resources excessively. Resource-intensive statements can be identified in the process. Slow statements are also revealed.

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 configured for monitoring

Configurable parameters for the test
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.

DD Frequency

Refers to the frequency with which detailed diagnosis measures are to be generated for this test. The default is 1:1. This indicates that, by default, detailed measures will be generated every time this test runs, and also every time the test detects a problem. You can modify this frequency, if you so desire. Also, if you intend to disable the detailed diagnosis capability for this test, you can do so by specifying none against DD Frequency.

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability

  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.

Measurements made by the test
Measurement Description Measurement Unit Interpretation

Maximum physical reads

Indicates the maximum physical reads performed per execution of an SQL query on the target Azure SQL database.

Reads/execution

Use the detailed diagnosis of this measure to view the details of the top queries executed on the target Azure SQL database, based on the count of physical reads they performed. I/O-intensive queries can thus be identified.

Maximum logical reads

Indicates the maximum logical reads consumed per execution of an SQL query on the target Azure SQL database.

Reads/execution

Use the detailed diagnosis of this measure to view the details of the top SQL queries executed on the target Azure SQL database, based on the count of logical reads they performed. SQL queries that are consuming logical I/O resources abnormally can thus be quickly identified.

Maximum CPU time

Indicates the maximum CPU time taken per execution of the SQL query on the target Azure SQL database.

Seconds/execution

Use the detailed diagnosis of this measure to view the top SQL queries executed on the target Azure SQL database, based on the CPU time they spent. The queries that are hogging CPU can be isolated in the process.

Maximum elapsed time

Indicates the maximum time elapsed per execution of an SQL query on the target Azure SQL database.

Seconds/execution

Use the detailed diagnosis of this measure to view the details of the top SQL queries executed on the target Azure SQL database, based on the count of physical reads they performed. I/O-intensive queries can thus be identified.