Vorgehensweise: Festlegen von Skripts vor und nach der Bereitstellung
Skripts vor und nach der Bereitstellung führen Transact-SQL-Anweisungen vor und nach dem Hauptbereitstellungsskript aus, das vom Datenbankprojekt generiert wird.Ein Projekt kann nur ein Skript vor und ein Skript nach der Bereitstellung aufweisen.Diese Skripts können für mehrere Zwecke verwendet werden.Zum Beispiel:
Ein Skript vor der Bereitstellung kann Daten aus einer Tabelle kopieren, die in eine temporäre Tabelle geändert wird, bevor die Daten neu formatiert und auf die geänderte Tabelle in einem Skript nach der Bereitstellung angewendet werden.
Sie können Verweisdaten einfügen, die in einer Tabelle in einem Skript nach der Bereitstellung vorhanden sein müssen.Bevor Sie die Daten einfügen, können Sie testen, ob die Tabelle bereits Daten enthält.Wenn die Tabelle Daten enthält, müssen Sie diese Daten löschen bzw. angeben, dass die Datenbank vor der Bereitstellung immer neu erstellt werden soll.Sie können dem Skript nach der Bereitstellung Anweisungen wie die folgende hinzufügen:
IF (EXISTS(SELECT * FROM [dbo].[MyReferenceTable]))
BEGIN
DELETE FROM [dbo].[MyReferenceTable]
END
So fügen Sie ein Skript vor oder nach der Bereitstellung hinzu bzw. ändern es
Erweitern Sie Ihr Datenbankprojekt im Projektmappen-Explorer, um den Ordner "Skripts" anzuzeigen.
Klicken Sie mit der rechten Maustaste auf den Ordner "Skripts", und wählen Sie "Hinzufügen" aus.
Wählen Sie "Skripts" im Kontextmenü aus.
Wählen Sie "Skript vor der Bereitstellung" oder "Skript nach der Bereitstellung" aus.Sie können auch einen nicht-standardmäßigen Namen eingeben.Klicken Sie auf "Hinzufügen", um den Vorgang abzuschließen.
Doppelklicken Sie auf die Datei im Ordner "Skripts".
Der Transact-SQL-Editor wird geöffnet und zeigt den Inhalt der Datei an.
Sie können SQLCMD-Syntax und -Variablen in Ihren Skripten verwenden und diese in den Eigenschaften des Datenbankprojekts festlegen.Zum Beispiel:
Sie können SQLCMD-Syntax verwenden, um den Inhalt einer Datei in ein Skript vor oder nach der Bereitstellung einzuschließen.Die Dateien werden in der Reihenfolge, in der Sie sie festlegen, eingeschlossen und ausgeführt: :r .\myfile.sql
Sie können SQLCMD-Syntax verwenden, um auf eine Variable im Skript nach der Bereitstellung zu verweisen.Sie können die SQLCMD-Variable in den Projekteigenschaften oder in einem Veröffentlichungsprofil festlegen:
:setvar TableName MyTable SELECT * FROM [$(TableName)]
Weitere Informationen zur Verwendung von SQLCMD in Skripts finden Sie unter Datenbankprojekteinstellungen.