W każdej firmie powinna być stworzona polityka tworzenia i odzyskiwania kopii zapasowych. Jednakże czasem może zaistnieć sytuacja gdy chcemy sprawdzić kto i kiedy wykonał backup naszej bazy. Najprościej jest to zrobić przy pomocy tabeli systemowej backupset znajdującej się w bazie msdb.
Poniżej przedstawiam przykład kodu wybierającego z niej informacje:
SELECT database_name, user_name, backup_start_date, type
FROM msdb.dbo.backupset
WHERE database_name = 'MojaBaza'
ORDER BY Backup_Start_Date
O rodzaju backupu mówi nam kolumna "type", gdzie możemy otrzymać następujące oznaczenia:
- D - Full Database Backup
- I - Database Differential
- L - Log Backup
- F - File or Filegroup Backup
- G - File Differential
- P - Partial Backup
- Q - Partial Differential
Dodatkowo od SQL Server 2005 mamy dodanych kilka nowych kolumn, takich jak np. "is_copy_only ", dzięki której możemy stwierdzić, czy wykonanie kopii zapasowej mogło mieć wpływ na całą sekwencję backupów.
Więcej informacji na temat samej tabeli można znaleźć w BOL:
http://technet.microsoft.com/en-us/library/ms186299.aspx