表数据损坏,检查损坏表

sqlServer数据库库坏表的修复:
  1.将数据库设置为单用户模式
  exec sp_dboption ’库名’ ,’single_user’,’true’
  2.修复表
  dbcc CHECKTABLE(’表名’,REPAIR_ALLOW_DATA_LOSS)
  3.将数据库设置回多用户模式
  exec sp_dboption ’库名’ ,’single_user’,’false’



Net stop mssqlserver --停止服务


Net start mssqlserver --启动服务


/*****************检查损坏表****************/
DECLARE @table_name sysname
DECLARE ROY_table CURSOR FOR
SELECT name FROM sysobjects where xtype  in ('u','s')
OPEN ROY_table
FETCH NEXT FROM ROY_table INTO @table_name
WHILE @@FETCH_STATUS = 0 
BEGIN
PRINT '--------------数据表'+@table_name + '的检查整理------------------'
DBCC CheckTable (@table_name)
PRINT '--------------数据表'+@table_name + '的检查整理完成------------------'


FETCH NEXT FROM ROY_table INTO @table_name
END
CLOSE ROY_table
DEALLOCATE ROY_table

你可能感兴趣的:(学习笔记)