还原数据库出错的处理
2008-03-11 16:30
183 查看
在还原数据库时,有时会提示因为数据库正在使用,所以无法获得对数据库的独占访问权!!
这时需要在还原数据库前先杀死正在使用数据库得线程.
如以下杀死正在使用'Calendar3'数据库的线程:
declare @dbname varchar(20)
set @dbname='Calendar3'
declare @sql nvarchar(500)
declare @spid int--SPID 值是当用户进行连接时指派给该连接的一个唯一的整数
set @sql='declare getspid cursor for
select spid from sysprocesses where dbid=db_id('''+@dbname+''')'
exec (@sql)
open getspid
fetch next from getspid into @spid
while @@fetch_status<>-1--如果FETCH 语句没有执行失败或此行不在结果集中。
begin
exec('kill '+@spid)--终止正常连接
fetch next from getspid into @spid
end
close getspid
deallocate getspid
这时需要在还原数据库前先杀死正在使用数据库得线程.
如以下杀死正在使用'Calendar3'数据库的线程:
declare @dbname varchar(20)
set @dbname='Calendar3'
declare @sql nvarchar(500)
declare @spid int--SPID 值是当用户进行连接时指派给该连接的一个唯一的整数
set @sql='declare getspid cursor for
select spid from sysprocesses where dbid=db_id('''+@dbname+''')'
exec (@sql)
open getspid
fetch next from getspid into @spid
while @@fetch_status<>-1--如果FETCH 语句没有执行失败或此行不在结果集中。
begin
exec('kill '+@spid)--终止正常连接
fetch next from getspid into @spid
end
close getspid
deallocate getspid
相关文章推荐
- 还原数据库时出错“无法处理数据库 ,因为它正由此会话使用”的解决方法
- 数据库备份与还原处理
- Sql 还原失败 之 “因为数据库正在使用,所以未能获得对数据库的排它访问权”的处理
- SQL SERVER还原数据库时"试图扩大物理文件时,MODIFY FILE 遇到操作系统错误 112(磁盘空间不足)"错误处理
- 数据库备份与还原处理
- ORA-65048:在可插入数据库PDBORCL中处理当前DDL语句时出错 ORA-00959:表空间‘LOCL_DATA’不存在
- 在现有数据库上还原时的数据文件处理示例.sql
- 数据库备份与还原处理
- (精)如何利用T_SQL实现数据库备份与还原处理之一--(如何利用sql语句,正确备份数据库)
- 还原数据库后,用户名出错,不能修改用户属性
- 数据库备份与还原处理
- 数据库备份与还原处理
- 还原数据库出错:”因为数据库正在使用,所以无法获得对数据库的独占访问权“的解决方案
- [导入]数据库备份与还原处理
- 还原数据库出错:”因为数据库正在使用,所以无法获得对数据库的独占访问权“的解决方案
- SQL还原数据库后孤立用户问题处理
- 数据库备份与还原处理
- 经典数据库备份与还原处理(转邹建)
- 数据库备份与还原处理 [转]
- 数据库备份与还原处理