SqlServer强制断开数据库已有连接的方法

在执行建库脚本时,往往会先将原有的数据库drop掉,由于SqlServer检测到有数据连接时禁止执行drop
database操作,所以建库脚本经常执行失败,为此我们需要一种能强制断开数据库已有连接的方法,可以过如下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”

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章