zoukankan      html  css  js  c++  java
  • SQL SERVER 获取当前服务器数据库备份信息

         在SQL SERVER 获取当前服务器数据库备份信息,包括数据库名称,备份类型,恢复模式,时间等。 执行下面T-SQL:

    --Last Full, Diff, and Log backup taken with recovery model
    --Get the most recent Full backup taken 
    
    SELECT T1.Name AS DatabaseName, 
     Isnull(Max(T2.recovery_model), 'No Backup Taken') AS recovery_model, 
     'Full' AS BackupType, 
     Isnull(CONVERT(VARCHAR(23), CONVERT(DATETIME, Max(T2.backup_finish_date), 131)), '') AS LastBackUpTaken 
    FROM sys.sysdatabases T1 
     LEFT OUTER JOIN msdb.dbo.backupset T2 
     ON T2.database_name = T1.name 
    WHERE type = 'D' 
    GROUP BY T1.Name 
    
    --Get the most recent Diff backup taken 
    UNION ALL 
    SELECT T1.Name AS DatabaseName, 
     Isnull(Max(T2.recovery_model), 'No Backup Taken') AS recovery_model, 
     'Differential' AS BackupType, 
     Isnull(CONVERT(VARCHAR(23), CONVERT(DATETIME, Max(T2.backup_finish_date), 131)), '') AS LastBackUpTaken 
    FROM sys.sysdatabases T1 
     LEFT OUTER JOIN msdb.dbo.backupset T2 
     ON T2.database_name = T1.name 
    WHERE type = 'I' 
    GROUP BY T1.Name 
    
    --Get the most recent Log backup taken 
    UNION ALL 
    SELECT T1.Name AS DatabaseName, 
     Isnull(Max(T2.recovery_model), 'No Backup Taken') AS recovery_model, 
     'Log' AS BackupType, 
     Isnull(CONVERT(VARCHAR(23), CONVERT(DATETIME, Max(T2.backup_finish_date), 131)), '') AS LastBackUpTaken 
    FROM sys.sysdatabases T1 
     LEFT OUTER JOIN msdb.dbo.backupset T2 
     ON T2.database_name = T1.name 
    WHERE type = 'L' 
    GROUP BY T1.Name 
    
    --Get the databases with no backup yet taken 
    UNION ALL 
    SELECT T1.Name AS DatabaseName, 
     Isnull(Max(T2.recovery_model), 'No Backup Taken') AS recovery_model, 
     'No Backup' AS BackupType, 
     Isnull(CONVERT(VARCHAR(23), CONVERT(DATETIME, Max(T2.backup_finish_date), 131)), '') AS LastBackUpTaken 
    FROM sys.sysdatabases T1 
     LEFT OUTER JOIN msdb.dbo.backupset T2 
     ON T2.database_name = T1.name 
    WHERE type IS NULL 
    GROUP BY T1.Name 
    
    --Sort the combined results
    ORDER BY T1.name, 
     BackupType 


    下面以SQL SERVER 2008 R2 环境下,输出的示例结果集是:

    DatabaseName

    recovery_model

    BackupType

    LastBackUpTaken

    AdventureWorks

    No Backup Taken

    No Backup

     

    AdventureWorks2008R2

    No Backup Taken

    No Backup

     

    ef4prs

    FULL

    Full

    May 28 2012 4:49PM

    master

    No Backup Taken

    No Backup

     

    model

    No Backup Taken

    No Backup

     

    msdb

    No Backup Taken

    No Backup

     

    OneDir

    FULL

    Differential

    May 28 2012 4:50PM

    OneDir

    FULL

    Full

    May 28 2012 4:50PM

    ReportServer

    No Backup Taken

    No Backup

     

    ReportServerTempDB

    No Backup Taken

    No Backup

     

    tempdb

    No Backup Taken

    No Backup

     

    TestDb

    No Backup Taken

    No Backup

     

    希望对您数据库开发有帮助。

    您可能感兴趣的文章:

    实用T-SQL之生成当前索引数据库中的外键上

    SQL Server简洁查询正在运行的进程

    SQLSERVER2008中CTE的Split与CLR的性能比较



    作者:Petter Liu
    出处:http://www.cnblogs.com/wintersun/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    该文章也同时发布在我的独立博客中-Petter Liu Blog

  • 相关阅读:
    菜鸟学JS(一)——上传图片之上传前预览图片
    菜鸟学JS(二)——上传图片之上传后查看大图
    FTP文件操作之下载文件
    FTP文件操作之删除文件
    上传图片之上传前判断文件格式与大小
    FTP文件操作之上传文件
    ASP.NET中的几种弹出框提示
    dbo.fn_trace_gettable
    Blocked Process Report
    extended property
  • 原文地址:https://www.cnblogs.com/wintersun/p/2521646.html
Copyright © 2011-2022 走看看