Umbenennen von Spalten (Datenbank-Engine)
Gilt für: SQL Server 2016 (13.x) und höher Azure SQL-Datenbank Azure SQL Managed Instance
Sie können mit SQL Server oder SQL Server Management Studio eine Tabellenspalte in Transact-SQL umbenennen.
Begrenzungen
Durch die Umbenennung einer Spalte werden nicht automatisch auch die Verweise auf diese Spalte umbenannt. Sie müssen Objekte, die auf die umbenannte Spalte verweisen, manuell ändern. Wenn Sie z. B. eine Tabellenspalte umbenennen und in einem Trigger auf diese Spalte verwiesen wird, müssen Sie den Trigger ändern, sodass er den neuen Spaltennamen wiedergibt. Verwenden Sie sys.sql_expression_dependencies , um Abhängigkeiten vom Objekt aufzulisten, bevor Sie es umbenennen.
Durch das Umbenennen einer Spalte werden die Metadaten für Objekte, die alle Spalten aus dieser Tabelle (mit SELECT
) *
, nicht automatisch aktualisiert. Wenn Sie z. B. eine Tabellenspalte umbenennen, und auf diese Spalte durch eine nicht schemagebundene Ansicht oder Funktion verwiesen wird, die alle Spalten auswählt (mit *
), weisen die Metadaten für die Ansicht oder Funktion weiterhin den ursprünglichen Spaltennamen auf. Aktualisieren Sie die Metadaten mithilfe von sp_refreshsqlmodule oder sp_refreshview.
Berechtigungen
Erfordert die ALTER
-Berechtigung für das Objekt.
Verwenden von SQL Server Management Studio
Umbenennen einer Spalte mit dem Objekt-Explorer
- Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.
- Klicken Sie im Objekt-Explorermit der rechten Maustaste auf die Tabelle, in der Sie Spalten umbenennen möchten, und klicken Sie dann auf Umbenennen.
- Geben Sie einen neuen Spaltennamen ein.
Umbenennen einer Spalte mit dem Tabellen-Designer
- Klicken Sie im Objekt-Explorermit der rechten Maustaste auf die Tabelle, in der Sie Spalten umbenennen möchten, und klicken Sie dann auf Entwerfen.
- Wählen Sie unter Spaltennameden zu ändernden Namen aus, und geben Sie einen neuen Namen ein.
- Klicken Sie im Menü Datei auf Tabellenname speichern.
Sie können auch den Namen einer Spalte auf der Registerkarte Spalteneigenschaften ändern. Wählen Sie die Spalte aus, deren Name Sie ändern möchten, und geben Sie einen neuen Wert für Name" ein.
Verwenden von Transact-SQL
Umbenennen einer Spalte
Im folgenden Beispiel wird die Spalte ErrorTime
in der Tabelle dbo.ErrorLog
in der AdventureWorksLT
-Datenbank in ErrorDateTime
umbenannt.
EXEC sp_rename 'dbo.ErrorLog.ErrorTime', 'ErrorDateTime', 'COLUMN';
Beachten Sie die Ausgabewarnung, und stellen Sie sicher, dass andere Objekte oder Abfragen nicht beschädigt sind:
Caution: Changing any part of an object name could break scripts and stored procedures.
Weitere Informationen finden Sie unter sp_rename.