您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-x中节点间的坐标系与节点大小问题

2013-12-25 22:26 267 查看
数据库是否成功备份是管理员最重要的工作,一般可以右键单击数据库,然后查看属性,在常规标签就能看到数据库最后一次备份的时间,如下图:





如果你有几十上百个数据库要管理,这样点来点去一天就过去了,通过查询msdb数据库里面的系统视图,我们可以用脚本跑出来:

USE msdb
go
SELECT
msdb.dbo.backupset.database_name ,
MAX(msdb.dbo.backupset.backup_finish_date) AS CData
-- , msdb.dbo.backupmediafamily.physical_device_name AS keb

FROM    msdb.dbo.backupmediafamily
INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id
WHERE   msdb..backupset.type = 'D'
AND database_name IN ( SELECT   NAME
FROM     sys.databases )

GROUP BY msdb.dbo.backupset.database_name
--,        msdb.dbo.backupmediafamily.physical_device_name
ORDER BY msdb.dbo.backupset.database_name


database_name CData

AdventureWorks 2010-07-26 15:23:26.000

你注意到代码中的第四行和第十五行被注释掉了,这是是我的环境中的特需需求。我的数据库每天有两个备份,分别由SQL SERVER和第三方备份软件完成,其中SQL SERVER的备份保留时间只有几天,而第三方备份软件备份数据需要保留3个月,我更关心第三方备份软件的情况,第四行和第十五行的内容会告诉你备份数据写到什么地方去了。下面是这两行没有注释的输出:





但是我还没能做到输出的结果包含这三列,而且第一列的值是唯一的,即同一个数据库只给出最后一次备份的时间和备份目标。请代码写的牛逼的哥们出手帮忙。(后面有个不完美的解决办法)

另外,这个代码结合数据库邮件和计划任务可以将备份结果每天定时发送到指定邮箱,这样一来就不用到服务器上执行脚本了,就像下面这样的。





UP


如果你的备份时间是可以预期的,即备份开始的时间和结束的时间能够控制在一个固定的范围内就可以用下面的代码:

USE msdb
go
SELECT  msdb.dbo.backupset.database_name ,
MAX(msdb.dbo.backupset.backup_finish_date) ,
msdb.dbo.backupmediafamily.physical_device_name
FROM    msdb.dbo.backupmediafamily
INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id
WHERE   msdb..backupset.type = 'D'
AND database_name IN ( SELECT   NAME
FROM     sys.databases )
AND msdb.dbo.backupset.backup_finish_date > DATEADD(day, -2, GETDATE())
GROUP BY msdb.dbo.backupset.database_name ,
msdb.dbo.backupmediafamily.physical_device_name
ORDER BY msdb.dbo.backupset.database_name

给msdb.dbo.backupset.backup_finish_date一个限制条件,如果你的备份窗口不会跨天,可以将DATEADD(day, -2, GETDATE())的-2改成-1,这样一来就变成了查询job执行时间前面一天的备份情况。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: