use test go ALTER DATABASE test SET SINGLE_USER DBCC CHECKDB (test, repair_allow_data_loss) with NO_INFOMSGS go ALTER DATABASE test SET MULTI_USER go 对于单个数据库报错了,运行这个修复不行.后来我在tempdb运行才可以. dbcc checkdb('tempdb') 其实开始的时候还有另一个错误: 尝试在数据库 5 中提取逻辑页 (1:1640)…
首先创建一个标量值函数DigLock,用来递归检测SqlServer中的每一个会话是否存在加锁循环,如果该函数最终返回1则表示检测到了加锁循环 (也就是说检测到了死锁),如果最终返回0则表示没有检测到加锁循环. CREATE FUNCTION [dbo].[DigLock] ( @spid int, @orginSpid int ) RETURNS bit AS BEGIN declare @blockedSpid int=null; and blocked=@spid if @blockedS…
select '['+title_a+','+title_b +']' from A for xml path('') SELECT *, (select '['+title_a+','+title_b +']' from A where A.t_id=B.t_id for xml path('')) FROM B…
SQL Server 对数据库损坏的错误类型做了细化,在此对几个典型的错误作一下介绍. 错误信息是:“在文件 '%ls'中.偏移量为 %#016I64x 的位置执行 %S_MSG 期间,操作系统已经向 SQL Server 返回了错误 %ls.” “The operating systemreturned error %ls to SQL Server during a %S_MSGat offset %#016I64x in file '%ls'.” 例如: Msg 823, Level 24…