错误"因为数据库正在使用,所以无法获得对数据库的独占访问权"的解决方案
今天在还原数据库的时候,提示"因为数据库正在使用,所以无法获得对数据库的独占访问权",无论我是重启数据库,还是重启计算机,都不能解决问题,多番尝试后,终于解决了该问题。现将引发该问题的原因与解决方案写出来,有不对的地方欢迎大家提出来。
引发原因:是因为我在还原数据库的时候,还有其他的用户正在使用数据库,所以就会出现以上提示。
解决办法有三种:
第一种:利用游标循环所有正在使用该数据库的进程,并通过kill命令杀死进程。
declare @dbname varchar(50)
set @dbname='数据库名称'
declare @sql varchar(50)
declare cs_result cursor local for select 'kill '+cast(spid as varchar(50)) from sys.sysprocesses where db_name(dbid)=@dbname 
open cs_result
fetch next from cs_result into @sql
while @@fetch_status=0
begin
    execute(@sql)
    fetch next from cs_result into @sql
end
close cs_result
deallocate cs_result
注意:不要在需要的还原的数据库下执行,建议在master数据库下面执行
第二种:利用SQL语句,断开所有用户链接,并回滚所有事务
ALTER DATABASE [数据库名称] 
SET OFFLINE WITH ROLLBACK IMMEDIATE
注意:不要在需要的还原的数据库下执行,建议在master数据库下面执行
第三种:设置数据库在单用户模式下工作
在需要还原的数据库上右击,在右键菜单命令上选择"属性"- >"选项"- >"状态"- >"限制访问"- >"Single"。这是SQLSERVER2005的菜单命令,其它版本请自己查找
错误"因为数据库正在使用,所以无法获得对数据库的独占访问权"的解决方案的更多相关文章
- (转)错误"因为数据库正在使用,所以无法获得对数据库的独占访问权"的解决方案
		引发原因:是因为我在还原数据库的时候,还有其他的用户正在使用数据库,所以就会出现以上提示. 解决方法:1,设置数据库在单用户模式下工作.设置方法:在需要还原的数据库上右击,在右键菜单命令上选择&quo ... 
- sql2000   (附加数据库)错误9003:LSN(434:94:1)无效和数据库置疑处理
		由于工作需要更换公司的服务器,于是经过一堆的动作,转移网页,转移数据……正当一切都有序进行,却卡在数据库这里,一般为了方便我对数据库的备份都是复制数据库文件的,再通过附加方法实现的,今天由于发现数据库 ... 
- sql2005数据库置疑修复断电崩溃索引损坏  数据库索引错误修复/数据库表损坏/索引损坏/系统表混乱等问题修复
		sql2005数据库置疑修复断电崩溃索引损坏 数据库索引错误修复/数据库表损坏/索引损坏/系统表混乱等问题修复 客 户 名 称 济南某电子商务公司 数 据 类 型 SQL2005数据库 故 障 检 测 ... 
- Reporting Service 2008 “报表服务器数据库内出错。此错误可能是因连接失败、超时或数据库中磁盘空间不足而导致的”
		今天遇到了两个关于Reporting Service的问题, 出现问题的环境为Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0 (X64) .具体情况 ... 
- 文献名:Repeat-Preserving Decoy Database for False Discovery Rate Estimation in Peptide Identication (用于肽段鉴定中错误发生率估计的能体现重复性的诱饵数据库)
		文献名:Repeat-Preserving Decoy Database for False Discovery Rate Estimation in Peptide Identication (用于 ... 
- [SQL]复制数据库某一个表到另一个数据库中
		SQL:复制数据库某一个表到另一个数据库中 SELECT * INTO 表1 FROM 表2 --复制表2如果只复制结构而不复制内容或只复制某一列只要加WHERE条件就好了 例子:SELECT * I ... 
- MySQL数据库的优化(下)MySQL数据库的高可用架构方案
		MySQL数据库的优化(下)MySQL数据库的高可用架构方案 2011-03-09 08:53 抚琴煮酒 51CTO 字号:T | T 在上一篇MySQL数据库的优化中,我们跟随笔者学习了单机MySQ ... 
- Oracle数据库名、实例名、数据库域名、数据库服务名、全局数据库名的辨析
		我也是看着各位大婶的博客然后一点点的来学习,不求全会,留个印象 数据库名 数据库名就是一个数据库的标识,用参数DB_NAME表示. 如果一台机器上安装了多个数据库,那么每一个数据库都有一个数据库名. ... 
- mssql server 2005还原数据库bak文件与“备份集中的数据库备份与现有的xx数据库不同”解决方法
		mssql server 2005还原数据库bak文件,网站使用虚拟主机建站会经常遇到,一般情况下,主机商有在线的管理程序,但有时候没有的话,就需要本地还原备份sql数据库了.这种情况mssql se ... 
随机推荐
- 【英语】Bingo口语笔记(46) - 不可能的表达
- JBPM4入门——7.等待节点的单条线手动执行
			本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ... 
- 高新服务平台在SUSE系统上重新部署笔录
			安装步骤 ./shutdown.sh 停止tomcat (1) 删除 zjgx 目录下 除bbs 和Demos所有目录和文件 (2)上传zjgx0519.zip 到zjgx目录下 (3)unz ... 
- 简单的聊天程序,主要用到的是Socket
			服务端: import java.io.*; import java.net.*; import java.util.*; public class ChatServer { boolean stat ... 
- 常用的Oracle数据库语句 (待更新完毕)
			一.常用的查询语句 1.1 常用查询 查表中有多少个字段 select count(*) from user_tab_columns where table_name=upper('表名') 或者 s ... 
- T-SQL:SQL Server-数据开发(经典)
			ylbtech-SQL Server-Doc-Help:SQL Server-数据开发(经典) SQL Server 数据开发(经典). 1,数据开发(经典) 返回顶部 1.按姓氏笔画排序: Sele ... 
- delphi  TeeChart保存3种图片文件
			var vForm: Tfrm_ChemaShowMainChild;begin vForm := GetActiveForm; vForm.cht_Edit.SaveToMetafile('C:\1 ... 
- unity3d Human skin real time rendering 真实模拟人皮实时渲染(转)
			先放出结果图片...由于网上下的模型是拼的,所以眼皮,脸颊,嘴唇看起来像 存在裂痕,解决方式是加入曲面细分和置换贴图 进行一定隆起,但是博主试了一下fragment shader的曲面细分,虽然细分成 ... 
- OPENGL学习笔记整理(五):着色语言
			有些事情本身就是十分奇怪的.在传统上,图形硬件的设计目的是用于快速执行相同的硬编译指令集.不同的计算步骤可以被跳过,参数可以被调整,但计算本身确实固定不变的.然而,随着技术的发展,却越来越变得可以编程 ... 
- SQL存儲過程的調試方法
			1.在vs2010调试存储过程步骤如下:(要點:連接登陸賬號的權限必須是管理員,才能單步調試,否則只能直接執行存儲過程:[因此,此方式適合數據庫和vs裝在同一台電腦上]) 1.1首先,打开vs,点击 ... 
