SQL Server误区30日谈 第2天 DBCC CHECKDB会导致阻塞
误区 #2: DBCC CHECKDB会引起阻塞,因为这个命令默认会加锁这是错误的!在SQL Server 7.0以及之前的版本中,DBCC CHECKDB命令的本质是C语言实现的一个不断嵌套循环的代码并对表加表锁(循环嵌套算法时间复杂度是嵌套次数的N次方,作为程序员的你懂得),这种方式并不和谐,并
误区 #2: DBCC CHECKDB会引起阻塞,因为这个命令默认会加锁这是错误的!在SQL Server 7.0以及之前的版本中,DBCC CHECKDB命令的本质是C语言实现的一个不断嵌套循环的代码并对表加表锁(循环嵌套算法时间复杂度是嵌套次数的N次方,作为程序员的你懂得),这种方式并不和谐,并
误区 #27:使用BACKUP ... WITH CHECKSUM可以替代DBCC CheckDB错误乍一看,由于BACKUP WITH CHECKSUM会检测所有分配出去的页的校验和的值,这个误区貌似是这么回事,但实际上并不是这么回事,原因如下:由SQL Server 2000或是更早版本升上来的
1. DBCC CHECKDB 重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。 use master declare @databasename varchar(255) set @databasename='
如数据库名为:FreeHost 首先是设置为单用户模式,然后修复,最后是恢复多用户模式。 ALTER DATABASE [FreeHost] SET SINGLE_USER GO DBCC CHECKDB('FreeHost',repair_allow_data_loss) WITH TABLOCK