How to Drop Database in SQL Server by Closing Existing Connections


July 19, 2012

Introduction

In this article we will take a look at how to Drop Database in SQL Server when the users are connected to a SQL Server Database. You may need to closing existing connections in a database before restoring the database, before detaching database, get database in SINGLE_USER mode etc.

If you try dropping a database when users are connected to the SQL Server Database you will receive the below mentioned error message.

Error Message

Drop failed for Database 'MyTechMantra'. (Microsoft.SqlServer.Smo)
Cannot drop database "" because it is currently in use. (Microsoft SQL Server, Error: 3702)

Cannot drop database because it is currently in use Microsoft SQL Server Error 3702

The reason why you will end up getting the above mentioned error is when SQL Server is Unable to Get Exclusive Access to SQL Server Database.

Different Ways to Get Exclusive Access to Drop Database in SQL Server

  • Drop Database in SQL Server Using SQL Server Management Studio (SSMS)
  • Drop Database in SQL Server Using TSQL Query

Drop Database in SQL Server Using SQL Server Management Studio

1. Connect to SQL Server Management Studio; expand Database Node -> Right click the Databases which you want to Drop -> Select Delete from the drop down menu to open up Delete Object dialog box as shown in the snippet below.

Drop Database in SQL Server

2. Select the Check box “Close existing connections” to Drop Existing Connections before Dropping the SQL Server Database and click OK to Drop Database in SQL Server. By selecting “Delete backup and restore history information for databases” option you will be able to remove the database backup and restore history which is stored in MSDB system database.

Drop Database in SQL Server Using TSQL Query

Execute the below TSQL code to Drop Database in SQL Server Using TSQL Query.

/* Delete Database Backup and Restore History from MSDB System Database */

EXEC msdb.dbo.sp_delete_database_backuphistory @database_name = N'MyTechMantra'
GO

/* Query to Get Exclusive Access of SQL Server Database before Dropping the Database  */

USE [master]
GO 
ALTER DATABASE [MyTechMantra] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

/* Query to Drop Database in SQL Server  */

DROP DATABASE [MyTechMantra]
GO

Conclusion

In the article you have seen different ways by which you can drop database in SQL Server by getting exclusive access to SQL Server Database.

Continue Free Learning...

  • Please leave below your valuable feedback for this article.
  • Feel Free to refer this article to your friends and colleagues using the below “Share this Article” option.
  • Do subscriber to our News Letter to continue your free learning.
  • Don’t forget to Like Us on Facebook and do follow us on Twitter for latest updates.

Share this Article

Geeks who read this article also read…



Follow @MyTechMantra on Twitter
We're on Facebook
Bookmark and Share

"Receive newsletters and special offers about SQL Server, BizTalk and SharePoint from MyTechMantra. We respect your privacy and you can unsubscribe at any time."