Here is a link related to Creating a database snapshot.
http://msdn.microsoft.com/en-us/library/ms175876(v=sql.105).aspx
You can go ahead a create a snapshot based on the Mirrored Database that you have (in Synchronized state). There are other things to consider in a snapshot, like how sparse files are used, the space usage as presented on the explorer vs. the actual disk usage.
basic syntax:
CREATE DATABASE <DatabaseSnapshotName>
(NAME = '<Logical Data File Name>', FILENAME = '<Valid Snapshot Full path and filename>')
AS SNAPSHOT OF <Databasename>;
For a Database called DB1:
CREATE DATABASE DB1_SS1
(NAME = 'DB1', FILENAME = 'E:\MSSQL\Snapshot\DB1_Snapshot.SS1')
AS SNAPSHOT OF DB1;
And then you can go ahead and issue :
USE DB1_SS1
GO
SELECT ..... your queries...