Freigeben über


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.

In SQL Server 2005 können Sie 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 SQL Server 2005-Datenbankmodul verwaltet das Löschen von großen Objekten durch Aufteilen des Vorgangs in zwei separate Phasen: eine logische und eine physikalische. 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 physikalischen 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

Erstellen und Ändern von Tabellen

Hilfe und Informationen

Informationsquellen für SQL Server 2005