Clear Blank SQL Database

  1. DECLARE @name VARCHAR(128)  
  2. DECLARE @SQL VARCHAR(254)  
  3.   
  4. SELECT @name = (SELECT TOP 1 [nameFROM sysobjects WHERE [type] = 'P' AND category = 0 ORDER BY [name])  
  5.   
  6. WHILE @name is not null  
  7. BEGIN  
  8.     SELECT @SQL = 'DROP PROCEDURE [dbo].[' + RTRIM(@name) +']'  
  9.     EXEC (@SQL)  
  10.     PRINT 'Dropped Procedure: ' + @name  
  11.     SELECT @name = (SELECT TOP 1 [nameFROM sysobjects WHERE [type] = 'P' AND category = 0 AND [name] > @name ORDER BY [name])  
  12. END  
  13. GO  
  14.   
  15. /* Drop all views */  
  16. DECLARE @name VARCHAR(128)  
  17. DECLARE @SQL VARCHAR(254)  
  18.   
  19. SELECT @name = (SELECT TOP 1 [nameFROM sysobjects WHERE [type] = 'V' AND category = 0 ORDER BY [name])  
  20.   
  21. WHILE @name IS NOT NULL  
  22. BEGIN  
  23.     SELECT @SQL = 'DROP VIEW [dbo].[' + RTRIM(@name) +']'  
  24.     EXEC (@SQL)  
  25.     PRINT 'Dropped View: ' + @name  
  26.     SELECT @name = (SELECT TOP 1 [nameFROM sysobjects WHERE [type] = 'V' AND category = 0 AND [name] > @name ORDER BY [name])  
  27. END  
  28. GO  
  29.   
  30. /* Drop all functions */  
  31. DECLARE @name VARCHAR(128)  
  32. DECLARE @SQL VARCHAR(254)  
  33.   
  34. SELECT @name = (SELECT TOP 1 [nameFROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT'AND category = 0 ORDER BY [name])  
  35.   
  36. WHILE @name IS NOT NULL  
  37. BEGIN  
  38.     SELECT @SQL = 'DROP FUNCTION [dbo].[' + RTRIM(@name) +']'  
  39.     EXEC (@SQL)  
  40.     PRINT 'Dropped Function: ' + @name  
  41.     SELECT @name = (SELECT TOP 1 [nameFROM sysobjects WHERE [type] IN (N'FN', N'IF', N'TF', N'FS', N'FT'AND category = 0 AND [name] > @name ORDER BY [name])  
  42. END  
  43. GO  
  44.   
  45. /* Drop all Foreign Key constraints */  
  46. DECLARE @name VARCHAR(128)  
  47. DECLARE @constraint VARCHAR(254)  
  48. DECLARE @SQL VARCHAR(254)  
  49.   
  50. SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME)  
  51.   
  52. WHILE @name is not null  
  53. BEGIN  
  54.     SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)  
  55.     WHILE @constraint IS NOT NULL  
  56.     BEGIN  
  57.         SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint) +']'  
  58.         EXEC (@SQL)  
  59.         PRINT 'Dropped FK Constraint: ' + @constraint + ' on ' + @name  
  60.         SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)  
  61.     END  
  62. SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'FOREIGN KEY' ORDER BY TABLE_NAME)  
  63. END  
  64. GO  
  65.   
  66. /* Drop all Primary Key constraints */  
  67. DECLARE @name VARCHAR(128)  
  68. DECLARE @constraint VARCHAR(254)  
  69. DECLARE @SQL VARCHAR(254)  
  70.   
  71. SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME)  
  72.   
  73. WHILE @name IS NOT NULL  
  74. BEGIN  
  75.     SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)  
  76.     WHILE @constraint is not null  
  77.     BEGIN  
  78.         SELECT @SQL = 'ALTER TABLE [dbo].[' + RTRIM(@name) +'] DROP CONSTRAINT [' + RTRIM(@constraint)+']'  
  79.         EXEC (@SQL)  
  80.         PRINT 'Dropped PK Constraint: ' + @constraint + ' on ' + @name  
  81.         SELECT @constraint = (SELECT TOP 1 CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' AND CONSTRAINT_NAME <> @constraint AND TABLE_NAME = @name ORDER BY CONSTRAINT_NAME)  
  82.     END  
  83. SELECT @name = (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE constraint_catalog=DB_NAME() AND CONSTRAINT_TYPE = 'PRIMARY KEY' ORDER BY TABLE_NAME)  
  84. END  
  85. GO  
  86.   
  87. /* Drop all tables */  
  88. DECLARE @name VARCHAR(128)  
  89. DECLARE @SQL VARCHAR(254)  
  90.   
  91. SELECT @name = (SELECT TOP 1 [nameFROM sysobjects WHERE [type] = 'U' AND category = 0 ORDER BY [name])  
  92.   
  93. WHILE @name IS NOT NULL  
  94. BEGIN  
  95.     SELECT @SQL = 'DROP TABLE [dbo].[' + RTRIM(@name) +']'  
  96.     EXEC (@SQL)  
  97.     PRINT 'Dropped Table: ' + @name  
  98.     SELECT @name = (SELECT TOP 1 [nameFROM sysobjects WHERE [type] = 'U' AND category = 0 AND [name] > @name ORDER BY [name])  
  99. END  
  100. GO