• Colin,

    I dont think there's any way you can access a mirror DB directly as it needs to be RESTORE WITH NORECOVERY in order to set a database mirror.

    However, you can create a snapshot of the mirror DB at a point in time and access that copy for your reporting. This mirror copy should be as up to date as the primary DB at any point in time, depending on which setting you're using for DB mirror.

    The syntax to create a DB snapshot is

    CREATE DATABASE <snapshot_name) ON

    (NAME=N'DB_data_file_name',

    FILENAME = N'C:\physical_file_name.snap')

    AS SNAPSHOT OF database_name

    Disadvantage of this snapshot is that the data it contains wont be refreshed once taken. you'll have to drop the snapshot and re-create it in order to refresh the DB. Hence, dropping users from your DB before allowing them to re-connect.

    Unlike log shipping, you can restore the secondary DB WITH STANDBY and therefore, can access the read-only DB at anytime. But i think the system will kick you out of the DB when it performs transaction log restore on the secondary server.

    Simon

    Simon Liew
    Microsoft Certified Master: SQL Server 2008