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.
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.
Extrahieren: Erstellt eine Datenebenenanwendungsdatei (DACPAC), die das Schema oder schema und Benutzerdaten aus einer verbundenen SQL-Datenbank enthält.
Veröffentlichen: Aktualisiert inkrementell ein Datenbankschema, um dem Schema einer Quelldatei .dacpac zu entsprechen. Wenn die Datenbank nicht auf dem Server vorhanden ist, erstellt der Veröffentlichungsvorgang sie. Andernfalls wird eine vorhandene Datenbank aktualisiert.
Export: Exportiert eine verbundene SQL-Datenbank , einschließlich Datenbankschema und Benutzerdaten, in eine BACPAC-Datei (BACPAC).
Importieren: Importiert die Schema- und Tabellendaten aus einer BACPAC-Datei in eine neue Benutzerdatenbank.
DeployReport-: Erstellt einen XML-Bericht, der die Änderungen darstellt, die eine Veröffentlichungsaktion ausführen würde.
DriftReport-: Erstellt einen XML-Bericht, der die Änderungen darstellt, die seit der letzten Registrierung auf eine registrierte Datenbank angewendet wurden.
Skript-: Erstellt ein Transact-SQL inkrementelles Updateskript, das das Schema eines Ziels aktualisiert, um dem Schema einer Quelle zu entsprechen.
Anmerkung
Während Microsoft Entra ID der neuen Namen für Azure Active Directory (Azure AD)ist, um Unterbrechungen vorhandener Umgebungen zu verhindern, verbleibt Azure AD weiterhin in einigen hartcodierten Elementen wie UI-Feldern, Verbindungsanbietern, Fehlercodes und Cmdlets. In diesem Artikel sind die beiden Namen austauschbar.
Parameter
Einige Parameter werden zwischen den SqlPackage-Aktionen gemeinsam verwendet. Nachfolgend finden Sie eine Tabelle, die die Parameter zusammenfasst, um weitere Informationen zu finden, und klicken Sie auf die spezifischen Aktionsseiten.
Parameter | Kurzform | Extrahieren | veröffentlichen | Exportieren | Importieren von | DeployReport- | DriftReport- | Skript- |
---|---|---|---|---|---|---|---|---|
/AccessToken: | /at | x | x | x | x | x | x | x |
/ClientId: | /cid- | x | ||||||
/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 |
/DiagnosticsPackageFile: | /dpf | 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 | x | ||||||
/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, um das Standardverhalten einer Aktion zu ändern. Die optionale Verwendung von Eigenschaften erfolgt durch Hinzufügen von /p:PropertyName=Value
zur Befehlszeile. 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 werden und dann während der Bereitstellung mit SqlPackage Publish oder Scriptfestgelegt werden. Weitere Informationen zum Hinzufügen von SQLCMD-Variablen zu einem SQL-Projekt finden Sie in der Dokumentation SQL-Projekte.
Hilfsbefehle
Version
Zeigt die sqlpackage-Version als Buildnummer an. Kann in interaktiven Eingabeaufforderungen und in automatisierten Pipelinesverwendet werden.
SqlPackage /Version
Hilfe
Sie können SqlPackage-Verwendungsinformationen mithilfe von /?
oder /help:True
anzeigen.
SqlPackage /?
Verwenden Sie für Parameter- und Eigenschaftsinformationen, die für eine bestimmte Aktion spezifisch sind, zusätzlich zum Parameter dieser Aktion den Hilfeparameter.
SqlPackage /Action:Publish /?
Ausgangscodes
SqlPackage-Befehle geben die folgenden Exitcodes zurück:
- 0 = Erfolg
- nonzero = failure
Nächste Schritte
- Erfahren Sie mehr über SqlPackage Extract
- Weitere Informationen zu SqlPackage Publish
- Weitere Informationen zu SqlPackage Export-
- Weitere Informationen zum sqlPackage Import-
- Erfahren Sie mehr über Problembehandlung bei SqlPackage-
- Geben Sie Feedback zu SqlPackage im DacFx GitHub-Repository