1. ホーム
  2. c#

[解決済み] 現在使用中のため、データベースを削除できない

2022-03-02 02:52:52

質問

データベースを削除したい。以下のコードを使用しましたが、効果がありません。

public void DropDataBase(string DBName,SqlConnection scon)
{
    try
    {
        SqlConnection.ClearAllPools();
        SqlCommand cmd = new SqlCommand("ALTER DATABASE " + DBName + "     SET SINGLE_USER     WITH ROLLBACK IMMEDIATE", scon);
        cmd.CommandType = CommandType.Text;
        scon.Open();
        cmd.ExecuteNonQuery();
        scon.Close();

        SqlCommand cmddrpdb = new SqlCommand("drop database " + DBName + "", scon);
        cmddrpdb.CommandType = CommandType.Text;
        scon.Open();
        cmddrpdb.ExecuteNonQuery();
        scon.Close();
    }
    catch (Exception ex)
    {
        MessageBox.Show("DropDataBase : " +ex.Message);
    }
}

次のようなエラーが発生します。 現在使用中であるため、データベースを削除できません . 上記の問題で私を助けてください。

解決方法は?

誰かがデータベースに接続している。別のデータベースに切り替えてから、削除してください。

試す

SP_WHO をクリックすると、接続者を確認できます。

KILL 必要であれば