企业管理器--右键suspect的数据库--所有任务--分离数据库 然后备份你的suspect数据库的文件,再按下面的步骤处理: 1.新建一个同名的数据库 2.再停掉sql server 3.用suspect数据库的文件覆盖掉这个新建的同名数据库 4.再重启sql server 5.此时打开企业管理器时新建的同名数据库会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) USE MASTER GO SP
误区 #27:使用BACKUP … WITH CHECKSUM可以替代DBCC CheckDB错误 乍一看,由于BACKUP WITH CHECKSUM会检测所有分配出去的页的校验和的值,这个误区貌似是这么回事,但实际上并不是这么回事,原因如下: 由SQL Server 2000或是更早版本升上来的数据库page checksums必须开启,在开启后,并不是数据库中所有的页都会被叫上页校验和,当页损坏发生时,IO系统可不会区分损坏的页是有页校验和还是没有校验和的。所以使用BACKUP
误区 #2: DBCC CHECKDB会引起阻塞,因为这个命令默认会加锁
这是错误的!
在SQL Server 7.0以及之前的版本中,DBCC CHECKDB命令的本质是C语言实现的一个不断嵌套循环的代码并对表加表锁(循环嵌套算法时间复杂度是嵌套次数的N次方,作为程序员的你懂得),这种方式并不和谐,并且…..
在SQL Server 2000时代,一个叫Steve Lindell的哥们(现在仍然在SQL Server Team)使用分析事务日志的方法来检查数据库的一致性的方式重