Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Script para excluir todos os objetos que não são do sistema no SQL Server 2008


Você sempre pode consultar as visualizações do catálogo do sistema e fazer com que ele gere as instruções DROP necessárias:
SELECT 'DROP PROCEDURE [' + SCHEMA_NAME(schema_id) + '].[' + pr.NAME +']'
FROM sys.procedures pr
WHERE pr.is_ms_shipped = 0

UNION

SELECT 'DROP VIEW [' + SCHEMA_NAME(schema_id) + '].[' + v.NAME + ']'
FROM sys.views v
WHERE v.is_ms_shipped = 0

UNION

SELECT 'ALTER TABLE [' + SCHEMA_NAME(schema_id) + '].[' + OBJECT_NAME(fk.parent_object_ID) + '] DROP CONSTRAINT ' + fk.name 
FROM sys.foreign_keys fk
WHERE is_ms_shipped = 0

UNION

SELECT 'DROP TABLE [' + SCHEMA_NAME(schema_id) + '].[' + t.NAME + ']'
FROM sys.tables t
WHERE t.is_ms_shipped = 0

Isto irá gerar uma longa lista de DROP ..... instruções, basta copiá-las e colá-las em uma nova janela do SSMS e executá-las.