SQL Transaction Logs Activity Test

Every database created on an Microsoft SQL server is associated with a database file (.mdf) and a log data file (.ldf). All transactions to the database are logged in the log data file. The server will use the logged transactional information to restore the database after a crash, or when a transaction runs into issues and may have to be rolled back.

This test periodically monitors the I/O activity on and the growth in the size of the log file associated with each database. Using the metrics reported by this test, you can proactively detect bottlenecks while reading from or writing to the log file and excessive disk space usage by the log file.

By default, this test is disabled. This test is disabled by default. To enable the test, go to the enable / disable tests page using the menu sequence : Agents -> Tests -> Enable/Disable, pick Microsoft SQL as the Component type, Performance as the Test type, choose this test from the disabled tests list, and click on the << button to move the test to the ENABLED TESTS list. Finally, click the Update button.

Target of the test : A Microsoft SQL server

Agent deploying the test : An internal agent

Outputs of the test : One set of results for every database on the monitored Microsoft SQL server

Configurable parameters for the test
  1. TEST PERIOD - How often should the test be executed
  2. Host – The IP address of the Microsoft SQL server.
  3. Port - The port number through which the Microsoft SQL server communicates. The default port is 1433.
  4. ssl – If the Microsoft SQL server being monitored is an SSL-enabled server, then set the ssl flag to Yes. If not, then set the ssl flag to No.
  5. instance - In this text box, enter the name of a specific Microsoft SQL instance that is to be monitored. The default value of this parameter is “default”. To monitor an Microsoft SQL instance named “CFS”, enter this as the value of the INSTANCE parameter.
  6. USER – If a Microsoft SQL Server 7.0/2000 is monitored, then provide the name of a SQL user with the Sysadmin role in this text box. While monitoring a Microsoft SQL Server 2005 or above, provide the name of a SQL user with all of the privileges outlined in User Privileges Required for Monitoring Microsoft SQL server.

  7. password - The password of the specified user
  8. confirm password - Confirm the password by retyping it.
  9. domain - By default, none is displayed in the DOMAIN text box. If the ‘SQL server and Windows’ authentication has been enabled for the server being monitored, then the DOMAIN 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 managed Microsoft SQL server exists. Also, in such a case, the USER name and PASSWORD that you provide should be that of a user authorized to access the monitored SQL server.
  10. exclude info - By default, this is set to none, indicating that the test will monitor all the databases on the Microsoft SQL server by default. To exclude specific databases from the monitoring scope of this test, provide a comma-separated list of databases in the EXCLUDE INFO text box.
  11. isntlmv2 - 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, the isntlmv2 flag is set to No, indicating that NTLMv2 is not enabled by default on the target Microsoft SQL host. Set this flag to Yes if NTLMv2 is enabled on the target host.
  12. ISPASSIVE – If the value chosen is yes, then the Microsoft SQL server under consideration is a passive server in a SQL cluster. No alerts will be generated if the server is not running. Measures will be reported as “Not applicable" by the agent if the server is not up.
  13. show Logfile path- This test reports a set of results for log file on the every database. This means that every log file is a descriptor of this test. By default, while displaying the descriptors of this test, the eG monitoring console does not prefix the log file names with the full path to the log files. This is why, the SHOW LOGFILE PATH flag is set to No by default. If you want the log file names to be prefixed by the full path to the log files, then, set the SHOW LOGFILE PATH flag to Yes.
  14. dd frequency - Refers to the frequency with which detailed diagnosis measures are to be generated for this test. For instance, if you set to 1:1, it means that detailed measures will be generated every time this test runs, and also every time the test detects a problem.
  15. DETAILED DIAGNOSIS - To make diagnosis more efficient and accurate, the eG Enterprise suite 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 enabled/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

Write rate:

Indicates the rate at which writes occurred on this log file.

Writes/Sec

 

Data write rate:

Indicates the rate at which data was written to this log file.

KB/Sec

Ideally, the value for this measure should be low. If the value for this measure is high, use the detailed diagnosis of the Num of waits measure to identify the queries that are causing the waits to remain for a long time. You may want to finetune the queries to reduce wait time.

I/O stall writes:

Indicates the total time taken to write to this log file.

Millisecs/write

A high value for this measure could indicate a bottleneck while writing to the log file. By comparing the value of this measure across log files, you can identify the log file to which write operations are taking too long to complete.

Read rate:

Indicates the rate of reads from this log file.

Reads/Sec

 

Data read rate:

Indicates the rate at which data was read from this log file.

KB/Sec

 

I/O stall reads:

Indicates the time taken to read from this log file.

 

Millisecs/read

A high value for this measure could indicate a bottleneck while reading from the log file.

By comparing the value of this measure across log files, you can identify the log file to which read operations are taking too long to complete.

I/O stall:

Indicates the total time taken for I/O to complete on this log file.

Millisecs/IOP

A high value for this measure could indicate an I/O bottleneck on this log file.

Size on disk:

Indicates the total size on disk of each logfile.

MB

This measure is used to determine the growth of the logfile.