sqlserver数据库没有独占,不能还原

1.查询要还原的数据库ID

Select * from master..sysdatabases where name = 'dbdelibao' 

2.获取该数据库的进程

Select * from sys.sysprocesses a where a.dbid = '7';

3.杀掉连接在上面的进程

Kill 55

kill 56

kill 57

此时去还原一般就可以了。但是今天的问题比较麻烦一点,删完进程马上有新的进程连进来,导致一直失败。分析了下,是还有应用程序一直尝试连进来的。一开始想到的办法是暂时断掉与应用的网络,后来想到另一个更简单的办法,使用数据库的单用户模式。尝试了下,可以在单用户下还原。
设置方式:选中要还原的数据库-->属性-->选项-->限制访问
该值从MULTI_USER修改为SINGLE_USER,此时该数据库就会显示为单用户模式
这是GUI的模式,语句的办法比较简单
USE MASTER
GO
ALTER DATABASE eol_tcgroup SET SINGLE_USER WITH ROLLBACK IMMEDIATE;   
GO
当然了,设置单用户数据库必须要超级用户

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值