Joy Smith San (8/26/2009)
I am able to understand why snapshot cannot be created on TEMPDB. But don't understand why it has been prohibited for Master and Model (Though it's not necessary to create snapshots on system DBs).
It may not be necessary, but it can be useful - especially for MSDB. MSDB will grow like topsy unless job and jobstep history is pruned, but you want to avoid having oldest data disappear while you are generating reports about the history of jobs and steps (time taken, failures, scheduled runs missed,...) so that everything's viewed from the same base. So take a snapshot of MSDB and do the reporting against that - the real MSDB can happily be pruned while the report task is running. Throw the snapshot away when the report is done.
I'd always want to have a well documented history of model, what changed when and why it changed, and it should change so rarely that there is no point in taking a snapshot (snapshots are NOT backups, they are temporary static images you can play with). Probably sensible to ban taking snapshots as otherwise people might be tempted to misuse them. Probably the same applies to Master, although it changes more often.