Delen via


SqlPackage Import-parameters en -eigenschappen

Met de importactie SqlPackage worden de schema- en tabelgegevens uit een BACPAC-bestand (.bacpac) geïmporteerd in een nieuwe of lege database in SQL Server of Azure SQL Database. Op het moment van de importbewerking naar een bestaande database kan de doeldatabase geen door de gebruiker gedefinieerde schemaobjecten bevatten. U kunt ook een nieuwe database maken door de importactie wanneer de geverifieerde gebruiker databasemachtigingen heeft gemaakt. De importactie maakt deel uit van de functionaliteit voor databaseportabiliteit van SqlPackage.

Opmerking

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.

Opmerking

SqlPackage-import 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.

De syntaxis van de opdrachtregel

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

SqlPackage /Action:Import {parameters} {properties}

Vereiste parameters

Voor de importactie is een SourceFile parameter vereist om de naam en locatie op te geven van het BACPAC-bestand met de databaseobjecten en -gegevens.

Voor de exportactie is een doelverbinding vereist waarbij een nieuwe database wordt gemaakt door SqlPackage of waar een lege database aanwezig is. Dit wordt opgegeven via een combinatie van:

  • TargetServerName en TargetDatabaseName parameters, of
  • TargetConnectionString parameter.

Voorbeelden

# example import to Azure SQL Database using SQL authentication and a connection string
SqlPackage /Action:Import /SourceFile:"C:\AdventureWorksLT.bacpac" \
    /TargetConnectionString:"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 import using short form parameter names
SqlPackage /a:Import /tsn:"{yourserver}.database.windows.net,1433" /tdn:"AdventureWorksLT" /tu:"sqladmin" \
    /tp:"{your_password}" /sf:"C:\AdventureWorksLT.bacpac"

# example import using Microsoft Entra managed identity
SqlPackage /Action:Import /SourceFile:"C:\AdventureWorksLT.bacpac" \
    /TargetConnectionString:"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 import connecting using Microsoft Entra username and password
SqlPackage /Action:Import /SourceFile:"C:\AdventureWorksLT.bacpac" \
    /TargetConnectionString:"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 import connecting using Microsoft Entra universal authentication
SqlPackage /Action:Import /SourceFile:"C:\AdventureWorksLT.bacpac" /UniversalAuthentication:True \
    /TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"

Parameters voor de actie Importeren

Maatstaf Korte vorm Waarde Beschrijving
/AccessToken: /at: {string} Hiermee geeft u het verificatietoegangstoken op basis van tokens op dat moet worden gebruikt wanneer u verbinding maakt met de doeldatabase.
/Actie: /a: Importeren 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}" .
/Diagnostiek: /d: {Waar|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 {Geen|Uit|Kritiek|Fout|Waarschuwing|Informatie |Uitgebreid} Hiermee specificeert u de niveaus van traceringsberichten die het gefilterde diagnostische bestand bepalen.
/DiagnosticsPackageFile: /dpf {string} Specificeert een bestand om het diagnostisch pakket op te slaan.
/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.
/ModelFilePath: /mfp: {string} Hiermee geeft u het bestandspad op om de model.xml in het bronbestand te overschrijven. Het gebruik van deze instelling kan leiden tot een implementatiefout en/of onbedoeld gegevensverlies. Deze instelling is alleen bedoeld voor gebruik bij het oplossen van problemen met publiceren, importeren of scriptgeneratie.
/Eigenschappen: /p: {PropertyName}={Value} Hiermee geeft u een naamwaardepaar voor een actiespecifieke eigenschap; {PropertyName}={Value}.
/Rustig: /q: {Waar|False} Hiermee geeft u op of gedetailleerde feedback wordt onderdrukt. De standaardwaarde is False.
/SourceFile: /sf: {string} Hiermee geeft u een bronbestand op dat wordt gebruikt als de bron van de actie uit lokale opslag. Als deze parameter wordt gebruikt, is er geen andere bronparameter geldig.
/TargetConnectionString: /tcs: {string} Hiermee geeft u een geldige SQL Server/Azure-verbindingsreeks aan de doeldatabase. Indien deze parameter is opgegeven, wordt deze uitsluitend gebruikt van alle andere doelparameters.
/TargetDatabaseName: /tdn: {string} Hiermee specificeert u een overschrijving voor de naam van de database die het doel van SqlPackage Action is.
/TargetEncryptConnection: /tec: {Optioneel|Verplicht|Strikt|Waar|Onwaar} Hiermee geeft u op of SQL-versleuteling moet worden gebruikt voor de doeldatabaseverbinding. De standaardwaarde is Waar.
/TargetHostNameInCertificate: /etnisch: {string} Hiermee geeft u de waarde op die wordt gebruikt om het DOEL-SQL Server TLS/SSL-certificaat te valideren wanneer de communicatielaag wordt versleuteld met behulp van TLS.
/TargetPassword: /tp: {string} Voor SQL Server-verificatiescenario's definieert u het wachtwoord dat moet worden gebruikt voor toegang tot de doeldatabase.
/TargetServerName: /tsn: {string} Hiermee definieert u de naam van de server die als host fungeert voor de doeldatabase.
/TargetTimeout: /tt: {int} Hiermee geeft u de time-out voor het tot stand brengen van een verbinding met de doeldatabase in seconden. Voor Microsoft Entra-id wordt aanbevolen dat deze waarde groter is dan of gelijk is aan 30 seconden.
/TargetTrustServerCertificate: /ttsc: {Waar|False} Hiermee geeft u op of TLS moet worden gebruikt om de doeldatabaseverbinding te versleutelen en de certificaatketen te omzeilen om de vertrouwensrelatie te valideren. De standaardwaarde is Onwaar.
/TargetUser: /tu: {string} Voor SQL Server-verificatiescenario's definieert u de SQL Server-gebruiker die moet worden gebruikt voor toegang tot de doeldatabase.
/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 voor deze AD is. 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: {Waar|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 Importeren

Vastgoed Waarde Beschrijving
/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: DatabaseEdition=({ Basic | Standaard | Premium | DataWarehouse | GeneralPurpose | BusinessCritical | Hyperscale | Default } 'Default') Hiermee definieert u de editie van een Azure SQL Database. Zie Azure SQL Database-serviceniveaus.
/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: DatabaseMaximumSize=(INT32 '0') Hiermee definieert u de maximale grootte in GB van een Azure SQL Database.
/p: DatabaseDienstDoelstelling=(STRING) Definieert het prestatieniveau van een Azure SQL Database, zoals P0 of S1.
/p: DisableIndexesForDataPhase=(BOOLEAN 'Waar') Wanneer waar (standaard), schakelt u indexen uit voordat u gegevens importeert. Als dit onwaar is, worden indexen niet opnieuw opgebouwd.
/p: DisableParallelismForEnablingIndexes=(BOOLEAAN 'False') Gebruik geen parallelle uitvoering bij het opnieuw opbouwen van indexen tijdens het importeren van gegevens in SQL Server.
/p: HashObjectNamesInLogs=(BOOLEAN 'False') Hiermee geeft u op of alle objectnamen in logboeken moeten worden vervangen door een willekeurige hash-waarde.
/p: ImportContributorArguments=(STRING) Hiermee specificeert u argumenten voor de implementatiebijdragers. Deze eigenschap moet een door puntkomma's gescheiden lijst met waarden zijn.
/p: ImportContributorPaths=(STRING) Hiermee geeft u paden op voor het laden van extra importbijdragers. Deze eigenschap moet een door puntkomma's gescheiden lijst met waarden zijn.
/p: ImportContributors=(STRING) Hiermee geeft u de implementatiebijdragers op, die moeten worden uitgevoerd wanneer de bacpac wordt geïmporteerd. Deze eigenschap moet bestaan uit een door puntkomma's gescheiden lijst van volledig gekwalificeerde namen of ID's van buildbijdragers.
/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: PreserveIdentityLastValues=(BOOLEAN 'False') Hiermee geeft u op of de laatste waarden voor identiteitskolommen moeten worden bewaard tijdens de implementatie.
/p: RebuildIndexesOfflineForDataPhase=(BOOLEAN 'False') Als dit waar is, worden indexen offline opnieuw opgebouwd na het importeren van gegevens in SQL Server.
/p: Storage=({File|Geheugen}) Hiermee geeft u op hoe elementen worden opgeslagen bij het bouwen van het databasemodel. Om prestatieredenen is de standaardwaarde InMemory. Voor grote databases is bestandsgebaseerde opslag vereist.

Volgende stappen