sql >> Databasteknik >  >> RDS >> Sqlserver

Skript för att ta bort alla icke-systemobjekt i SQL Server 2008

Du kan alltid fråga dina systemkatalogvyer och få den att generera de nödvändiga DROP-satserna:

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

Detta kommer att generera en lång lista med DROP ..... uttalanden, kopiera och klistra bara in dem i ett nytt SSMS-fönster och kör dem.



  1. Hur kan jag få INSERTED och UPDATED-raderna för en UPSERT-operation i postgres

  2. Postgres - Är detta rätt sätt att skapa ett partiellt index på en boolesk kolumn?

  3. anslut med klausul i regex_substr

  4. Rails 5 Mysql UUID