Als beste Methode eine bestehende Datenbank (ohne Fehlermeldung) zu löschen ist folgender SQL-Befehl:

-- =============================================
-- Author:		Erhard Rainer
-- Create date: 2015-09-15
-- Description:	Löscht eine DB zuverlässig
-- Beispiel
-- EXEC [mtn].[usp_DropDatabase] @DBName = 'Test'
-- =============================================
-- 2017-04-13 - ER - Abfangen, wenn keine DB übergeben wurde
CREATE PROCEDURE [mtn].[usp_DropDatabase] 
	@DBName as nvarchar(max) = null
AS
BEGIN
SET NOCOUNT ON;
if (@DBName is not null)
Begin 
	DECLARE @SQL as nvarchar(max);
 
	IF EXISTS (SELECT 1 FROM sys.databases WHERE [name] = @DBName) 
		BEGIN
		SET @SQL = 
			N'USE ' + @DBName + ';
			ALTER DATABASE ' + @DBName + ' SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
			USE master;
			DROP DATABASE ' + @DBName + ';';
		EXEC (@SQL);
		EXEC('USE tempdb;')
		End;
	END;
END
GO

siehe auch: