有时需要强制断开sql server数据库已有的连接,可以通过如下的t-sql解决...
有时需要强制断开sql server数据库已有的连接,可以通过如下的t-sql解决:
复制代码 代码如下:
declare @i int declare cur cursor for select spid from sysprocesses where db_name(dbid)= 'Your_Database_Name' open cur fetch next from cur into @i while @@fetch_status=0 begin exec('kill '+@i) fetch next from cur into @i end close cur deallocate cur
为了方便,可以把这条sql写到建库的批处理脚本里,放在脚本的开始:
复制代码 代码如下:
:: Disconnect existing Fortune database connections
osql -S"%1" -U"%2" -P"%3" -Q"declare @i int declare cur cursor for select spid from sysprocesses where db_name(dbid)= ' Your_Database_Name ' open cur fetch next from cur into @i while @@fetch_status=0 begin exec('kill '+@i) fetch next from cur into @i end close cur deallocate cur"
osql -S"%1" -U"%2" -P"%3" -Q"declare @i int declare cur cursor for select spid from sysprocesses where db_name(dbid)= ' Your_Database_Name ' open cur fetch next from cur into @i while @@fetch_status=0 begin exec('kill '+@i) fetch next from cur into @i end close cur deallocate cur"
另外,分离数据库时,选择切断所有的连接,也是一种办法。
本文介绍了一种通过 T-SQL 脚本强制断开 SQL Server 数据库现有连接的方法。该方法使用游标遍历并杀死所有指定数据库的活动会话。
767

被折叠的 条评论
为什么被折叠?



