zoukankan      html  css  js  c++  java
  • sql sever获取数据库还原时间语句

    --只获取数据库名称和最后的还原时间

    SELECT sdb.Name AS DatabaseName ,
    COALESCE(CONVERT(VARCHAR(12), MAX(bus.backup_finish_date), 101), '-') AS LastBackUpTime
    FROM sys.sysdatabases sdb
    LEFT OUTER JOIN msdb.dbo.backupset bus ON bus.database_name = sdb.name
    GROUP BY sdb.Name

    --获取完整备份、差异备份、日志备份最后时间的语句

    方法一:

    SET NOCOUNT ON
    GO
    SET quoted_identifier OFF
    DECLARE @dbname AS VARCHAR(80)
    DECLARE @msgdb AS VARCHAR(100)
    DECLARE @dbbkpname AS VARCHAR(80)
    DECLARE @dypart1 AS VARCHAR(2)
    DECLARE @dypart2 AS VARCHAR(3)
    DECLARE @dypart3 AS VARCHAR(4)
    DECLARE @currentdate AS VARCHAR(10)
    DECLARE @server_name AS VARCHAR(30)
    SELECT @server_name = @@servername
    SELECT @dypart1 = DATEPART(dd,GETDATE())
    SELECT @dypart2 = DATENAME(mm,GETDATE())
    SELECT @dypart3 = DATEPART(yy,GETDATE())
    SELECT @currentdate= @dypart1 + @dypart2 + @dypart3
    PRINT "#####################################################################"
    PRINT "# SERVERNAME : "+ @server_name + " DATE : "+ @currentdate +"#"
    PRINT "#####################################################################"
    PRINT "DatabaseName Full Diff TranLog"
    PRINT "##########################################################################################################################################"
    SELECT SUBSTRING(s.name,1,50) AS 'DATABASE Name',
    b.backup_start_date AS 'Full DB Backup Status',
    c.backup_start_date AS 'Differential DB Backup Status',
    d.backup_start_date AS 'Transaction Log Backup Status'
    FROM MASTER..sysdatabases s
    LEFT OUTER JOIN msdb..backupset b
    ON s.name = b.database_name
    AND b.backup_start_date =
    (SELECT MAX(backup_start_date)AS 'Full DB Backup Status'
    FROM msdb..backupset
    WHERE database_name = b.database_name
    AND TYPE = 'D') -- full database backups only, not log backups
    LEFT OUTER JOIN msdb..backupset c
    ON s.name = c.database_name
    AND c.backup_start_date =
    (SELECT MAX(backup_start_date)'Differential DB Backup Status'
    FROM msdb..backupset
    WHERE database_name = c.database_name
    AND TYPE = 'I')
    LEFT OUTER JOIN msdb..backupset d
    ON s.name = d.database_name
    AND d.backup_start_date =
    (SELECT MAX(backup_start_date)'Transaction Log Backup Status'
    FROM msdb..backupset
    WHERE database_name = d.database_name
    AND TYPE = 'L')
    WHERE s.name <>'tempdb'
    ORDER BY s.name

    --方法二

    SELECT
    s.name
    , [Full DB Backup Status] = D
    , [Differential DB Backup Status] = I
    , [Transaction Log Backup Status] = L
    FROM sys.sysdatabases s
    LEFT JOIN (
    SELECT p.*
    FROM (
    SELECT [type], database_name, backup_start_date
    FROM msdb.dbo.backupset
    WHERE type IN ('L','I','D')
    ) t
    PIVOT (
    MAX(backup_start_date)
    FOR [type] IN ([L], [I], [D])
    ) p
    ) t ON s.name = t.database_name
    ORDER BY s.name
  • 相关阅读:
    Socket 的网络编程
    《Python 3.5从零开始学》笔记-第8章 面向对象编程
    Python 的8个关键要素
    分布式发布订阅模型网络的实现有哪些
    MongoDB知识整理
    C++模板类与Qt信号槽混用
    C++中 =default,=delete用法
    QT知识整理
    Python题整理
    STL库的应用
  • 原文地址:https://www.cnblogs.com/dingqin0525/p/3927922.html
Copyright © 2011-2022 走看看