Freigeben über


Überlegungen vor dem Umbenennen von Datenbankobjekten

Bevor Sie in Visual Studio Premium ein Datenbankobjekt umbenennen, sollten Sie die folgenden Punkte bedenken:

Umbenennen von Spalten in Sichten

Auswirkungen von Buildfehlern

Auswirkungen auf Datengenerierungspläne

Auswirkungen auf Komponententests

Auswirkungen auf Transact-SQL-Skripts

Umbenennen von Spalten in Sichten

Eine Sicht besteht aus einer Anweisung, die Spalten in Tabellen oder anderen Sichten auswählt. Die Tabellen, die in der Sicht verwendet werden, werden als Basistabellen oder zugrunde liegende Tabellen bezeichnet. Im folgenden Code wird z. B. eine Sicht auf Grundlage der Tabelle HumanResources.Employee erstellt:

CREATE VIEW dbo.vEmployeeTest
AS 
     SELECT EmployeeID, Title
       FROM HumanResources.Employee

Wenn Sie in einer Sicht eine Spalte umbenennen, wird die Spalte nicht in der zugrunde liegenden Tabelle umbenannt. Stattdessen wird dem Namen in der Sicht ein Alias zugewiesen, wie in den folgenden Beispielen dargestellt:

CREATE VIEW dbo.vEmployeeTest
AS 
     SELECT EmployeeID, Title AS JobTitle
       FROM HumanResources.Employee

CREATE VIEW dbo.vEmployeeTest (EmployeeID, JobTitle)
AS 
     SELECT EmployeeID, Title
       FROM HumanResources.Employee

Tipp

Wenn in einer Sicht SELECT * zum Abrufen der Daten aus der zugrunde liegenden Tabelle verwendet wird, wird * zum Auflisten der einzelnen Spalten erweitert. Der umbenannten Spalte wird wie in den oben stehenden Beispielen ein Alias zugewiesen.

Wenn Sie die Spalte in der Sicht und in der zugrunde liegenden Tabelle umbenennen möchten, benennen Sie die Spalte in der Tabelle um. So wird die Spalte in der Sicht automatisch aktualisiert.

Auswirkungen von Buildfehlern

Wenn Sie ein Datenbankobjekt in Visual Studio Premium umbenennen, wird versucht, andere Datenbankobjekte, Datengenerierungspläne, Komponententests und Skripts zu aktualisieren, die auf dieses Objekt verweisen. Wenn Sie in einem Datenbankprojekt arbeiten, können Sie eine Aktion ausführen, durch die ein Buildfehler verursacht wird, und dann eine andere Aktion ausführen, die den Buildfehler behebt. Sie könnten beispielsweise eine Tabelle löschen und dann eine Sicht aktualisieren, die von dieser Tabelle abhängt, um den Verweis auf die gelöschte Tabelle zu entfernen. Zwischen dem Löschen der Tabelle und dem Aktualisieren der Sicht enthält das Projekt Buildfehler.

Wenn Sie ein Datenbankobjekt umbenennen und das Projekt Buildfehler enthält, kann das Objekt trotzdem korrekt umbenannt werden. Es ist jedoch möglicherweise nicht möglich, alle Verweise auf das umbenannte Objekt korrekt umzubenennen. Wenn das Projekt Buildfehler enthält, wird eine Warnung im Dialogfeld Vorschau der Änderungen angezeigt. Wenn Sie fortfahren, wird das Objekt umbenannt, und Verweise werden so weit wie möglich aktualisiert. Wenn Sie den Vorgang abbrechen, können Sie zunächst die Buildfehler beheben und dann die Umbenennung erneut ausführen.

Auswirkungen auf Datengenerierungspläne

Wenn Sie ein Datenbankobjekt in Visual Studio Premium oder Visual Studio Ultimate umbenennen, wird versucht, die Datengenerierungspläne zu aktualisieren, die auf dieses Objekt verweisen. Sie sollten jedoch Folgendes beachten:

  • Bevor Sie ein Objekt umbenennen können, müssen Sie alle Datengenerierungspläne speichern, die im Editor geöffnet sind. Wenn Datengenerierungspläne geöffnet sind und Sie versuchen, ein Objekt umzubenennen, werden alle geöffneten Datengenerierungspläne automatisch gespeichert und geschlossen, und die Umbenennung wird fortgesetzt.

  • Sie müssen Datengenerierungspläne, die datengebundene Datengeneratoren verwenden, manuell aktualisieren.

Weitere Informationen finden Sie unter Generieren von Testdaten für Datenbanken mithilfe von Daten-Generatoren.

Auswirkungen auf Komponententests

Transact-SQL-Anweisungen in einem Komponententest verweisen normalerweise auf die Objekte in der Datenbank, die im Komponententest in ValidationConnectionString und ExecutionConnectionString angegeben werden. Im Folgenden werden zwei Situationen aufgeführt, in denen dies nicht der Fall ist:

  • Transact-SQL-Anweisungen in einem Komponententest können auf Objekte in anderen Datenbanken verweisen.

  • Transact-SQL-Anweisungen in einem Komponententest können auf Objekte in derselben Datenbank, jedoch in unterschiedlichen Schemas verweisen.

Wenn Sie ein Datenbankobjekt in Visual Studio Premium umbenennen, wird versucht, die Komponententests in der Projektmappe zu aktualisieren, die auf dieses Objekt verweisen. In den zuvor genannten Fällen ist es möglicherweise nicht möglich, die Komponententests zu aktualisieren. Wenn Sie beim Umbenennen eines Datenbankobjekts die Komponententests aktualisieren möchten, müssen Sie sicherstellen, dass in den Komponententests die vollqualifizierten Namen der Objekte verwendet werden. Wenn Sie in den Komponententests vollqualifizierte Namen verwenden, kann das Umgestaltungsmodul diese aktualisieren, wenn ein Schemaobjekt umbenannt wird.

Weitere Informationen über Komponententests finden Sie unter Überprüfen von Datenbankcode mithilfe von Komponententests.

Auswirkungen auf Transact-SQL-Skripts

Transact-SQL-Skripts in einem Datenbankprojekt verweisen normalerweise auf die Schemaobjekte in der Datenbank des Datenbankprojekts. Im Folgenden werden zwei Situationen aufgeführt, in denen dies nicht der Fall ist:

  • Transact-SQL-Anweisungen in einem Skript können auf Objekte in anderen Datenbanken verweisen.

  • Transact-SQL-Anweisungen in einem Skript können auf Objekte in derselben Datenbank, jedoch in unterschiedlichen Schemas verweisen.

Wenn Sie ein Datenbankobjekt in Visual Studio Premium umbenennen, wird versucht, die Skripts in der Projektmappe zu aktualisieren, die auf dieses Objekt verweisen. In den zuvor beschriebenen Fällen ist es möglicherweise nicht möglich, die Skripts zu aktualisieren. Wenn Sie beim Umbenennen eines Datenbankobjekts die Skripts aktualisieren möchten, müssen Sie sicherstellen, dass in den Skripts die vollqualifizierten Namen der Objekte verwendet werden. Wenn Sie in den Skripts vollqualifizierte Namen verwenden, kann das Umgestaltungsmodul diese aktualisieren, wenn ein Schemaobjekt umbenannt wird.

Weitere Informationen über Skripts finden Sie unter Erstellen und Bearbeiten von Datenbankskripts.

Sicherheit

Wenn eine Umgestaltungsoperation aufgrund eines Fehlers nicht abgeschlossen werden kann, werden Informationen über den Fehler in das Anwendungsereignisprotokoll geschrieben. Dort können sie von allen Benutzern mit normalen Benutzerberechtigungen angezeigt werden. Wenn die Schemainformationen vertraulich sind und im Protokoll angezeigt werden könnten, können Sie das Protokoll löschen oder den Zugriff auf den Clientcomputer beschränken.

Siehe auch

Konzepte

Umbenennen aller Verweise auf ein Datenbankobjekt