怎么自动判数据库损坏【质疑,不能使用等】,并且把损坏的数据库备份,在通过以前备份的数据在还原
各位:
我现在的问题是,怎么自动判断数据库损坏,最有效的方法,DBCC CheckDB花费的时间较长,有没有好的方法来判断数据库不能使用,质疑,等不能写数据的情况。
------解决方案--------------------同问,我们现在都是被动的通过判断软件是否正常访问实现的,如果不能访问就做报警
------解决方案--------------------一般情况下是用DBCC CHECKDB去看看有没有损坏的,不过时间相对较长,关注,有没有效率更高的办法
------解决方案--------------------DBCC CheckDB是我目前见到的最合理,最准确的办法。
------解决方案--------------------就算是第三方工具,估计也是调用这些,DBCC CHECKDB 有with physical_only选项,可以用,但是即使是徐海蔚的书,也没有其他方案
------解决方案--------------------这个dbcc checkdb是好办法。
我觉得从方法来看,也就是dbcc checkdb,关键的问题是提高dbcc checkdb的速度,
你可以用下面的命令,来加快速度,不过副作用是会加表锁:
DBCC CHECKDB(你的数据库) with TABLOCK
------解决方案--------------------
1)一般情况即使类似页面的损坏 你没有访问到这个页面也不会报错
2)可以将一些严重的错误 做成警报 发送邮件等通知作业员
------解决方案--------------------
楼上说的很完整了,查数据库的状态,MSDB的suspect_pages,还有一个就是查询SQL Server Error Log 比如823,824类似的错误。
------解决方案--------------------查看数据库状态.
select databasepropertyex('[数据库名]','Status')