SQLSERVER不重启服务,怎么断开数据连接?

时间:14-09-25 栏目:综合, 网络 作者:烟雨网 评论:0 点击: 2,002 次

SQLSERVER不重启服务,怎么断开数据连接?有三种方法可以做到,其中使用命令有两种方法,也就是利用SQL语句,杀死正在使用该数据库的所有进程。
1. 这个比较长,但最有效

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

2.利用SQL语句,断开所有用户链接,并回滚所有事务,具体SQL语句如下:

ALTER DATABASE [数据库名]
SET OFFLINE WITH ROLLBACK IMMEDIATE

注意:在使用这两种方法时,不要在需要的还原的数据库下执行,建议在master数据库下面执行。我用第二种方法比较多。

还有一种就是直接通过界面交互改成单用户模式:在需要还原的数据库上右击,在右键菜单命令上选择"属性"- >"选项"- >"状态"- >"限制访问"- >"Single"。大概就是这样,各个版本可能稍有差别。

声明: 本文由( 烟雨网 )原创编译,转载请保留链接: SQLSERVER不重启服务,怎么断开数据连接?

SQLSERVER不重启服务,怎么断开数据连接?:等您坐沙发呢!

发表评论

您必须 [ 登录 ] 才能发表留言!