SqlPackage CLI-Referenz
SqlPackage ist ein Befehlszeilenprogramm für datenbankübertragbarkeit und -bereitstellungen in Windows-, Linux- und macOS-Umgebungen. Die SqlPackage-Befehlszeilenschnittstelle (CLI) analysiert jeden Aufruf für Parameter, Eigenschaften und SQLCMD-Variablen.
SqlPackage {parameters} {properties} {SQLCMD variables}
- Parameter werden verwendet, um die auszuführende Aktion, die Quell- und Zieldatenbanken und andere allgemeine Einstellungen anzugeben.
- Eigenschaften werden verwendet, um das Standardverhalten einer Aktion zu ändern.
- SQLCMD-Variablen werden verwendet, um Werte an die SQLCMD-Variablen in der Quelldatei zu übergeben.
Zum Erstellen eines SqlPackage-Befehls müssen Sie eine Aktion und die zugehörigen zusätzlichen Parameter angeben. Optional können Sie Eigenschaften und SQLCMD-Variablen hinzufügen, um den Befehl weiter anzupassen.
Im folgenden Beispiel wird SqlPackage verwendet, um eine dacpac-Datei des aktuellen Datenbankschemas zu erstellen:
SqlPackage /Action:Extract /TargetFile:"C:\sqlpackageoutput\output_current_version.dacpac" \
/SourceServerName:"localhost" /SourceDatabaseName:"Contoso" \
/p:IgnoreUserLoginMappings=True /p:Storage=Memory
In diesem Beispiel waren die Parameter:
/Action:Extract
/TargetFile:"C:\sqlpackageoutput\output_current_version.dacpac"
/SourceServerName:"localhost"
/SourceDatabaseName:"Contoso"
In diesem Beispiel waren die Eigenschaften:
/p:IgnoreUserLoginMappings=True
/p:Storage=Memory
SqlPackage-Aktionen
Version: Gibt die Buildnummer der SqlPackage-Anwendung zurück.
Extract: Erstellt eine Datenschichtanwendungsdatei (.dacpac), die das Schema oder das Schema und die Benutzerdaten aus einer verbundenen SQL-Datenbank enthält
Veröffentlichen: Aktualisiert ein Datenbankschema inkrementell, sodass dieses dem Schema einer DACPAC-Quelldatei entspricht Wenn die Datenbank auf dem Server nicht vorhanden ist, wird sie durch den Veröffentlichungsvorgang erstellt. Andernfalls wird eine vorhandene Datenbank aktualisiert.
Export: Exportiert eine verbundene SQL-Datenbank, einschließlich des Datenbankschemas und der Benutzerdaten, in eine BACPAC-Datei (.bacpac)
Import: Importiert das Schema und die Tabellendaten aus einer BACPAC-Datei in eine neue Benutzerdatenbank
DeployReport: Erstellt einen XML-Bericht der Änderungen, die durch eine Veröffentlichungsaktion vorgenommen würden.
DriftReport: Erstellt einen XML-Bericht der Änderungen, die seit der letzten Registrierung an einer registrierten Datenbank vorgenommen wurden.
Script: Erstellt ein inkrementelles Transact-SQL-Updateskript, durch das das Schema eines Ziels aktualisiert wird, sodass es dem Schema einer Quelle entspricht.
Hinweis
Während Microsoft Entra-ID der neue Name für Azure Active Directory (Azure AD) ist, bleibt Azure AD in einigen fest kodierten Elementen wie Benutzeroberfläche-Feldern, Verbindungsanbietern, Fehlercodes und Cmdlets erhalten, um Störungen in bestehenden Umgebungen zu vermeiden. In diesem Artikel sind die beiden Namen austauschbar.
Parameter
Einige Parameter werden von den SqlPackage-Aktionen gemeinsam verwendet. Die folgende Tabelle bietet eine Übersicht über die Parameter. Um weitere Informationen zu erhalten, klicken Sie auf die entsprechende Überschrift für die Aktion.
Parameter | Kurzform | Extrahieren | Veröffentlichen | Export | Importieren | DeployReport | DriftReport | Skript |
---|---|---|---|---|---|---|---|---|
/AccessToken: | /at | x | x | x | x | x | x | x |
/ClientId: | /cid | w | ||||||
/DeployScriptPath: | /dsp | x | x | |||||
/DeployReportPath: | /drp | x | x | |||||
/Diagnostics: | /d | x | x | x | x | x | x | x |
/DiagnosticsFile: | /df | x | x | x | x | x | x | x |
/MaxParallelism: | /mp | x | x | x | x | x | x | x |
/OutputPath: | /op | x | x | x | ||||
/OverwriteFiles: | /of | x | x | x | x | x | x | |
/Profile: | /pr | x | x | x | ||||
/Properties: | /p | x | x | x | x | x | x | |
/Quiet: | /q | x | x | x | x | x | x | x |
/Secret: | /secr | w | ||||||
/SourceConnectionString: | /scs | x | x | x | x | x | ||
/SourceDatabaseName: | /sdn | x | x | x | x | x | ||
/SourceEncryptConnection: | /sec | x | x | x | x | x | ||
/SourceFile: | /sf | x | x | x | x | |||
/SourcePassword: | /sp | x | x | x | x | x | ||
/SourceServerName: | /ssn | x | x | x | x | x | ||
/SourceTimeout: | /st | x | x | x | x | x | ||
/SourceTrustServerCertificate: | /stsc | x | x | x | x | x | ||
/SourceUser: | /su | x | x | x | x | x | ||
/TargetConnectionString: | /tcs | x | x | x | x | |||
/TargetDatabaseName: | /tdn | x | x | x | x | x | ||
/TargetEncryptConnection: | /tec | x | x | x | x | x | ||
/TargetFile: | /tf | x | x | x | x | |||
/TargetPassword: | /tp | x | x | x | x | x | ||
/TargetServerName: | /tsn | x | x | x | x | x | ||
/TargetTimeout: | /tt | x | x | x | x | x | ||
/TargetTrustServerCertificate: | /ttsc | x | x | x | x | x | ||
/TargetUser: | /tu | x | x | x | x | x | ||
/TenantId: | /tid | x | x | x | x | x | x | x |
/UniversalAuthentication: | /ua | x | x | x | x | x | x | x |
/Variables: | /v | x | x |
Eigenschaften
SqlPackage-Aktionen unterstützen eine große Anzahl von Eigenschaften zum Ändern des Standardverhaltens einer Aktion. Die optionale Verwendung von Eigenschaften wird durch Hinzufügen /p:PropertyName=Value
zur Befehlszeile erreicht. Mehrere Eigenschaften können angegeben werden, und einige Eigenschaften können mehrmals angegeben werden (z. B. /p:TableData=Product /p:TableData=ProductCategory
). Weitere Informationen zu Eigenschaften finden Sie auf den jeweiligen Aktionsseiten.
SQLCMD-Variablen
SQLCMD-Variablen können in eine DACPAC-Datei aus einem SQL-Projekt integriert und dann während der Bereitstellung mit SqlPackage Publish oder Script festgelegt werden. Weitere Informationen zum Hinzufügen von SQLCMD-Variablen zu einem SQL-Projekt finden Sie in der Dokumentation zu SQL-Projekten.
Hilfsprogrammbefehle
Version
Zeigt die Version von SqlPackage als Buildnummer. Kann in interaktiven Eingabeaufforderungen und automatisierten Pipelines verwendet werden.
SqlPackage /Version
Hilfe
Sie können SqlPackage-Nutzungsinformationen mithilfe von /?
oder /help:True
anzeigen.
SqlPackage /?
Verwenden Sie für Parameter- und Eigenschafteninformationen, die für eine bestimmte Aktion spezifisch sind, zusätzlich zum Parameter dieser Aktion den Help-Parameter.
SqlPackage /Action:Publish /?
Exitcodes
SqlPackage-Befehle geben die folgenden Exitcodes zurück:
- 0 = Erfolg
- Ungleich 0 = Fehler
Nächste Schritte
- Erfahren Sie mehr über die Extract-Aktion von SqlPackage.
- Erfahren Sie mehr über die Publish-Aktion von SqlPackage.
- Erfahren Sie mehr über die Export-Aktion von SqlPackage.
- Erfahren Sie mehr über die Import-Aktion von SqlPackage.
- Weitere Informationen zur Problembehandlung mit SqlPackage
- Teilen von Feedback zu SqlPackage im DacFx GitHub-Repository