Script para comprobar si las bases de datos están configuradas espaejadas en SQL 2005/2008

Hace unos dias uno de los miembros de mi equipo quería obtener la lista de bases de datos que se han configurado en mirror en un server para omitirlas de los back ups. Y asi nacio este script.

The easiest approach is to query the sys.database_mirroring DMV. The output of this DMV has a column named mirroring_state, which has different values for the Mirroring State. This column will have a value of NULL, if a database is not mirrored or is inaccessible. Based on this logic, I wrote the following script to check the mirroring status of all the databases on a given instance.

El enfoque más sencillo es consultar la sys.database_mirroring. La salida tiene una columna llamada mirroring_state, que tiene valores diferentes para cada estado del mirror. Esta columna tendrá un NULL, si una base de datos no esta espejada o es inaccesible. basado en esta logica, escribí el siguiente script para comprobar el estado de mirrroring de todas las bases de datos en una instancia determinada.

SELECT
A.name,
CASE
    WHEN B.mirroring_state is NULL THEN 'Mirroring not configured'
    ELSE 'Mirroring configured'
END as MirroringState
FROM
sys.databases A
INNER JOIN sys.database_mirroring B
ON A.database_id=B.database_id
WHERE a.database_id > 4
ORDER BY A.NAME

Lo que muestra algo asi:

Basado en la nota de sqldbadiaries.com


Posted

in

,

by