Here's a suprising one:
SQL Server 2005 introduced the COPY_ONLY option of the BACKUP command. This is relevant for
- Database backups. The backup will not intervene with your differential backups (will not reset the DCM pages).
- Log backups. The backup will not break the log chain (empty the log).
There was a post in the newsgroup where a gentleman wanted to do a restore from a backup taken with COPY_ONLY. An he claimed that the GUI would not list that backup member from the backup file. I basically replied that my guess what that he didn't drive the backup GUI correctly (typing the RESTORE command worked just fine, of course). I also said that the backup you produce shod no evidence of being taken using the COPY_ONLY option, since this option only affects what happens with the source database (see above). Needless to say, I was incorrect (else you wouldn't read this blog post).
It turns out that SSMS does not list backups taken using the COPY_ONLY option. Here's a part of my reply from the newsgroup discussion (edited):
Let me try it and see if I get the same behaviour in the GUI as you describe:
BACKUP DATABASE pubs
TO DISK = N'C:\pubs.bak'
WITH INIT, COPY_ONLY
Right-click Databases folder, Restore Database, Type in "pubs" for database name, select "from device", press "..."
Backup media: File
File name: C:\pubs.bak, OK
OK
... and indeed, there is nothing listed!
OK, lets do the same except I don't specify COPY_ONLY... And now the backup is listed! So, my apologies. I was incorrect. I'm surprised that the backup somehow indicated it was done using COPY_ONLY. Let me try something else:
BACKUP DATABASE pubs
TO DISK = N'C:\pubs.bak'
WITH INIT
BACKUP DATABASE pubs
TO DISK = N'C:\pubs.bak'
WITH NOINIT, COPY_ONLY
RESTORE HEADERONLY FROM DISK = N'C:\pubs.bak'
Yes, RESTORE HEADERONLY does indicate whether the backup was done using COPY_ONLY. I see a difference in the "flags" column as well as the "IsCopyOnly" column. And the restore dialog only show the first backup. Let me now try the other way around:
BACKUP DATABASE pubs
TO DISK = N'C:\pubs.bak'
WITH INIT, COPY_ONLY
BACKUP DATABASE pubs
TO DISK = N'C:\pubs.bak'
WITH NOINIT
Now the restore dialog only show the second backup in the backup file (position 2). I get the same result if I type in some other database name to restore into (a non-existing database).
So, the restore dialog does indeed refuse to list backups done using COPY_ONLY. So here's another reason to type the RESTORE command instead of relying on how the GUI developer believe the restore should be done... :-)