Cannot drop database “CompanyProducts” because it is currently in use March 12, 2010
Posted by juanpablo1manrique in DAtabase, SQL SERVER 2008.Tags: SQLSERVER2008
trackback
Por lo general cuando se intenta borrar una base de datos en SQL 2008 no se puede porque existen procesos iniciados, en SQL 2008 no es tan facil darle Kill a los procesos que se encuentren iniciados que impiden borrar una base de datos, entonces es necesario crearse su propio SP que mate los procesos por uno, asi se ejecute el DROP DATABASE desde la consola aparece el mismo error. Por lo general uno intentaria buscar el Activity Monitor y matar estos procesos, pero desafortuandamente esto no es posible, desde el activity monitor actual, porque por alguna extraña razon no aparecen todos los procesos, y el campo de la Base de datos en el listado esta vacio.
Cannot drop database because it is currently in use. error 3702
CREATE PROCEDURE dbo.clearDBUsers
@dbName SYSNAME
AS
BEGIN
SET NOCOUNT ON
DECLARE @spid INT,
@cnt INT,
@sql VARCHAR(255)
SELECT @spid = MIN(spid), @cnt = COUNT(*)
FROM master..sysprocesses
WHERE dbid = DB_ID(@dbname)
AND spid != @@SPID
PRINT ‘Starting to KILL ‘+RTRIM(@cnt)+’ processes.’
WHILE @spid IS NOT NULL
BEGIN
PRINT ‘About to KILL ‘+RTRIM(@spid)
SET @sql = ‘KILL ‘+RTRIM(@spid)
EXEC(@sql)
SELECT @spid = MIN(spid), @cnt = COUNT(*)
FROM master..sysprocesses
WHERE dbid = DB_ID(@dbname)
AND spid != @@SPID
PRINT RTRIM(@cnt)+’ processes remain.’
END
END
GO
Tomado de http://sqlserver2000.databases.aspfaq.com/how-do-i-drop-a-sql-server-database.html
I seriously love your site.. Pleasant colors & theme.
Did you develop this web site yourself? Please reply
back as I’m attempting to create my very own site and would like to know where you got this from or what the theme is named. Thanks!