在线求救 SQL2008数据库成为紧急模式怎么恢复

aifanwen 2019-08-22 06:28:04
求大神指点,参考网上的方法,从置疑变成紧急状态了,第3步执行命令就执行不了了



    sqlserver2008数据库可疑文件的修复方式:
1.设置数据库状态,脚本:EXEC sp_resetstatus 'eisdoc'
2.设置数据库为紧急模式,脚本:ALTER DATABASE eisdoc SET EMERGENCY
3.设置数据库为单用户模式(对数据库检查修复只能在单用户模式下),脚本:ALTER DATABASE eisdoc SET SINGLE_USER
4.检查并修复数据库,会提示你修复数据库可能丢失数据,正常应该不会丢失数据库数据,但是数据库日志的完整性将受到破坏,脚本:DBCC CheckDB (eisdoc, REPAIR_ALLOW_DATA_LOSS)
5.恢复数据库为多用户模式,脚本:ALTER DATABASE eisdoc SET MULTI_USER
-- 恢复数据库状态
ALTER DATABASE dbName SET ONLINE
以上五步即可修复sqlserver2008中的可疑文件
...全文
3085 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
卖水果的net 2019-08-23
  • 打赏
  • 举报
回复
这个数据库,当前的日志文件是不是很大? 如果是的话,处理起来是要慢一些的。 我这里处理过一下 80G 的日志,最多等待 6 个小时。
ceozenliu 2019-08-22
  • 打赏
  • 举报
回复
ALTER DATABASE eisdoc SET SINGLE_USER with rollback immediate
文盲老顾 2019-08-22
  • 打赏
  • 举报
回复
引用 5 楼 唐先生℡¹⁵⁸⁸⁴⁸⁴⁸³⁸³ 的回复:
请教一下:我1.3G的数据库,执行上面五个步奏,在改单用户那里已经执行了一个小时了,正常吗??请大神指教一下!!!另外:我没有停止sql服务的!(新手小白学习修复数据库,谢谢)
感觉不正常,应该是几秒钟就改成单用户模式了,时间过长的话,查查有没有死锁什么的
tomkey_128 2019-08-22
  • 打赏
  • 举报
回复
请教一下:我1.3G的数据库,执行上面五个步奏,在改单用户那里已经执行了一个小时了,正常吗??请大神指教一下!!!另外:我没有停止sql服务的!(新手小白学习修复数据库,谢谢)
Wujt673842 2022-03-08
  • 举报
回复
@tomkey_128 我和你遇到一样的问题 请问解决了吗 可否教下如何解决
吉普赛的歌 2019-08-22
  • 打赏
  • 举报
回复
在系统比较忙的情况下, 无法kill连接是很正常的事情。
所以要转变方式 。

https://blog.csdn.net/yenange/article/details/51223463

按这个, 100% 可以保证你能进入到单用户,进入到单用户, 随便你操作, 操作完了再改回就是了。

文盲老顾 2019-08-22
  • 打赏
  • 举报
回复
我之前就是不小心弄崩了数据库,改成单用户后改不回来了,因为数据库里有不少触发器、队列,所以回复起来很麻烦 如果能直接本地操作就先断网,然后关闭sql agent,然后重启sqlserver服务,这个最直接 至于批量kill,反正我是不成功的,也不知道到底是什么东西造成spid小于50的线程占用了连接,而spid小于50的,无法kill
文盲老顾 2019-08-22
  • 打赏
  • 举报
回复
如果是线上正在使用的数据库,断开网络连接再弄,否则,你就要不停的重启数据库服务,以碰撞你的指令能独占这个链接
二月十六 2019-08-22
  • 打赏
  • 举报
回复

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧