2010-09-25 7 views
13

मैं सभी डेटाबेस (SQL Server 2008 इंस्टेंस में) दिनांक के लिए क्वेरी करना चाहता हूं जब अंतिम लेनदेन लॉग बैकअप लिया गया था। उसको कैसे करे? मुझे पता है कि यह जानकारी कहीं है, लेकिन मुझे नहीं पता कि कहां है।SQL सर्वर: आखिरी लेनदेन लॉग बैकअप लेने पर क्वेरी कैसे करें?

उत्तर

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

मैं इस संशोधित स्क्रिप्ट का उपयोग कर आप देख सकते हैं कि BD पूर्ण या BULK_LOGGED और नहीं किसी भी लॉग बैकअप होने में है सलाह देते हैं।

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 DES 
+0

इस कथन के आउटपुट को देखते हुए, मुझे बैकअप_फिनिश_डेट के लिए न्यूल दिखाई देता है ... इसका क्या अर्थ है? http://stackoverflow.com/questions/40050221/sql-server-what-exactly-is-the-backup-finish-date-in-master-sys-databases –

संबंधित मुद्दे