Updated on 2025-06-30 GMT+08:00

Managing Trace Flags

Scenarios

You can use a stored procedure to manage trace flags. Trace flags can be used to:

  • Obtain in-depth RDS for SQL Server information, such as Lock Manager lock operations.
  • Change some preset RDS for SQL Server behaviors, such as disabling the query optimizer from determining the timeout period for the execution plan.
  • Change the current behavior of certain commands, such as terminating the use of a query prompt.

Prerequisites

An RDS for SQL Server DB instance has been connected. For details about how to connect to a DB instance, see Connecting to a DB Instance from a Windows Server.

Constraints

  • The stored procedure must be executed by a user who has the [CREATE ANY DATABASE] permission. If a user who does not have this permission attempts to execute the stored procedure, the system displays the following information:
    Database restores can only be performed by database logins with [CREATE ANY DATABASE] permissions.
  • The current version only supports the trace flags 1117, 1118, 1204, 1211, 1222, 1224, and 3604. If you perform operations on other flags, the system displays the following information:
    Current version just open 1117, 1118, 1204, 1211, 1222, 1224, 3604 permission.
  • Trace flag operations only include 1, 0, and -1. If any other operation is performed, the system displays the following information:
    Just support Open:1 Close:0 Check:-1

Procedure

To manage a trace flag, run the following command:

EXEC msdb.dbo.rds_dbcc_trace @Trace_Flag, @Trace_Action;

  • @Trace_Flag: specifies the sequence number of a trace flag. Currently, only trace flags 1117, 1118, 1204, 1211, 1222, 1224, and 3604 are supported.
  • @Trace_Action: specifies a trace flag operation. The value 1 means enabling the trace flag, 0 means disabling the trace flag, and -1 means viewing the trace flag.

For example, to enable trace flag 1117, run the following command:

EXEC msdb.dbo.rds_dbcc_trace 1117, 1;