Sql Server強制的にデータベースの接続を切断する方法があります。


ライブラリスクリプトを実行する時、既存のデータベースdropを削除することがよくあります。Sql Serverはデータ接続があることを検出した時、drop database操作を禁止します。だから、ライブラリスクリプトはよく失敗します。データベースの既存の接続を強制的に切断する方法が必要です。次のようにすることができます。
 
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をライブラリのバッチ処理スクリプトに書いて、スクリプトの開始に置いてもいいです。