Azure SQL Query Plans Test

When SQL Azure server executes a query it uses a query plan to determine how to access data and complete the query. SQL server offers administrators and developers the ability to see these query plans to assist in query optimization. Without query plans it would be difficult to figure out how to tune and optimize the queries. The Query Execution Plans describe the steps and the order used to access or modify data in the Microsoft Azure SQL database. The Query Plan defines how SQL statements are physically executed by the server. The Query Plan describes the data retrieval and storage methods that are used by the Query Optimizer to execute a specific query. The executed Query Plans are also stored in the Procedure Cache, so they can be retrieved and reused if a similar query is executed. If the Query Plan in the stored Procedure Cache consumes too much of memory, more query plans cannot be stored in the cache. This would delay the execution of the query plans on the Azure SQL database. Therefore, it is necessary to monitor the memory consumed by each query plan in the cache. The Azure SQL Query Plans test helps administrators in this regard!

For every type of object in each cache type of the target Azure SQL database, the test reports the maximum amount of memory consumed by the query plans of that object type:cache type pair. Detailed diagnostics will reveal the exact query plan that is hogging the cache memory.

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 every object type in each cache type of 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.

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.

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 memory consumed query plan

Indicates the maximum amount of memory consumed by the query plans of this object type:cache type pair.,

MB

Use the detailed diagnosis of this measure to figure out the query plans that consumed the maximum amount of memory.