• Snapshot is read-only. If you want to test something other than reads, it will not work.

    Snapshot might not be good to test even the reads because it is physically different than original database. The query you are trying to test will partially read the data files of snapshot database and partially mirror database.

    Restored test db is read-write, and is exact copy of production. It doesn't change production server, as mirror does. Mirror prevents certain operations on your production system. For example, you cannot do maintenance anymore in bulk_logged recovery model on your production. Synchronized mirror will slow down your production server - it will wait until the transaction log records are written to the transaction log of the mirror. And what will happen if, accidentally, you fail-over to the mirror db which is on a test system, and your production becomes not read-only but unreadable?

    Mirror is a great HA feature, don't get me wrong, but it is a completely wrong tool for the purpose you need. I can't believe that I'm the only one here telling you this.

    _____________________________________________________
    Microsoft Certified Master: SQL Server 2008
    XDetails Addin - for SQL Developers
    blog.sqlxdetails.com - Transaction log myths