Sie können immer Ihre Systemkatalogsichten abfragen und haben die notwendigen DROP-Anweisungen erzeugen:
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
Dies wird eine lange Liste von DROP .....
Anweisungen generieren, kopieren Sie einfach & einfügen diejenigen in eine neue SSMS Fenster und führe sie aus.
Sie müssen alle Fremdschlüsseleinschränkungen löschen, bevor Sie die Tabellen löschen (da sie in zufälliger Reihenfolge abgelegt werden). –
@Klaus Byskov Hoffmann: Ja, guter Punkt! –
Leider enthält das keine Schemanamen. Das sollte für Tabellen funktionieren: SELECT 'DROP TABLE' + '[' + SCHEMA_NAME (schema_id) + ']. [' + Name + ']' – Jedidja