distribution系统数据库被质疑解决方法,试着恢复,如若不能就重建分发服务器。

1、这是网上搜索的办法,但是最后没能成功。
USE   MASTER   
GO   
SP_CONFIGURE ' ALLOW UPDATES ',1
GO
RECONFIGURE WITH OVERRIDE   
GO   
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME=' 置疑的数据库名 '   
Go   
sp_dboption ' 置疑的数据库名 ',' single  user ',' true '   
Go   
DBCC CHECKDB(' 置疑的数据库名 ')     
Go   
update sysdatabases set status=28 where name=' 置疑的数据库名 '   
Go   
sp_configure ' allow updates ',0
GO
reconfigure with override   
Go     
sp_dboption ' 置疑的数据库名 ', ' single  user ',' false '   
Go  

2、先试着删除数据库,失败则kill进程,然后再执行恢复

drop database 数据库名  ----删除数据库

sp_who  -----查看当前进程
go

kill进程ID  ----删除进程, 如若提示一直处于回滚状态。

dbcc  inputbuffer(ID)  查看回滚事务数据

如果能成功kill进程,则执行接下来的步骤

alter database 数据库名  set single_user
go
或 alter database 数据库名  set single_user with rollback   imdelete
go  
dbcc checkDB(‘数据库名’,repair_allow_data_loss)
go
update sysdatabases set status=28 where name=' 置疑的数据库名 '   
Go   
sp_configure ' allow updates ',0
GO
reconfigure with override   
Go     
sp_dboption ' 置疑的数据库名 ', ' single  user ',' false '   
Go  
------------------------------如果还是不能成功,就只能重建一个发布数据库
重建步骤:新建发布——根据提示重建分发服务器,把distribution数据库重新命名,不能重复(如:distribution1或distribution2),然后重新发布订阅即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值