SQL Server Database Mirroring - Working with Mirroring Related DMVs



Checking if the database is Trustworthy

-- Database Name: AdventureWorks
SELECT 
    is_trustworthy_on
FROM sys.databases
WHERE name = 'AdventureWorks'
/*
is_trustworthy_on
-----------------
1
*/

Querying the Mirror Safety Level

SELECT 
    mirroring_safety_level_desc
FROM sys.database_mirroring
WHERE database_id = db_id('dbname')
/*
Possible Values:
FULL
OFF
UNKNOWN
NULL - Databse is offline
*/

Querying the Witness Name of a Mirroring Session

SELECT 
    mirroring_witness_name
FROM sys.database_mirroring
WHERE database_id = db_id('dbname')

Querying the State of the Witness Server

SELECT 
    mirroring_witness_state_desc
FROM sys.database_mirroring
WHERE database_id = db_id('dbname')
/*
Possible Values:
UNKNOWN
CONNECTED
DISCONNECTED
NULL
*/

Checking the Role and Mirroring State of a server

-- DatabaseName: AdventureWorks
SELECT 
    mirroring_role_desc, 
    mirroring_state_desc
FROM sys.database_mirroring
WHERE database_id = db_id('AdventureWorks')
/*
mirroring_role_desc mirroring_state_desc
------------------- --------------------
PRINCIPAL           SYNCHRONIZED
*/

Checking if the Mirroring Session has started or not

SELECT 
    role_desc, 
    state_desc 
FROM sys.database_mirroring_endpoints
/*
role_desc     state_desc  
------------- ------------
PARTNER       STARTED
*/

Querying the Mirroring Endpoints

SELECT
    name, 
    role_desc AS Role, 
    state_desc AS State, 
    connection_auth_desc AS ConnAuth, 
    encryption_algorithm_desc AS Algorithm
FROM sys.database_mirroring_endpoints;
/*
name      role    state   connAuth  Algorithm 
--------- ------- ------- --------- ----------
Mirroring PARTNER STARTED NEGOTIATE NONE
*/

Share |

 Cant find the page you are looking for?
 Help us to improve by adding the content that you are looking for.
 Leave a feedback
 We look forward to hear your comments and feedback.