Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Script pour supprimer tous les objets non système dans SQL Server 2008

Vous pouvez toujours interroger les vues de votre catalogue système et lui faire générer les instructions DROP nécessaires :

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

Cela générera une longue liste de DROP ..... instructions, copiez et collez-les simplement dans une nouvelle fenêtre SSMS et exécutez-les.