When executing the database creation script, the original database is often dropped first. Because sqlserver does not allow the execution of the drop database operation when detecting a data connection, the database creation script often fails to be executed, to solve this problem, we need a method to force the database to be disconnected from the existing database, which can be achieved through the following 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
We can write this SQL statement into the batch processing script of the database, and place it at the beginning of the script:
:: Disconnect existing fortune database connectionsosql-s "% 1"-U "% 2"-P "% 3"-Q "declare @ I int declare cur cursor for select spid from sysproceswhere ses 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"