我们一直使用Hudson来为我们的质量检查小组重建临时站点。我们终止连接,删除数据库,然后还原/重建/迁移数据库。
这是我用来终止连接的工具,因此我可以删除数据库。
USE MASTERGOIF EXISTS (SELECt * FROM sys.objects WHERe object_id = OBJECT_ID(N'[dbo].[sp_KillDatabaseProcesses]') AND type in (N'P', N'PC')) DROp PROCEDURE [dbo].[sp_KillDatabaseProcesses]GOCREATE PROCEDURE dbo.sp_KillDatabaseProcesses(@databaseName varchar(100)) AS DECLARE @databaseId int,@sysProcessId int,@cmd varchar(1000) EXEC ('USE MASTER') SELECT @databaseId = dbid FROM master..sysdatabases WHERe [name] = @databaseName DECLARE sysProcessIdCursor CURSOR FOR SELECt spid FROM [master]..[sysprocesses] WHERe [dbid] = @databaseId OPEN sysProcessIdCursor FETCH NEXT FROM sysProcessIdCursor INTO @sysProcessId WHILE @@fetch_status = 0 BEGIN SET @cmd = 'KILL '+ convert(nvarchar(30),@sysProcessId) PRINT @cmd EXEC(@cmd) FETCH NEXT FROM sysProcessIdCursor INTO @sysProcessId END DEALLOCATE sysProcessIdCursorGO


