Delen via


SqlPackage Export-parameters en -eigenschappen

Met de actie SqlPackage Exporteren wordt een verbonden database geëxporteerd naar een BACPAC-bestand (.bacpac). Standaard worden gegevens voor alle tabellen opgenomen in het BACPAC-bestand. U kunt desgewenst alleen een subset van tabellen opgeven waarvoor gegevens moeten worden geëxporteerd. De actie Exporteren maakt deel uit van de functionaliteit voor databaseportabiliteit van SqlPackage. Als u een export transactioneel consistent wilt maken, moet u ervoor zorgen dat er geen schrijfactiviteit plaatsvindt tijdens de export of dat u exporteert vanuit een transactioneel consistente kopie van uw database.

Note

Hoewel Microsoft Entra ID de nieuwe naam is voor Azure Active Directory (Azure AD), blijft Azure AD, om verstoring van bestaande omgevingen te voorkomen, nog steeds bestaan in sommige hardcoded elementen, zoals UI-velden, verbindingsproviders, foutcodes en cmdlets. In dit artikel zijn de twee namen uitwisselbaar.

Note

SqlPackage-export presteert het beste voor databases onder 200 GB. Voor grotere databases kunt u de bewerking optimaliseren met behulp van eigenschappen die beschikbaar zijn in dit artikel en tips voor het oplossen van problemen met SqlPackage of het verkrijgen van databaseoverdraagbaarheid via gegevens in Parquet-bestanden.

Command-line syntax

SqlPackage de acties initieert die zijn opgegeven met behulp van de parameters, eigenschappen en SQLCMD-variabelen die zijn opgegeven op de opdrachtregel.

SqlPackage /Action:Export {parameters} {properties}

Required parameters

Voor de exportactie is een TargetFile parameter vereist om de naam en locatie van het BACPAC-bestand op te geven dat moet worden gemaakt. Deze locatie moet beschrijfbaar zijn voor de gebruiker die de opdracht uitvoert en de map waarin deze wordt opgeslagen moet bestaan.

Voor de exportactie moet ook een databasebron worden opgegeven, ofwel via een combinatie van:

  • SourceServerName en SourceDatabaseName parameters, of
  • SourceConnectionString parameter.

Examples

# 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 voor de actie Exporteren

Parameter Short Form Value Description
/AccessToken: /at: {string} Hiermee geeft u het verificatietoegangstoken op basis van tokens op dat moet worden gebruikt wanneer u verbinding maakt met de doeldatabase.
/Action: /a: Export Geeft de actie aan die moet worden uitgevoerd.
/AzureCloudConfig: /acc: {string} Hiermee geeft u de aangepaste eindpunten op voor het maken van verbinding met Microsoft Entra ID in de indeling: AzureActiveDirectoryAuthority={value}; DatabaseServicePrincipalName={value}" .
/Diagnostics: /d: {True|False} Geeft aan of diagnostische logboekregistratie naar de console wordt uitgevoerd. De standaardwaarde is False.
/DiagnosticsFile: /df: {string} Hiermee geeft u een bestand op voor het opslaan van diagnostische logboeken.
/DiagnosticsLevel: /dl {None|Off|Critical|Error|Warning|Information|Verbose} Hiermee specificeert u de niveaus van traceringsberichten die het gefilterde diagnostische bestand bepalen.
/MaxParallelism: /mp: {int} Hiermee geeft u de mate van parallelle uitvoering op voor gelijktijdige bewerkingen die worden uitgevoerd op een database. De standaardwaarde is 8.
/OverwriteFiles: /of: {True|False} Hiermee geeft u op of SqlPackage bestaande bestanden moet overschrijven. Als u onwaar opgeeft, wordt de actie door SqlPackage afgebroken als er een bestaand bestand wordt aangetroffen. De standaardwaarde is Waar.
/Properties: /p: {PropertyName}={Value} Hiermee geeft u een naamwaardepaar op voor een actiespecifieke eigenschap; {PropertyName}={Value}.
/Quiet: /q: {True|False} Hiermee geeft u op of gedetailleerde feedback wordt onderdrukt. De standaardwaarde is False.
/SourceConnectionString: /scs: {string} Hiermee geeft u een geldige SQL Server/Azure-verbindingsreeks aan de brondatabase. Als deze parameter is opgegeven, wordt deze uitsluitend gebruikt van alle andere bronparameters.
/SourceDatabaseName: /sdn: {string} Hiermee definieert u de naam van de brondatabase.
/SourceEncryptConnection: /sec: {Optional|Mandatory|Strict|True|False} Hiermee geeft u op of SQL-versleuteling moet worden gebruikt voor de brondatabaseverbinding. De standaardwaarde is Waar.
/SourceHostNameInCertificate: /shnic: {string} Hiermee geeft u de waarde op die wordt gebruikt om het SQL Server TLS/SSL-broncertificaat te valideren wanneer de communicatielaag wordt versleuteld met behulp van TLS.
/SourcePassword: /sp: {string} Voor SQL Server-verificatiescenario's definieert u het wachtwoord dat moet worden gebruikt voor toegang tot de brondatabase.
/SourceServerName: /ssn: {string} Hiermee definieert u de naam van de server die als host fungeert voor de brondatabase.
/SourceTimeout: /st: {int} Hiermee geeft u de time-out voor het tot stand brengen van een verbinding met de brondatabase in seconden.
/SourceTrustServerCertificate: /stsc: {True|False} Hiermee geeft u op of TLS moet worden gebruikt voor het versleutelen van de brondatabaseverbinding en het omzeilen van de certificaatketen om de vertrouwensrelatie te valideren. De standaardwaarde is Onwaar.
/SourceUser: /su: {string} Voor SQL Server-verificatiescenario's definieert u de SQL Server-gebruiker die moet worden gebruikt voor toegang tot de brondatabase.
/TargetFile: /tf: {string} Hiermee specificeert u een doelbestand (dat wil zeggen, een DACPAC-bestand) om als doel voor de actie te gebruiken in plaats van een database. Als deze parameter wordt gebruikt, is er geen andere doelparameter geldig. Deze parameter is ongeldig voor acties die alleen databasedoelen ondersteunen.
/TenantId: /tid: {string} Vertegenwoordigt de Microsoft Entra-tenant-ID of domeinnaam. Deze optie is vereist voor de ondersteuning van gast- of geïmporteerde Microsoft Entra-gebruikers en Microsoft-accounts, zoals outlook.com, hotmail.com of live.com. Als deze parameter wordt weggelaten, wordt de standaardtenant-id voor Microsoft Entra-id gebruikt, ervan uitgaande dat de geverifieerde gebruiker een systeemeigen gebruiker is voor deze tenant. In dit geval worden gast- of geïmporteerde gebruikers en/of Microsoft-accounts die worden gehost in deze Microsoft Entra-id echter niet ondersteund en mislukt de bewerking.
Zie Universele verificatie met SQL Database en Azure Synapse Analytics (SSMS-ondersteuning voor MFA)voor meer informatie.
/ThreadMaxStackSize: /tmss: {int} Hiermee geeft u de maximale grootte in megabytes voor de thread waarop de SqlPackage-actie wordt uitgevoerd. Deze optie mag alleen worden gebruikt bij het tegenkomen van stack-overloop-uitzonderingen die optreden bij het parseren van zeer grote Transact-SQL-instructies.
/UniversalAuthentication: /ua: {True|False} Hiermee geeft u op of universele verificatie moet worden gebruikt. Als deze is ingesteld op True, wordt het interactieve verificatieprotocol geactiveerd dat MFA ondersteunt. Deze optie kan ook worden gebruikt voor Microsoft Entra-verificatie zonder MFA, met behulp van een interactief protocol waarbij de gebruiker zijn gebruikersnaam en wachtwoord of geïntegreerde verificatie (Windows-referenties) moet invoeren. Wanneer /UniversalAuthentication is ingesteld op True, kan er geen Microsoft Entra-verificatie worden opgegeven in SourceConnectionString (/scs). Wanneer /UniversalAuthentication is ingesteld op False, moet Microsoft Entra-verificatie worden opgegeven in SourceConnectionString (/scs).
Zie Universele verificatie met SQL Database en Azure Synapse Analytics (SSMS-ondersteuning voor MFA)voor meer informatie.

Eigenschappen die specifiek zijn voor de actie Exporteren

Property Value Description
/p: CommandTimeout=(INT32 '60') Hiermee geeft u de time-out van de opdracht in seconden bij het uitvoeren van query's op SQL Server.
/p: CompressionOption=({Normal|Maximum|Fast|SuperFast|NotCompressed} 'Normal') Geeft het type compressie aan.
/p: DatabaseLockTimeout=(INT32 '60') Hiermee geeft u de time-out voor de databasevergrendeling in seconden op bij het uitvoeren van query's op SQLServer. Gebruik -1 om voor onbepaalde tijd te wachten.
/p: HashObjectNamesInLogs=(BOOLEAN 'False') Hiermee geeft u op of alle objectnamen in logboeken moeten worden vervangen door een willekeurige hash-waarde.
/p: IgnoreIndexesStatisticsOnEnclaveEnabledColumns=(BOOLEAN 'False') Hiermee geeft u op of indexen of statistieken voor kolommen die zijn versleuteld met behulp van gerandomiseerde versleuteling en enclave-versleutelingssleutels moeten worden genegeerd (niet opgenomen in de gegenereerde bacpac). (Standaard: onwaar) blokkeert elke index of statistiek voor een kolom die versleuteld is met behulp van gerandomiseerde versleuteling en een enclave-versleutelingssleutel de exportactie.
/p: LongRunningCommandTimeout=(INT32 '0') Hiermee specificeert u de timeout voor langlopende opdrachten in seconden bij het uitvoeren van queries op een SQL Server. Gebruik 0 om voor onbepaalde tijd te wachten.
/p: Storage=({File|Memory}) Geeft het type achterliggende opslag voor het schemamodel dat tijdens extractie wordt gebruikt. Geheugen is standaard voor .NET Core-versie van SqlPackage. 'Bestand' is alleen beschikbaar en standaard voor .NET Framework-versie van SqlPackage.
/p: TableData=(STRING) Geeft de tabel aan waaruit gegevens worden geëxtraheerd. Geef de tabelnaam op met of zonder de haken rond de naamonderdelen in de volgende indeling: schema_name.table_identifier. Deze eigenschap kan meerdere keren worden opgegeven om meerdere opties aan te geven.
/p: TargetEngineVersion=({Default|Latest|V11|V12} 'Latest') Deze eigenschap is afgeschaft en het gebruik wordt niet aanbevolen. Hiermee geeft u de versie op die de doelengine voor Azure SQL Database moet zijn.
/p: TempDirectoryForTableData=(STRING) Hiermee geeft u een alternatieve tijdelijke map die wordt gebruikt om tabelgegevens te bufferen voordat deze naar het pakketbestand worden geschreven. De benodigde ruimte op deze locatie kan groot zijn en is relatief ten opzichte van de volledige grootte van de database.
/p: VerifyExtraction=(BOOLEAN 'True') Hiermee geeft u op of het geëxtraheerde schemamodel moet worden geverifieerd. Als deze optie is ingesteld op true, worden schemavalidatieregels uitgevoerd op de dacpac of bacpac.
/p: VerifyFullTextDocumentTypesSupported=(BOOLEAN 'False') Hiermee geeft u op of de ondersteunde documenttypen voor volledige tekst voor Microsoft Azure SQL Database v12 moeten worden geverifieerd.

Next Steps