I believe it is all in memory.
I know you can use the dnscmd to dump the cache with a command like this:
dnscmd serverip /zoneprint .
You can view the contents of the with the DNS MMC. From the View menu make sure the 'Advanced' option is checked. You can then click on a server and under that will be a folder named 'Cached Lookups'.
There will be a performance cost, but what you may actually want to do is enable the debug logging and then run reports against the log file, instead of trying to look at the at just the cache.
To configure debug logging open up the DNS manager, right click on the server. There is a tab 'Debug Logging'. Set the path for the log file and check the boxes to log what you want to see.