只是爲了澄清,這不是一個真正的問題,對於像我這樣尋求答案的人來說,更多的幫助。
許多應用程序創建臨時表等,但是當Team Foundation Server在我的測試SQL Server上創建80多個數據庫時,我感到很驚訝。 TFS沒有正確安裝,並且在我之後讓我清除它。由於每個數據庫有一個命名約定,而不是刪除通過手中的每個數據庫,我想起了如何使用遊標和所寫的內容我認爲是最不明智的片T-SQL有史以來:如何在SQL Server中刪除多個數據庫
CREATE TABLE #databaseNames (name varchar(100) NOT NULL, db_size varchar(50), owner varchar(50), dbid int, created date, status text, compatibility_level int);
INSERT #databaseNames
exec sp_helpdb;
DECLARE dropCur CURSOR FOR
SELECT name FROM #databaseNames WHERE name like '_database_name_%';
OPEN dropCur;
DECLARE @dbName nvarchar(100);
FETCH NEXT FROM dropCur INTO @dbName;
DECLARE @statement nvarchar(200);
WHILE @@FETCH_STATUS = 0
BEGIN
SET @statement = 'DROP DATABASE ' + @dbName;
EXEC sp_executesql @statement;
FETCH NEXT FROM dropCur INTO @dbName;
END
CLOSE dropCur;
DEALLOCATE dropCur;
DROP TABLE #databaseNames;
不用說使用這樣的遊標可能是非常危險的,應該謹慎使用。這對我有用,而且我還沒有看到我的數據庫有任何進一步的損壞,但我放棄:使用此代碼需要您自擔風險,並且首先備份您的重要數據!
此外,如果這應該被刪除,因爲它不是一個問題,我明白。只是想發佈這個地方人們會看。
你被允許來回答自己的問題,所以它可能會更好將問題重新寫入一個實際問題中(嘗試用特定的困境和適合的一般問題來描述問題),然後將該腳本作爲答案發布。 –