Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Akce Export sqlPackage exportuje připojenou databázi do souboru BACPAC (.bacpac). Ve výchozím nastavení budou data pro všechny tabulky zahrnuta do souboru .bacpac. Volitelně můžete zadat pouze podmnožinu tabulek, pro které se mají exportovat data. Akce Export je součástí funkce přenositelnosti databáze SqlPackage. Aby byl export konzistentně konzistentní, musíte zajistit, aby během exportu nedošlo k žádné aktivitě zápisu nebo že exportujete z transakční konzistentní kopie databáze.
Note
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é.
Note
Export 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.
Command-line syntax
SqlPackage iniciuje akce zadané pomocí parametrů, vlastností a proměnných SQLCMD zadaných na příkazovém řádku.
SqlPackage /Action:Export {parameters} {properties}
Required parameters
Akce Export vyžaduje TargetFile parametr, který určuje název a umístění souboru .bacpac, který se má vytvořit. Toto umístění musí zapisovat uživatel, který příkaz spustí a musí existovat složka obsahující.
Akce exportu také vyžaduje zadání zdroje databáze, a to buď prostřednictvím kombinace:
-
SourceServerNameaSourceDatabaseNameparametry, nebo -
SourceConnectionStringparametr.
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;"
Parametry akce Export
| Parameter | Short Form | Value | Description |
|---|---|---|---|
| /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. |
| /Action: | /a: | Export | 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}" . |
| /Diagnostics: | /d: | {True|False} | 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|Off|Critical|Error|Warning|Information|Verbose} | Určuje úrovně trasovacích zpráv filtrovaných diagnostickým souborem. |
| /MaxParallelism: | /mp: | {int} | Určuje stupeň paralelismu pro souběžné operace spuštěné v databázi. Výchozí hodnota je 8. |
| /OverwriteFiles: | /of: | {True|False} | Určuje, jestli má SqlPackage přepsat existující soubory. Určení hodnoty false způsobí, že SqlPackage přeruší akci, pokud je zjištěn existující soubor. Výchozí hodnota je True. |
| /Properties: | /p: | {PropertyName}={Value} | Určuje dvojici hodnot názvu pro vlastnost specifickou pro akci; {PropertyName}={Value}. |
| /Quiet: | /q: | {True|False} | Určuje, jestli je potlačena podrobná zpětná vazba. Výchozí hodnota je False. |
| /SourceConnectionString: | /scs: | {string} | Určuje platný připojovací řetězec SQL Serveru nebo Azure ke zdrojové databázi. Je-li tento parametr zadán, použije se výhradně ze všech ostatních zdrojových parametrů. |
| /SourceDatabaseName: | /sdn: | {string} | Definuje název zdrojové databáze. |
| /SourceEncryptConnection: | /sec: | {Optional|Mandatory|Strict|True|False} | Určuje, jestli se má pro připojení ke zdrojové databázi použít šifrování SQL. Výchozí hodnota je True. |
| /SourceHostNameInCertificate: | /shnic: | {string} | Určuje hodnotu, která se používá k ověření zdrojového certifikátu TLS/SSL SQL Serveru při šifrování komunikační vrstvy pomocí protokolu TLS. |
| /SourcePassword: | /sp: | {string} | V případě scénářů ověřování SQL Serveru definuje heslo, které se má použít pro přístup ke zdrojové databázi. |
| /SourceServerName: | /ssn: | {string} | Definuje název serveru, který je hostitelem zdrojové databáze. |
| /SourceTimeout: | /st: | {int} | Určuje časový limit pro navázání připojení ke zdrojové databázi v sekundách. |
| /SourceTrustServerCertificate: | /stsc: | {True|False} | Určuje, jestli se má protokol TLS použít k šifrování připojení ke zdrojové databázi a obejít procházení řetězce certifikátů pro ověření důvěryhodnosti. Výchozí hodnota je False. |
| /SourceUser: | /su: | {string} | V případě scénářů ověřování SQL Serveru definuje uživatele SQL Serveru, který se má použít pro přístup ke zdrojové databázi. |
| /TargetFile: | /tf: | {string} | Určuje cílový soubor (tj. soubor .dacpac), který se použije jako cíl akce místo databáze. Pokud se tento parametr použije, nebude platný žádný jiný cílový parametr. Tento parametr je neplatný pro akce, které podporují pouze cíle databáze. |
| /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 tohoto tenanta. 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 analýze velmi velkých příkazů Transact-SQL. |
| /UniversalAuthentication: | /ua: | {True|False} | 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 Export
| Property | Value | Description |
|---|---|---|
| /p: | CommandTimeout=(INT32 '60') | Určuje časový limit příkazu v sekundách při provádění dotazů na SQL Server. |
| /p: | CompressionOption=({Normal|Maximum|Fast|SuperFast|NotCompressed} 'Normal') | Určuje typ komprese. |
| /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: | HashObjectNamesInLogs=(BOOLEAN 'False') | Určuje, zda se mají nahradit všechny názvy objektů v protokolech náhodnou hodnotou hash. |
| /p: | IgnoreIndexesStatisticsOnEnclaveEnabledColumns=(BOOLEAN 'False') | Určuje, jestli se mají ignorovat indexy nebo statistiky sloupců zašifrovaných pomocí randomizovaného šifrování a šifrovacích klíčů sloupců s povoleným enklávem (nezahrnuté do vygenerovaného souboru bacpac). Ve výchozím nastavení (false) bude jakýkoli index nebo statistika ve sloupci zašifrovaném pomocí randomizovaného šifrování a šifrovací klíč sloupce s podporou enklávy blokovat akci exportu. |
| /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: | Storage=({File|Memory}) | Určuje typ záložního úložiště pro model schématu použitý během extrakce. Paměť je výchozí pro verzi SqlPackage pro .NET Core. "Soubor" je k dispozici pouze a je výchozí pro verzi SqlPackage pro rozhraní .NET Framework. |
| /p: | TableData=(STRING) | Označuje tabulku, ze které se budou extrahovat data. Zadejte název tabulky s hranatými závorkami nebo bez nich, které obklopují části názvu v následujícím formátu: schema_name.table_identifier. Tuto vlastnost lze zadat vícekrát, aby bylo možné označit více možností. |
| /p: | TargetEngineVersion=({Default|Latest|V11|V12} 'Latest') | Tato vlastnost je zastaralá a nedoporučuje se používat. Určuje verzi cílového enginu, který se očekává pro službu Azure SQL Database. |
| /p: | TempDirectoryForTableData=(STRING) | Určuje alternativní dočasný adresář použitý k ukládání dat tabulky do vyrovnávací paměti před zápisem do souboru balíčku. Požadované místo v tomto umístění může být velké a je relativní vzhledem k plné velikosti databáze. |
| /p: | VerifyExtraction=(BOOLEAN 'True') | Určuje, jestli se má model extrahovaného schématu ověřit. Pokud je nastavená hodnota true, pravidla ověření schématu se spouští v souboru dacpac nebo bacpac. |
| /p: | VerifyFullTextDocumentTypesSupported=(BOOLEAN 'False') | Určuje, jestli se mají ověřit podporované fulltextové typy dokumentů pro Microsoft Azure SQL Database v12. |
Next Steps
- Další informace o sqlpackage
- Řešení potíží s sqlpackagem
- Export do služby Azure Blob Storage