Sdílet prostřednictvím


Parametry a vlastnosti importu SqlPackage

Akce Import SqlPackage importuje schéma a data tabulky ze souboru BACPAC (.bacpac) do nové nebo prázdné databáze v SQL Serveru nebo Azure SQL Database. V době importu do existující databáze nemůže cílová databáze obsahovat žádné objekty schématu definované uživatelem. Případně můžete novou databázi vytvořit akcí importu, když má ověřený uživatel oprávnění k vytvoření databáze. Akce Import je součástí funkce přenositelnosti databáze SqlPackage.

Poznámka:

I když je Microsoft Entra ID novým názvem pro Azure Active Directory (Azure AD), aby nedošlo k narušení stávajících prostředí, Azure AD stále zůstává v některých pevně zakódovaných prvcích, jako jsou pole uživatelského rozhraní, zprostředkovatelé připojení, chybové kódy a příkazy cmdlet. V tomto článku jsou tyto dva názvy zaměnitelné.

Poznámka:

Import SqlPackage funguje nejlépe pro databáze pod 200 GB. U větších databází můžete chtít optimalizovat operaci pomocí vlastností dostupných v tomto článku a tipů pro řešení potíží s sqlPackage nebo případně dosáhnout přenositelnosti databáze prostřednictvím dat v souborech Parquet.

Syntaxe příkazového řádku

SqlPackage iniciuje akce zadané pomocí parametrů, vlastností a proměnných SQLCMD zadaných na příkazovém řádku.

SqlPackage /Action:Import {parameters} {properties}

Požadované parametry

Akce importu vyžaduje SourceFile parametr pro zadání názvu a umístění souboru .bacpac obsahujícího databázové objekty a data.

Akce exportu vyžaduje cílové připojení, ve kterém bude vytvořena nová databáze sqlPackage nebo kde je k dispozici prázdná databáze. Toto je stanoveno buď kombinací:

  • TargetServerName a TargetDatabaseName parametry nebo hodnoty
  • TargetConnectionString parametr.

Příklady

# 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;"

Parametry akce Import

Parametr Krátký formulář Hodnota Popis
/AccessToken: /at: {string} Určuje přístupový token pro ověřování na základě tokenu, který se má použít při připojení k cílové databázi.
/Akce: /a: Dovoz Určuje akci, která se má provést.
/AzureCloudConfig: /Acc: {string} Určuje vlastní koncové body pro připojení k ID Microsoft Entra ve formátu: AzureActiveDirectoryAuthority={value}; DatabaseServicePrincipalName={value}" .
Diagnostika: /d: {Pravda|Nepravda} Určuje, zda se protokolování diagnostiky vypisuje na konzoli. Výchozí hodnota je False.
/DiagnosticsFile: /df: {string} Určuje soubor pro ukládání diagnostických protokolů.
/DiagnosticsLevel: /dl {None|Vypnuto|Kritické|Chyba|Upozornění|Informace|Podrobné} Určuje úrovně trasovacích zpráv filtrovaných diagnostickým souborem.
/DiagnosticsPackageFile: /dpf {string} Určuje soubor pro uložení diagnostického balíčku.
/MaxParallelism: /mp: {int} Určuje stupeň paralelismu pro souběžné operace spuštěné v databázi. Výchozí hodnota je 8.
/ModelFilePath: /mfp: {string} Určuje cestu k souboru, která přepíše model.xml ve zdrojovém souboru. Použití tohoto nastavení může vést k selhání nasazení nebo neúmyslné ztrátě dat. Toto nastavení je určené jenom pro řešení potíží s publikováním, importem nebo generováním skriptů.
/Vlastnosti: /p: {PropertyName}={Value} Určuje pár názvu a hodnoty pro vlastnost, která je specifická pro akci ; {PropertyName}={Value}.
/Tichý: /q: {Pravda|Nepravda} Určuje, jestli je potlačena podrobná zpětná vazba. Výchozí hodnota je False.
/SourceFile: /sf: {string} Určuje zdrojový soubor, který se má použít jako zdroj akce z místního úložiště. Pokud se tento parametr použije, nebude platný žádný jiný zdrojový parametr.
/TargetConnectionString: /tcs: {string} Určuje platný připojovací řetězec SQL Serveru nebo Azure k cílové databázi. Pokud je tento parametr zadán, použije se výhradně ze všech ostatních cílových parametrů.
/CílováDatabázeNázev: /tdn: {string} Určuje změnu názvu databáze, která je cílem akce SqlPackage.
/TargetEncryptConnection: /tec: {Volitelné|Povinné|Striktní|Pravda|Nepravda} Určuje, jestli se má pro připojení cílové databáze použít šifrování SQL. Výchozí hodnota je True.
/TargetHostNameInCertificate: /etnick: {string} Určuje hodnotu, která se použije k ověření cílového certifikátu TLS/SSL SQL Serveru při šifrování komunikační vrstvy pomocí protokolu TLS.
/TargetPassword: /tp: {string} V případě scénářů ověřování SQL Serveru definuje heslo, které se má použít pro přístup k cílové databázi.
/TargetServerName: /tsn: {string} Definuje název serveru, který je hostitelem cílové databáze.
/TargetTimeout: /tt: {int} Určuje časový limit pro navázání připojení k cílové databázi v sekundách. U ID Microsoft Entra se doporučuje, aby tato hodnota byla větší nebo rovna 30 sekund.
/TargetTrustServerCertificate: /ttsc: {Pravda|Nepravda} Určuje, jestli se má protokol TLS použít k šifrování připojení k cílové databázi a obejít procházení řetězu certifikátů k ověření důvěryhodnosti. Výchozí hodnota je False.
/TargetUser: /tu: {string} V případě scénářů ověřování SQL Serveru definuje uživatele SQL Serveru, který se má použít pro přístup k cílové databázi.
/TenantId: /tid: {string} Představuje ID tenanta Microsoft Entra nebo název domény. Tato možnost se vyžaduje pro podporu hosta nebo importovaných uživatelů Microsoft Entra a účtů Microsoft, jako jsou outlook.com, hotmail.com nebo live.com. Pokud tento parametr vynecháte, použije se výchozí ID tenanta pro Microsoft Entra ID za předpokladu, že ověřený uživatel je nativním uživatelem pro tuto službu AD. V tomto případě se ale nepodporují účty hosta nebo importované uživatele nebo účty Microsoft hostované v tomto ID Microsoft Entra a operace se nezdaří.
Další informace najdete v tématu univerzálního ověřování pomocí služby SQL Database a Azure Synapse Analytics (podpora SSMS pro vícefaktorové ověřování).
/ThreadMaxStackSize: /tmss: {int} Určuje maximální velikost v megabajtech pro vlákno, ve kterém je spuštěna akce SqlPackage. Tato možnost by se měla použít pouze při výskytu výjimek přetečení zásobníku, ke kterým dochází při zpracování velmi velkých příkazů Transact-SQL.
/UniversalAuthentication: /ua: {Pravda|Nepravda} Určuje, jestli se má použít univerzální ověřování. Pokud je nastavená hodnota True, aktivuje se interaktivní ověřovací protokol podporující vícefaktorové ověřování. Tuto možnost lze použít také pro ověřování Microsoft Entra bez vícefaktorového ověřování pomocí interaktivního protokolu, který vyžaduje, aby uživatel zadal své uživatelské jméno a heslo nebo integrované ověřování (přihlašovací údaje systému Windows). Pokud je parametr /UniversalAuthentication nastaven na hodnotu True, nelze v cestě SourceConnectionString (/scs) zadat žádné ověřování Microsoft Entra. Pokud je parametr /UniversalAuthentication nastaven na hodnotu False, musí být v cestě SourceConnectionString (/scs) zadáno ověřování Microsoft Entra.
Další informace najdete v tématu univerzálního ověřování pomocí služby SQL Database a Azure Synapse Analytics (podpora SSMS pro vícefaktorové ověřování).

Vlastnosti specifické pro akci Import

Vlastnictví Hodnota Popis
/p: CommandTimeout=(INT32 '60') Určuje časový limit příkazu v sekundách při provádění dotazů na SQL Server.
/p: DatabaseEdition=({ Basic | Standardní | Premium | Datový Sklad | Obecný Účel | Kritický Provoz | Hyperscale | Výchozí } Výchozí) Definuje edici Azure SQL Database. Viz úrovně služby Azure SQL Database.
/p: DatabaseLockTimeout=(INT32 '60') Určuje časový limit uzamčení databáze v sekundách při spouštění dotazů na SQLServer. Použijte -1 k čekání na neomezenou dobu.
/p: DatabaseMaximumSize=(INT32 '0') Definuje maximální velikost v GB služby Azure SQL Database.
/p: DatabaseServiceObjective=(STRING) Definuje úroveň výkonu služby Azure SQL Database, například P0 nebo S1.
/p: DisableIndexesForDataPhase=(BOOLEAN 'Pravda') Pokud je hodnota true (výchozí), zakáže indexy před importem dat. Pokud je false, indexy nejsou znovu sestaveny.
/p: DisableParallelismForEnablingIndexes=(BOOLEAN 'Nepravda') Při opětovném sestavení indexů při importu dat do SQL Serveru nepoužíváte paralelismus.
/p: HashObjectNamesInLogs=(BOOLEAN 'Nepravda') Určuje, zda se mají nahradit všechny názvy objektů v protokolech náhodnou hodnotou hash.
/p: ImportContributorArguments=(STRING) Určuje argumenty přispěvatele nasazení pro přispěvatele nasazení. Tato vlastnost by měla být seznam hodnot oddělených středníkem.
/p: ImportContributorPaths=(ŘETĚZEC) Určuje cesty pro načtení dodatečných importních komponent. Tato vlastnost by měla být seznam hodnot oddělených středníkem.
/p: ImportovatPřispěvatele=(STRING) Určuje přispěvatele nasazení, které by se měly spustit při importu souboru bacpac. Tato vlastnost by měla být seznamem odděleným středníkem a obsahovat plně kvalifikovaná jména přispěvatelů sestavení nebo ID.
/p: LongRunningCommandTimeout=(INT32 '0') Určuje časový limit dlouhotrvajícího příkazu v sekundách při provádění dotazů na SQL Server. Použijte 0 k čekání na neomezenou dobu.
/p: PreserveIdentityLastValues=(BOOLEAN 'False') Určuje, jestli se mají během nasazování zachovat poslední hodnoty sloupců identity.
/p: PřestavětIndexyOfflineProDataFázi=(BOOLEAN 'Nepravda') Pokud je pravda, znovu sestaví indexy offline po importu dat do SQL Serveru.
/p: Storage=({Soubor|Paměť}) Určuje, jak se prvky ukládají při sestavování modelu databáze. Z důvodů výkonu je výchozí hodnota InMemory. Pro velké databáze je vyžadováno úložiště s podporou souborů.

Další kroky