SqlServer强制断开数据库已有连接的方法
程序员文章站
2023-11-29 08:59:28
在执行建库脚本时,往往会先将原有的数据库drop掉,由于sqlserver检测到有数据连接时禁止执行drop database操作,所以建库脚本经常执行失败,为此我们需要一...
在执行建库脚本时,往往会先将原有的数据库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"
复制代码 代码如下:
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"
上一篇: 数据库性能优化三:程序操作优化提升性能
推荐阅读
-
SqlServer强制断开数据库已有连接的方法
-
Linux下php连接SQLServer 2000数据库的配置方法
-
Linux下php连接SQLServer 2000数据库的配置方法
-
快速断开当前数据库的所有连接的方法
-
php使用sql server验证连接数据库的方法,sqlserver
-
PHP6连接SQLServer2005的方法 如何学习数据库 数据库置疑修复工具 数据库文件修复
-
快速断开当前数据库的所有连接的方法
-
php连接sqlserver的方法 数据库开发软件 数据库基础学习 数据库修复
-
php使用sql server验证连接数据库的方法,sqlserver_PHP教程
-
php连接sqlserver的方法 数据库开发软件 数据库基础学习 数据库修复