sp_dbmmonitorchangealert (Transact-SQL)

Applies to: SQL Server

Adds or changes warning threshold for a specified mirroring performance metric.

Transact-SQL syntax conventions

Syntax

  
sp_dbmmonitorchangealert database_name   
    , alert_id   
    , alert_threshold   
    , enabled   

Arguments

database_name
Specifies the database for which to add or change the specified warning threshold.

alert_id
An integer value that identifies the warning to be added or changed. Specify one of the following values:

Value Performance metric Warning threshold
1 Oldest unsent transaction Specifies the number of minutes worth of transactions that can accumulate in the send queue before a warning is generated on the principal server instance. This warning helps measure the potential for data loss in terms of time, and it is particularly relevant for high-performance mode. However, the warning is also relevant for high-safety mode when mirroring is paused or suspended because the partners become disconnected.
2 Unsent log Specifies how many kilobytes (KB) of unsent log generate a warning on the principal server instance. This warning helps measure the potential for data loss in terms of KB, and it is particularly relevant for high-performance mode. However, the warning is also relevant for high-safety mode when mirroring is paused or suspended because the partners become disconnected.
3 Unrestored log Specifies how many KB of unrestored log generate a warning on the mirror server instance. This warning helps measure failover time. Failover time consists mainly of the time that the former mirror server requires to roll forward any log remaining in its redo queue, plus a short additional time.
4 Mirror commit overhead Specifies the number of milliseconds of average delay per transaction that are tolerated before a warning is generated on the principal server. This delay is the amount of overhead incurred while the principal server instance waits for the mirror server instance to write the transaction's log record into the redo queue. This value is relevant only in high-safety mode.
5 Retention period Metadata that controls how long rows in the database mirroring status table are preserved.

For information about the event IDs corresponding to the warnings, see Use Warning Thresholds and Alerts on Mirroring Performance Metrics (SQL Server).

alert_threshold
The threshold value for the warning. If a value above this threshold is returned when the mirroring status is updated, an entry is entered into the Windows event log. This value represents KB, minutes, or milliseconds, depending on the performance metric.

Note

To view the current values, run the sp_dbmmonitorresults stored procedure.

enabled
Is the warning enabled?

0 = Warning is disabled.

1 = Warning is enabled.

Note

Retention period is always enabled.

Return Code Values

None

Result Sets

None

Permissions

Requires membership in the sysadmin fixed server role.

Examples

The following example sets thresholds for each of the performance metrics and the retention period for the AdventureWorks2022 database. The following table shows the values used in the example.

alert_id Performance metric Warning threshold Is the warning enabled?
1 Oldest unsent transaction 30 minutes Yes
2 Unsent log 10,000 KB Yes
3 Unrestored log 10,000 KB Yes
4 Mirror commit overhead 1,000 milliseconds No
5 Retention period 8 hours Yes
EXEC sp_dbmmonitorchangealert AdventureWorks2022, 1, 30, 1 ;  
EXEC sp_dbmmonitorchangealert AdventureWorks2022, 2, 10000, 1 ;  
EXEC sp_dbmmonitorchangealert AdventureWorks2022, 3, 10000, 1 ;  
EXEC sp_dbmmonitorchangealert AdventureWorks2022, 4, 1000, 0 ;  
EXEC sp_dbmmonitorchangealert AdventureWorks2022, 5, 8, 1 ;  

See Also

Monitoring Database Mirroring (SQL Server)
sp_dbmmonitorhelpalert (Transact-SQL)
sp_dbmmonitordropalert (Transact-SQL)