Cannot drop database because it is currently in use

后端 未结 17 1488
北恋
北恋 2020-12-07 11:50

I want to drop a database. I have used the following code, but to no avail.

public void DropDataBase(string DBName,SqlConnection scon)
{
    try
    {
               


        
17条回答
  •  刺人心
    刺人心 (楼主)
    2020-12-07 12:31

    before dropping a database, you drop the connection to that database first.

    I have found a solution at http://www.kodyaz.com/articles/kill-all-processes-of-a-database.aspx

    DECLARE @DatabaseName nvarchar(50)
    SET @DatabaseName = N'YOUR_DABASE_NAME'
    
    DECLARE @SQL varchar(max)
    
    SELECT @SQL = COALESCE(@SQL,'') + 'Kill ' + Convert(varchar, SPId) + ';'
    FROM MASTER..SysProcesses
    WHERE DBId = DB_ID(@DatabaseName) AND SPId <> @@SPId
    
    --SELECT @SQL 
    EXEC(@SQL)
    

提交回复
热议问题