Created
September 2, 2011 06:31
-
-
Save shbaz/1188035 to your computer and use it in GitHub Desktop.
Remove all non-dbo schemas, views and stored procedures
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- | |
-- Remove non dbo tables, views and stored procedures | |
-- | |
BEGIN TRANSACTION | |
DECLARE @Cmd NVARCHAR(max); | |
DECLARE [CmdCursor] CURSOR FAST_FORWARD READ_ONLY FOR | |
SELECT 'DROP TABLE [' + s.name + '].[' + t.name + '];' | |
FROM sys.tables AS t | |
INNER JOIN sys.schemas AS s ON t.schema_id = s.schema_id | |
WHERE s.name <> 'dbo' | |
UNION ALL | |
SELECT 'DROP PROCEDURE [' + s.name + '].[' + p.name + '];' | |
FROM sys.procedures AS p | |
INNER JOIN sys.schemas AS s ON p.schema_id = s.schema_id | |
WHERE s.name <> 'dbo' | |
UNION ALL | |
SELECT 'DROP VIEW [' + s.name + '].[' + v.name + '];' | |
FROM sys.views AS v | |
INNER JOIN sys.schemas AS s ON v.schema_id = s.schema_id | |
WHERE s.name <> 'dbo'; | |
OPEN [CmdCursor]; | |
FETCH NEXT FROM [CmdCursor] INTO @Cmd | |
WHILE @@FETCH_STATUS = 0 | |
BEGIN | |
PRINT('EXECUTE: ' + @Cmd); | |
EXEC(@Cmd); | |
FETCH NEXT FROM [CmdCursor] INTO @Cmd | |
END | |
CLOSE [CmdCursor] | |
DEALLOCATE [CmdCursor] | |
COMMIT TRANSACTION |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment