获得数据库的排它访问权
异常:使用SQL语句恢复备份数据库出现错误:因为数据库正在使用,所以未能获得对数据库的排它访问权。 RESTORE DATABASE 操作异常终止
解决方案:
查询分析器中,用下面的代码来处理
/* 断开所有用户打开的连接 */ USE master go IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[p_killspid]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1) DROP PROCEDURE [dbo].[p_killspid] GO CREATE PROC p_killspid @dbname sysname --要关闭进程的数据库名 AS DECLARE @s nvarchar(1000) DECLARE tb CURSOR LOCAL FOR SELECT s='kill '+CAST(spid AS VARCHAR) FROM master..sysprocesses WHERE dbid=db_id(@dbname) OPEN tb FETCH NEXT FROM tb INTO @s WHILE @@fetch_status=0 BEGIN EXEC (@s) FETCH NEXT FROM tb INTO @s END CLOSE tb DEALLOCATE tb GO --用法 EXEC p_killspid 'dbname'
Tag标签: SQL 管理 事务
- 1. 疑难杂症之分页问题2010-04-05
- 2. 身份证验证函数2010-04-04
- 3. 数据库主体在该数据库中拥有 架构,无法删除解决方法2010-02-03
- 4. 获得数据库的排它访问权2010-01-27
- 5. 不能通过HTTP管理数据库的原因之一及解决方法2009-11-16
- 6. sp_MSForEachTable和sp_MSForEachDB的使用方法2009-08-03
- 7. 取数据库所有表的记录数2009-06-19
- 8. SQL语句优化建议2009-05-13





