sys.database_mirroring (Transact-SQL)

Contains one row for each database in the instance of SQL Server. If the database is not ONLINE or database mirroring is not enabled, the values of all columns except database_id will be NULL.

To see the row for a database other than master or tempdb, you must either be the database owner or have at least ALTER ANY DATABASE or VIEW ANY DATABASE server-level permission or CREATE DATABASE permission in the master database. To see non-NULL values on a mirror database, you must be a member of the sysadmin fixed server role.

Note

If a database does not participate in mirroring, all columns prefixed with mirroring_ are NULL.

Column name

Data type

Description

database_id

int

ID of the database. Is unique within an instance of SQL Server.

mirroring_guid

uniqueidentifier

ID of the mirroring partnership.

NULL= Database is inaccessible or is not mirrored.

NoteNote
If the database does not participate in mirroring, all columns prefixed with mirroring_ are NULL.

mirroring_state

tinyint

State of the mirror database and of the database mirroring session.

0 = Suspended

1 = Disconnected from the other partner

2 = Synchronizing

3 = Pending Failover

4 = Synchronized

5 = The partners are not synchronized. Failover is not possible now.

6 = The partners are synchronized. Failover is potentially possible. For information about the requirements for failover see, Synchronous Database Mirroring (High-Safety Mode).

NULL = Database is inaccessible or is not mirrored.

mirroring_state_desc

nvarchar(60)

Description of the state of the mirror database and of the database mirroring session, can be one of:

DISCONNECTED

SYNCHRONIZED

SYNCHRONIZING

PENDING_FAILOVER

SUSPENDED

UNSYNCHRONIZED

SYNCHRONIZED

NULL

For more information, see Mirroring States.

mirroring_role

tinyint

Current role of the local database plays in the database mirroring session.

1 = Principal

2 = Mirror

NULL = Database is inaccessible or is not mirrored.

mirroring_role_desc

nvarchar(60)

Description of the role the local database plays in mirroring, can be one of:

PRINCIPAL

MIRROR

mirroring_role_sequence

int

The number of times that mirroring partners have switched the principal and mirror roles due to a failover or forced service.

NULL = Database is inaccessible or is not mirrored.

mirroring_safety_level

tinyint

Safety setting for updates on the mirror database:

0 = Unknown state

1 = Off [asynchronous]

2 = Full [synchronous]

NULL = Database is inaccessible or is not mirrored.

mirroring_safety_level_desc

nvarchar(60)

Transaction safety setting for the updates on the mirror database, can be one of:

UNKNOWN

OFF

FULL

NULL

mirroring_safety_sequence

int

Update the sequence number for changes to transaction safety level.

NULL = Database is inaccessible or is not mirrored.

mirroring_partner_name

nvarchar(128)

Server name of the database mirroring partner.

NULL = Database is inaccessible or is not mirrored.

mirroring_partner_instance

nvarchar(128)

The instance name and computer name for the other partner. Clients require this information to connect to the partner if it becomes the principal server.

NULL = Database is inaccessible or is not mirrored.

mirroring_witness_name

nvarchar(128)

Server name of the database mirroring witness.

NULL = No witness exists.

mirroring_witness_state

tinyint

State of the witness in the database mirroring session of the database, can be one of:

0 = Unknown

1= Connected

2 = Disconnected

NULL = No witness exists, the database is not online, or the database is not mirrored.

mirroring_witness_state_desc

nvarchar(60)

Description of state, can be one of:

UNKNOWN

CONNECTED

DISCONNECTED

NULL

mirroring_failover_lsn

numeric(25,0)

Log sequence number (LSN) of the latest transaction log record that is guaranteed to be hardened to disk on both partners. After a failover, the mirroring_failover_lsn is used by the partners as the point of reconciliation at which the new mirror server begins to synchronize the new mirror database with the new principal database.

mirroring_connection_timeout

int

Mirroring connection time out in seconds. This is the number of seconds to wait for a reply from a partner or witness before considering them unavailable. The default time-out value is 10 seconds.

NULL = Database is inaccessible or is not mirrored.

mirroring_redo_queue

int

Maximum amount of log to be redone on the mirror. If mirroring_redo_queue_type is set to UNLIMITED, which is the default setting, this column is NULL. If the database is not online, this column is also NULL.

Otherwise, this column contains the maximum amount of log in megabytes. When the maximum is reached, the log is temporarily stalled on the principal as the mirror server catches up. This feature limits failover time.

For more information, see Estimating the Interruption of Service During Role Switching.

mirroring_redo_queue_type

nvarchar(60)

UNLIMITED indicates that mirroring will not inhibit the redo queue. This is the default setting.

MB for maximum size of the redo queue in mega bytes. Note that if the queue size was specified as kilobytes or gigabytes, the SQL Server 2005 Database Engine converts the value into megabytes.

If the database is not online, this column is NULL.

mirroring_end_of_log_lsn

numeric(25,0)

The local end-of-log that has been flushed to disk. This is comparable to the hardened LSN from the mirror server (see the mirroring_failover_lsn column).

mirroring_replication_lsn

numeric(25,0)

The maximum LSN that replication can send.

Permissions

In SQL Server 2005 and later versions, the visibility of the metadata in catalog views is limited to securables that a user either owns or on which the user has been granted some permission. For more information, see Metadata Visibility Configuration.