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
Basado en la nota de sqldbadiaries.com