社区
疑难问题
帖子详情
用DBCC CHECKDB('dbddss', REPAIR_ALLOW_DATA_LOSS)做数据库修复,已经过了2个小时还没有完成?!
ysotn
2010-07-14 03:20:02
问一下大侠这个是什么问题,还要等下去吗,还是这个数据没办法修复了.
以前做这个修复也是很快的啊,一会就好了.
数据库大小1G
DBCC CHECKDB()检查发现了30个分配错误和160个一致性错误
...全文
1075
3
打赏
收藏
用DBCC CHECKDB('dbddss', REPAIR_ALLOW_DATA_LOSS)做数据库修复,已经过了2个小时还没有完成?!
问一下大侠这个是什么问题,还要等下去吗,还是这个数据没办法修复了. 以前做这个修复也是很快的啊,一会就好了. 数据库大小1G DBCC CHECKDB()检查发现了30个分配错误和160个一致性错误
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
永生天地
2010-07-14
打赏
举报
回复
服务重起,设置单用户再dbcc
sp_dboption 'TEST','single user','true'
Mr_Nice
2010-07-14
打赏
举报
回复
联机丛书中的注释
如果 DBCC CHECKDB 报告了任何错误,建议从数据库备份还原数据库,而不运行具有一个 REPAIR 选项的 REPAIR。如果不存在备份,则运行修复将更正报告的错误。要使用的修复选项在报告的错误的末尾处指定。但是,通过使用 REPAIR_ALLOW_DATA_LOSS 选项更正错误可能需要删除某些页以及数据。
Garnett_KG
2010-07-14
打赏
举报
回复
sp_lock 看看执行dbcc checkdb的连接在等待什么?
SQL
数据库
置疑解决方法
方法一: 请根据实际情况修改db_name 1、在SQL查询分析器中执行以下命令,以允许更新系统表: use master go sp_configure 'allow updates',1 reconfigure with override go 2 将这个
数据库
置为紧急模式: update sysdatabases set status = 32768 where name = 'db_name' go 3. 使用
DBCC
CHECKDB
命令检查
数据库
中的错误:
DBCC
CHECKDB
(‘db_name') GO 4. 先将
数据库
置为单用户模式,再尝试对其进行
修复
: sp_dboption 'db_name','single user','true'
DBCC
CHECKDB
(‘db_name',
REPAIR_ALLOW_DATA_LOSS
) GO 如果在执行
DBCC
CHECKDB
(‘db_name',
REPAIR_ALLOW_DATA_LOSS
)命令时提示说
数据库
未处于单用户模式状态的话,则重新启动SQL Server服务,然后继续尝试。 5、若成功
修复
了
数据库
中的错误: 重新执行
DBCC
CHECKDB
(‘db_name')命令,确认
数据库
中已没有错误存在。 清除
数据库
的置疑状态:sp_resetstatus 'db_name' 清除
数据库
的单用户模式状态:sp_dboption 'db_name','single user','false' 重新启动SQL Server服务,如果一切正常的话,则
数据库
已经成功恢复。 6、修改
数据库
的标志 update sysdatabases set status=28 where name =''db_name'( 'db_name'表示相应的
数据库
名字)
在
数据库
'czbt2' 中检测到一个可能的
数据库
一致性问题
--把
数据库
置为单用户模式 sp_dboption '
数据库
名', 'single user', 'true' --在允许数据丢失情况下
修复
数据库
。如果
DBCC
checkdb
('
数据库
名',REPAIR_A LLOW_DATA_LOSS)语句执行一次不行,可以在多执行几次直到没有再提示
数据库
有错误为止。
DBCC
checkdb
('
数据库
名',
REPAIR_ALLOW_DATA_LOSS
) --设置为多用户模式 sp_dboption '
数据库
名', 'single user', 'false'
数库存置疑
修复
工具
DBCC
CHECKDB
('
数据库
名称') --i.要
修复
数据库
必需将
数据库
改为单用户模式: Exec sp_dboption '
数据库
名称','single user','true'---('true'单用户) --j.执行以下语句
修复
数据库
:
DBCC
CHECKDB
('
数据库
名称',REPAIR)
DBCC
CHECKDB
('
数据库
名称',
REPAIR_ALLOW_DATA_LOSS
)
REPAIR_ALLOW_DATA_LOSS
:是比较高级的
修复
方式 Exec sp_dboption '
数据库
名称','single user','false' ---('false'恢复多用户)
SQLServer 数据
修复
命令
DBCC
一览
1.
DBCC
CHECKDB
重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行
数据库
的
修复
,
修复
数据库
存在的一致性错误与分配错误。 use master declare @databasename varchar(255) set @databasename=’需要
修复
的
数据库
实体的名称’ exec sp_dboption @databasename, N’single’, N’true’ –将目标
数据库
置为单用户状态
dbcc
checkdb
(@databasename,
REPAIR_ALLOW_DATA_LOSS
)
dbcc
checkdb
(@data
修复
断电等损坏的SQL
数据库
如
数据库
名为:FreeHost 首先是设置为单用户模式,然后
修复
,最后是恢复多用户模式。 ALTER DATABASE [FreeHost] SET SINGLE_USER GO
DBCC
CHECKDB
(‘FreeHost’,
repair_allow_data_loss
) WITH TABLOCK GO ALTER DATABASE [FreeHost] SET MULTI_USER GO –
CHECKDB
有3个参数: –
REPAIR_ALLOW_DATA_LOSS
– 执行由 REPAIR_REBUILD
完成
的所有
修复
,包括对行和页进行分配和取消分配以改正分配错误、结构行或页的错误,以
疑难问题
22,210
社区成员
121,726
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章