2016-10-14 9 views
-1

При запросе последнего backup_finish_date со следующим запросом (от SQL Server: how to query when the last transaction log backup has been taken?):SQL Server: Что именно является backup_finish_date в master.sys.databases

SELECT d.name, 
     d.recovery_model_desc, 
     MAX(b.backup_finish_date) AS backup_finish_date 
FROM  master.sys.databases d 
     LEFT OUTER JOIN msdb..backupset b 
     ON  b.database_name = d.name 
     AND  b.type   = 'L' 
GROUP BY d.name, d.recovery_model_desc 
ORDER BY backup_finish_date DESC 

The backup_finish_date для всех моих баз данных имеет нулевое значение, это для БД с режимом восстановления BULK_LOGGED, FULL или SIMPLE.

Означает ли это, что ни одна из этих баз данных не резервировала журнал транзакций (как указано в названии связанного вопроса)?

ответ

1

Да, вы правы. Если ваш backup_finish_date равен null означает, что он никогда не был скопирован. Однако msdb..backupset может быть изменен/закален. Вы можете проверить последнюю резервную копию базы данных с типом резервного копирования.

SELECT d.name, 
     d.recovery_model_desc, 
     b.type, -- type of backup 
     MAX(b.backup_finish_date) AS backup_finish_date 
FROM  master.sys.databases d 
     LEFT OUTER JOIN msdb..backupset b 
     ON  b.database_name = d.name 
GROUP BY d.name, d.recovery_model_desc, b.type 
ORDER BY backup_finish_date DESC 

type Can be: 
D = Database OR Full 
I = Differential database 
L = Log 
F = File or filegroup 
G =Differential file 
P = Partial 
Q = Differential partial 
Can be NULL. 

См MSDN

+0

Спасибо. Я пытаюсь посмотреть, можно ли восстановить таблицу, которую я сбросил. Я предполагаю, что нет? Как только журналы транзакций были усечены, сохраняются ли файлы журналов? –

+0

У вас должна быть резервная копия, доступная для восстановления упавшей таблицы. – p2k

 Смежные вопросы

  • Нет связанных вопросов^_^