Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
SQL-Datenbank in Microsoft Fabric
Vor der Bereitstellung und Nachbereitstellungsskripts sind SQL-Skripts, die im Projekt enthalten sind, das während der Bereitstellung ausgeführt werden soll. Skripts vor oder nach der Bereitstellung sind in der .dacpac-Datei enthalten, aber sie werden nicht in das Datenbankobjektmodell kompiliert oder mit diesem überprüft. Ein Skript vor der Bereitstellung wird ausgeführt, bevor der Bereitstellungsplan ausgeführt wird, aber der Bereitstellungsplan wird berechnet, bevor das Skript ausgeführt wird. Ein Skript nach der Bereitstellung wird nach Abschluss des Bereitstellungsplans ausgeführt.
SQL-Projektdateibeispiel und Syntax
Eine SQL-Projektdatei kann über ein einzelnes Skript vor der Bereitstellung und ein einzelnes Skript nach der Bereitstellung verfügen.
Im folgenden Beispiel aus einer SQL-Projektdatei wird die prep-db.sql-Datei als Skript vor der Bereitstellung hinzugefügt.
...
<ItemGroup>
<PreDeploy Include="prep-db.sql" />
</ItemGroup>
Im folgenden Beispiel aus einer SQL-Projektdatei wird die populate-app-settings.sql-Datei als Skript nach der Bereitstellung hinzugefügt.
...
<ItemGroup>
<PostDeploy Include="populate-app-settings.sql" />
</ItemGroup>
</Project>
Mehrere Dateien können als Teil eines Skripts vor der Bereitstellung oder nach der Bereitstellung mithilfe eines SQLCMD-Skripts ausgeführt werden, das jede Datei in der gewünschten Reihenfolge aufruft.
:r .\scripts\script1.sql
:r .\scripts\script2.sql
Diese Dateien sollten vom Datenbankmodell-Build ausgeschlossen werden, indem Sie die Build Action-Eigenschaft in den Dateieigenschaften in Visual Studio auf Remove festlegen oder durch Hinzufügen eines Eintrags für die Datei in der .sqlproj-Datei, wobei das Build-Attribut auf Remove festgelegt ist. Wenn das SQL-Projekt erstellt wird, werden die zusätzlichen Dateien in ihren zugehörigen Pre-Deployment- oder Post-Deployment-Skripten innerhalb von .dacpac durch das Microsoft.Build.Sql Projekt-SDK kombiniert.
...
<ItemGroup>
<Build Remove="scripts\script1.sql" />
<Build Remove="scripts\script2.sql" />
</ItemGroup>
</Project>
Bei SQL-Projekten im SDK-Stil wird durch Hinzufügen eines Build Remove="path\file.sql" Eintrags die Datei vollständig aus dem Projekt entfernt, was bewirkt, dass sie nicht mehr in der Visual Studio Code-Projektansicht angezeigt wird. Um die Datei sichtbar zu halten, während sie weiterhin von der Modellkompilierung ausgeschlossen wird, fügen Sie sie erneut als Element hinzu None :
...
<ItemGroup>
<Build Remove="scripts\script1.sql" />
<None Include="scripts\script1.sql" />
<Build Remove="scripts\script2.sql" />
<None Include="scripts\script2.sql" />
</ItemGroup>
</Project>
Dadurch wird verhindert, dass die Datei als Teil des Datenbankmodells kompiliert wird, während sie im Projekt sichtbar bleibt.
Tip
Sie können die Pre-Deployment- und Post-Deployment-Skripte nach dem Projekt-Build validieren, indem Sie die .dacpac Dateierweiterung in .zip ändern und das .zip in einen Ordner entpacken. Eine einzelne .sql Datei ist für Skripts vor der Bereitstellung und nach der Bereitstellung vorhanden und sollte den gesamten Transact-SQL Inhalt aller referenzierten Dateien im ursprünglichen SQL-Projekt enthalten.
Hinzufügen von Skripts vor der Bereitstellung und nach der Bereitstellung
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Hinzufügen>Script aus. Wählen Sie Skript vor der Bereitstellung oder Skript nach der Bereitstellung aus.
Die Skriptdatei wird dem Projekt hinzugefügt und im Abfrage-Editor geöffnet, in dem Sie das Skript abschließen können. Dieses Skript wird vor oder nach der Ausführung des Bereitstellungsplans ausgeführt, wenn das Projekt bereitgestellt wird.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, und wählen Sie Neues Element hinzufügen> aus. Das Dialogfeld "Neues Element hinzufügen" wird angezeigt. Wählen Sie "Alle Vorlagen anzeigen>", dann "Tabelle", und anschließend "Skript vor der Bereitstellung" oder "Skript nach der Bereitstellung" aus.
Die Skriptdatei wird dem Projekt hinzugefügt und im Abfrage-Editor geöffnet, in dem Sie das Skript abschließen können. Dieses Skript wird vor oder nach der Ausführung des Bereitstellungsplans ausgeführt, wenn das Projekt bereitgestellt wird.
Klicken Sie in der Ansicht "Datenbankprojekte " von Visual Studio Code oder Azure Data Studio mit der rechten Maustaste auf das Projekt, und wählen Sie "Skript vor der Bereitstellung hinzufügen " oder "Skript nach der Bereitstellung hinzufügen" aus. Geben Sie einen Skriptnamen ohne die Dateierweiterung an.
Die Skriptdatei wird dem Projekt hinzugefügt und im Abfrage-Editor geöffnet, in dem Sie das Skript abschließen können. Dieses Skript wird vor oder nach der Ausführung des Bereitstellungsplans ausgeführt, wenn das Projekt bereitgestellt wird.
Bearbeiten Sie die .sqlproj Datei direkt, um Skripts vor oder nach der Bereitstellung hinzuzufügen. Fügen Sie ein <PreDeploy>- oder <PostDeploy>-Element dem Abschnitt <ItemGroup> der .sqlproj-Datei hinzu.
So fügen Sie z. B. das Skript scripts\before-script.sql zu unserem Projekt als Skript vor der Bereitstellung hinzu:
...
<ItemGroup>
<PreDeploy Include="scripts\before-script.sql" />
</ItemGroup>
Dieses Skript scripts\before-script.sql wird ausgeführt, bevor der Bereitstellungsplan ausgeführt wird, jedes Mal, wenn das Projekt bereitgestellt wird.