Freigeben über


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.

  • 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:Trueanzeigen.

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