Teilen ü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.

  • 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