Dela via


SqlPackage Export parameters and properties

The SqlPackage Export action exports a connected database to a BACPAC file (.bacpac). By default, data for all tables will be included in the .bacpac file. Optionally, you can specify only a subset of tables for which to export data. The Export action is part of the database portability functionality of SqlPackage.

Anmärkning

Även om Microsoft Entra ID är det nya namnet för Azure Active Directory (Azure AD), för att förhindra avbrott i befintliga miljöer, förblir Azure AD fortfarande i vissa hårdkodade element som gränssnittsfält, anslutningsproviders, felkoder och cmdletar. I den här artikeln är de två namnen utbytbara.

Anmärkning

SqlPackage export performs best for databases under 200GB. För större databaser kanske du vill optimera åtgärden med hjälp av egenskaper som är tillgängliga i den här artikeln och tips i Felsökning med SqlPackage eller alternativt uppnå databasportabilitet via data i parquet-filer.

Syntax för kommandorad

SqlPackage initierar de åtgärder som anges med hjälp av de parametrar, egenskaper och SQLCMD-variabler som anges på kommandoraden.

SqlPackage /Action:Export {parameters} {properties}

Obligatoriska parametrar

The Export action requires a TargetFile parameter to specify the name and location of the .bacpac file to be created. This location must be writable by the user running the command and the containing folder must exist.

The Export action also requires a database source to be specified, either through a combination of:

  • SourceServerName and SourceDatabaseName parameters, or
  • SourceConnectionString parameter.

Exempel

# example export from Azure SQL Database using SQL authentication and a connection string
SqlPackage /Action:Export /TargetFile:"C:\AdventureWorksLT.bacpac" \
    /SourceConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;Persist Security Info=False;User ID=sqladmin;Password={your_password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"

# example export using short form parameter names, skips schema validation
SqlPackage /a:Export /ssn:"{yourserver}.database.windows.net,1433" /sdn:"AdventureWorksLT" /su:"sqladmin" \
    /sp:"{your_password}" /tf:"C:\AdventureWorksLT.bacpac" /p:VerifyExtraction=False

# example export using Microsoft Entra managed identity
SqlPackage /Action:Export /TargetFile:"C:\AdventureWorksLT.bacpac" \
    /SourceConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;Authentication=Active Directory Managed Identity;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"

# example export connecting using Microsoft Entra username and password
SqlPackage /Action:Export /TargetFile:"C:\AdventureWorksLT.bacpac" \
    /SourceConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;Authentication=Active Directory Password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;User ID={yourusername};Password={yourpassword}"

# example export connecting using Microsoft Entra universal authentication
SqlPackage /Action:Export /TargetFile:"C:\AdventureWorksLT.bacpac" /UniversalAuthentication:True \
    /SourceConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"

Parameters for the Export action

Parameter Kort formulär Värde Beskrivning
/AccessToken: /at: {string} Anger den tokenbaserade autentiseringsåtkomsttoken som ska användas när du ansluter till måldatabasen.
/Action: /a: Export Anger vilken åtgärd som ska utföras.
/AzureCloudConfig: /acc: {string} Anger de anpassade slutpunkterna för att ansluta till Microsoft Entra-ID i formatet: AzureActiveDirectoryAuthority={value}; DatabaseServicePrincipalName={value}" .
/Diagnostik: /d: {Sant|Falskt} Anger om diagnostikloggning ska skickas till konsolen. Defaults to False.
/DiagnosticsFile: /df: {string} Anger en fil som ska lagra diagnostikloggar.
/DiagnosticsLevel: /dl {None|Off|Critical|Error|Warning|Information|Verbose} Anger nivåerna för spårningsmeddelanden som har filtrerats till diagnostikfilen
/MaxParallelism: /mp: {int} Anger graden av parallellitet för samtidiga åtgärder som körs mot en databas. Standardvärdet är 8.
/OverwriteFiles: /of: {Sant|Falskt} Anger om SqlPackage ska skriva över befintliga filer. Om du anger false avbryts åtgärden i SqlPackage om en befintlig fil påträffas. Standardvärdet är Sant.
/Egenskaper: /p: {PropertyName}={Value} Specifies a name value pair for an action-specific property;{PropertyName}={Value}.
/Quiet: /q: {Sant|Falskt} Anger om detaljerad feedback utelämnas. Defaults to False.
/SourceConnectionString: /scs: {string} Anger en giltig SQL Server/Azure-anslutningssträng till källdatabasen. Om den här parametern anges ska den endast användas av alla andra källparametrar.
/SourceDatabaseName: /sdn: {string} Definierar namnet på källdatabasen.
/SourceEncryptConnection: /sec: {Valfritt|Obligatoriskt|Strikt|Sant|Falskt} Anger om SQL-kryptering ska användas för källdatabasanslutningen. Standardvärdet är Sant.
/SourceHostNameInCertificate: /shnic: {string} Anger det värde som används för att verifiera källans SQL Server TLS/SSL-certifikat när kommunikationsskiktet krypteras med hjälp av TLS.
/SourcePassword: /sp: {string} För SQL Server Auth-scenarier definierar lösenordet som ska användas för att komma åt källdatabasen.
/SourceServerName: /ssn: {string} Definierar namnet på servern som är värd för källdatabasen.
/SourceTimeout: /st: {int} Anger tidsgränsen för att upprätta en anslutning till källdatabasen på några sekunder.
/SourceTrustServerCertificate: /stsc: {Sant|Falskt} Anger om du vill använda TLS för att kryptera källdatabasanslutningen och kringgå att gå igenom certifikatkedjan för att verifiera förtroendet. Standardvärdet är False.
/SourceUser: /su: {string} För SQL Server-autentiseringsscenarier definierar SQL Server-användaren att använda för att komma åt källdatabasen.
/TargetFile: /tf: {string} Anger en målfil (d.dacpac-fil) som ska användas som mål för åtgärden i stället för en databas. Om den här parametern används ska ingen annan målparameter vara giltig. Den här parametern ska vara ogiltig för åtgärder som endast stöder databasmål.
/TenantId: /tid: {string} Representerar Microsoft Entra-klientorganisations-ID eller domännamn. Det här alternativet krävs för att stödja gäst- eller importerade Microsoft Entra-användare samt Microsoft-konton som outlook.com, hotmail.com eller live.com. Om den här parametern utelämnas används standardklient-ID för Microsoft Entra-ID, förutsatt att den autentiserade användaren är en intern användare för den här klientorganisationen. I det här fallet stöds dock inte gäst- eller importerade användare och/eller Microsoft-konton som finns i det här Microsoft Entra-ID:t och åtgärden misslyckas.
Mer information finns i Universell autentisering med SQL Database och Azure Synapse Analytics (SSMS-stöd för MFA).
/ThreadMaxStackSize: /tmss: {int} Anger den maximala storleken i megabyte för den tråd som kör åtgärden SqlPackage. Det här alternativet bör endast användas när du stöter på stacköverflödesfel som inträffar vid parsning av mycket stora Transact-SQL-instruktioner.
/UniversalAuthentication: /ua: {Sant|Falskt} Anger om universell autentisering ska användas. När värdet är True aktiveras det interaktiva autentiseringsprotokollet med stöd för MFA. Det här alternativet kan också användas för Microsoft Entra-autentisering utan MFA, med hjälp av ett interaktivt protokoll som kräver att användaren anger användarnamn och lösenord eller integrerad autentisering (Windows-autentiseringsuppgifter). När /UniversalAuthentication har angetts till True kan ingen Microsoft Entra-autentisering anges i SourceConnectionString (/scs). När /UniversalAuthentication är inställt på False måste Microsoft Entra-autentisering anges i SourceConnectionString (/scs).
Mer information finns i Universell autentisering med SQL Database och Azure Synapse Analytics (SSMS-stöd för MFA).

Properties specific to the Export action

Fastighet Värde Beskrivning
/p: CommandTimeout=(INT32 '60') Anger maxtiden för kommandot i sekunder när du exekverar frågor mot SQL Server.
/p: CompressionOption=({Normal|Maximum|Fast|SuperFast|NotCompressed} 'Normal') Anger typen av komprimering.
/p: DatabaseLockTimeout=(INT32 '60') Anger tidsgränsen för databaslåsning i sekunder när frågor mot SQLServer körs. Använd -1 för att vänta på obestämd tid.
/p: HashObjectNamesInLogs=(BOOLEAN 'False') Anger om du vill ersätta alla objektnamn i loggar med ett slumpmässigt hash-värde.
/p: IgnoreIndexesStatisticsOnEnclaveEnabledColumns=(BOOLEAN 'False') Specifies whether indexes or statistics on columns encrypted using randomized encryption and enclave-enabled column encryption keys should be ignored (not included in the generated bacpac). By default (false) any index or a statistic on a column encrypted using randomized encryption and an enclave-enabled column encryption key will block the export action.
/p: LongRunningCommandTimeout=(INT32 '0') Anger tidsgränsen för långvariga kommandon i sekunder vid exekvering av frågor mot SQL Server. Använd 0 för att vänta på obestämd tid.
/p: Storage=({File|Memory}) Specifies the type of backing storage for the schema model used during extraction. 'Memory' is default for .NET Core version of SqlPackage. 'File' is only available and default for .NET Framework version of SqlPackage.
/p: TableData=(STRING) Indicates the table from which data will be extracted. Specify the table name with or without the brackets surrounding the name parts in the following format: schema_name.table_identifier. Den här egenskapen kan anges flera gånger för att ange flera alternativ.
/p: TargetEngineVersion=({Default|Latest|V11|V12} 'Latest') This property is deprecated and use is not recommended. Specifies the version the target engine for Azure SQL Database is expected to be.
/p: TempDirectoryForTableData=(STRING) Specifies an alternative temporary directory used to buffer table data before being written to the package file. The space required in this location may be large and is relative to the full size of the database.
/p: VerifyExtraction=(BOOLEAN 'True') Specifies whether the extracted schema model should be verified. If set to true, schema validation rules are run on the dacpac or bacpac.
/p: VerifyFullTextDocumentTypesSupported=(BOOLEAN 'False') Specifies whether the supported full-text document types for Microsoft Azure SQL Database v12 should be verified.

Nästa steg