Löschen einer Tabelle

Von Zeit zu Zeit müssen Sie eine Tabelle auch löschen, z. B. wenn Sie einen neuen Entwurf implementieren oder Speicherplatz in der Datenbank freigeben möchten. Wenn Sie eine Tabelle löschen, werden die Definition ihrer Struktur, die Daten, Volltextindizes, Einschränkungen und Indizes dauerhaft aus der Datenbank gelöscht, und der Speicherplatz, der zuvor zum Speichern der Tabelle und ihrer Indizes verwendet wurde, wird anderen Tabellen zur Verfügung gestellt. Sie können eine temporäre Tabelle explizit löschen, wenn Sie nicht warten möchten, bis die Tabelle automatisch gelöscht wird.

Wenn Sie Tabellen löschen müssen, die durch FOREIGN KEY- und UNIQUE- oder PRIMARY KEY-Einschränkungen verbunden sind, müssen Sie zuerst die Tabellen mit den FOREIGN KEY-Einschränkungen löschen. Wenn Sie eine Tabelle löschen müssen, auf die in einer FOREIGN KEY-Einschränkung verwiesen wird, das Löschen der ganzen Fremdschlüsseltabelle jedoch nicht möglich ist, müssen Sie die FOREIGN KEY-Einschränkung löschen.

Wenn Sie alle Daten aus der Tabelle löschen möchten, die Tabelle selbst aber nicht, können Sie sie abschneiden. Weitere Informationen finden Sie unter Löschen aller Zeilen mit TRUNCATE TABLE.

Sie können große Tabellen löschen oder abschneiden sowie Indizes mit mehr als 128 Blöcken, ohne gleichzeitige Sperren für alle für das Löschen erforderlichen Blöcke aufrechtzuerhalten. Das Database Engine (Datenbankmodul) verwaltet das Löschen von großen Objekten durch Aufteilen des Vorgangs in zwei separate Phasen: logisch und physisch. Während der logischen Phase werden die vorhandenen, von der Tabelle verwendeten Zuordnungseinheiten für die Aufhebung der Zuordnung markiert und bis zum Commit der Transaktion gesperrt. Während der physischen Phase werden die für die Aufhebung der Zuordnung markierten Zuordnungseinheiten batchweise gelöscht. Weitere Informationen finden Sie unter Löschen und Neuerstellen großer Objekte.

So löschen Sie eine Tabelle

DROP TABLE (Transact-SQL)

So löschen Sie eine FOREIGN KEY-Einschränkung

ALTER TABLE (Transact-SQL)

So schneiden Sie eine Tabelle ab

TRUNCATE TABLE (Transact-SQL)

Siehe auch

Andere Ressourcen