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 Extrakce SqlPackage vytvoří schéma připojené databáze v souboru DACPAC (.dacpac). Ve výchozím nastavení nejsou data zahrnuta do souboru .dacpac. Pokud chcete zahrnout data, použijte akci Export nebo použijte extrahovat vlastnosti ExtractAllTableData TableData/.
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é.
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:Extract {parameters} {properties}
Poznámka:
Když se extrahuje databáze s přihlašovacími údaji k heslu (například uživatel ověřování SQL), nahradí se heslo jiným heslem vhodné složitosti. Uživatelé SqlPackage nebo DacFx by měli po publikování souboru dacpac změnit heslo.
Příklady
# example extract to create a schema-only .dacpac file connecting using SQL authentication
SqlPackage /Action:Extract /TargetFile:{filename}.dacpac /DiagnosticsFile:{logFile}.log /p:ExtractAllTableData=false /p:VerifyExtraction=true \
/SourceServerName:{serverFQDN} /SourceDatabaseName:{databaseName} /SourceUser:{username} /SourcePassword:{password}
# example extract to create a .sql file containing the schema definition of the database
SqlPackage /Action:Extract /TargetFile:{filename}.dacpac /DiagnosticsFile:{logFile}.log /SourceServerName:{serverFQDN} \
/SourceDatabaseName:{databaseName} /SourceUser:{username} /SourcePassword:{password} /p:ExtractTarget=File
# example extract to create a .dacpac file with data connecting using SQL authentication
SqlPackage /Action:Extract /TargetFile:{filename}.dacpac /DiagnosticsFile:{logFile}.log /p:ExtractAllTableData=true /p:VerifyExtraction=true \
/SourceServerName:{serverFQDN} /SourceDatabaseName:{databaseName} /SourceUser:{username} /SourcePassword:{password}
# example extract to create a schema-only .dacpac file connecting using Microsoft Entra managed identity
SqlPackage /Action:Extract /TargetFile:"C:\AdventureWorksLT.dacpac" \
/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 extract to create a schema-only .dacpac file connecting using Microsoft Entra username and password
SqlPackage /Action:Extract /TargetFile:"C:\AdventureWorksLT.dacpac" \
/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 extract to create a schema-only .dacpac file connecting using Microsoft Entra universal authentication
SqlPackage /Action:Extract /TargetFile:"C:\AdventureWorksLT.dacpac" /UniversalAuthentication:True \
/SourceConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
# example extract to create a schema-only .dacpac file connecting using an access token associated with a service principal
$Account = Connect-AzAccount -ServicePrincipal -Tenant $Tenant -Credential $Credential
$AccessToken_Object = (Get-AzAccessToken -Account $Account -Resource "https://database.windows.net/")
$AccessToken = $AccessToken_Object.Token
SqlPackage /at:$AccessToken /Action:Extract /TargetFile:"C:\AdventureWorksLT.dacpac" \
/SourceConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
# OR
SqlPackage /at:$($AccessToken_Object.Token) /Action:Extract /TargetFile:"C:\AdventureWorksLT.dacpac" \
/SourceConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
Parametry akce Extrakce
| Parametr | Krátký formulář | Hodnota | Popis |
|---|---|---|---|
| /AccessToken: | /at: | {string} | Určuje přístupový token pro ověřování na základě tokenů, který se má použít při připojení k cílové databázi. |
| /Akce: | /a: | Vytáhnout | 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í nastavení 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. |
| /MaxParallelism: | /mp: | {int} | Určuje stupeň paralelismu pro souběžné operace spuštěné v databázi. Výchozí hodnota je 8. |
| /OverwriteFiles: | /of: | {Pravda|Nepravda} | 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. |
| /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í nastavení 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: | /sek: | {Volitelné|Povinné|Striktní|Pravda|Nepravda} | 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. |
| /ZdrojovéHeslo: | /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: | /r.č.: | {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: | {Pravda|Nepravda} | 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) v místním úložišti, 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 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 Extrakce
| Vlastnictví | Hodnota | Popis |
|---|---|---|
| /p: | AzureSharedAccessSignatureToken=(STRING) | Token sdíleného přístupového podpisu Azure (SAS). Viz SqlPackage pro Azure Synapse Analytics a SqlPackage s daty v souborech Parquet. |
| /p: | AzureStorageBlobEndpoint=(STRING) | Koncový bod služby Azure Blob Storage Viz SqlPackage pro Azure Synapse Analytics a SqlPackage s daty v souborech Parquet. |
| /p: | AzureStorageContainer=(STRING) | Kontejner služby Azure Blob Storage Viz SqlPackage pro Azure Synapse Analytics a SqlPackage s daty v souborech Parquet. |
| /p: | AzureStorageKey=(STRING) | Klíč účtu úložiště Azure. Viz SqlPackage pro Azure Synapse Analytics a SqlPackage s daty v souborech Parquet. |
| /p: | AzureStorageRootPath=(STRING) | Kořenová cesta úložiště v rámci kontejneru. Bez této vlastnosti se cesta ve výchozím nastavení použije jako servername/databasename/timestamp/. Viz SqlPackage pro Azure Synapse Analytics a SqlPackage s daty v souborech Parquet. |
| /p: | CommandTimeout=(INT32 '60') | Určuje časový limit příkazu v sekundách při provádění dotazů na SQL Server. |
| /p: | CompressionOption=({Normální|Maximální|Rychlé|VelmiRychlé|Nezkomprimováno} 'Normální') | Určuje typ komprese. |
| /p: | DacApplicationDescription=(STRING) | Definuje popis aplikace, který se má uložit v metadatech DACPAC. |
| /p: | DacApplicationName=(STRING) | Definovali jsme název aplikace, který se má uložit v metadatech DACPAC. Výchozí hodnota je název databáze. |
| /p: | DacMajorVersion=(INT32 '1') | Definuje hlavní verzi, která se má uložit v metadatech DACPAC. |
| /p: | DacMinorVersion=(INT32 '0') | Definuje podverzi, která se má uložit v metadatech DACPAC. |
| /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: | ExtractAllTableData=(BOOLEAN 'Nepravda') | Určuje, jestli se extrahují data ze všech uživatelských tabulek. Pokud je hodnota true, data ze všech uživatelských tabulek se extrahují a nemůžete určit jednotlivé uživatelské tabulky pro extrakci dat. Pokud je false, zadejte jednu nebo více uživatelských tabulek, ze které se mají extrahovat data. |
| /p: | ExtractApplicationScopedObjectsOnly=(BOOLEAN 'True') | Pokud je hodnota true, extrahujte pouze objekty s oborem aplikace pro zadaný zdroj. Pokud je false, extrahujte všechny objekty pro zadaný zdroj. |
| /p: | ExtrahovatOdkazovanéServeremScopedPrvky=(BOOLEAN 'Pravda') | Pokud je to pravda, extrahujte přihlašovací údaje, objekty auditu serveru a přístupové údaje odkazované zdrojovými databázovými objekty. |
| /p: | ExtractTarget=({DacPac|Soubor|Ploché|ObjectType|Schéma |SchemaObjectType} DacPac) | Určuje alternativní formáty výstupu schématu databáze, výchozí hodnota je DacPac pro výstup .dacpac jednoho souboru. Další možnosti výstupu jednoho nebo více .sql souborů uspořádaných buď schemaObjectType (soubory ve složkách pro každé schéma a typ objektu), Schema (soubory ve složkách pro každé schéma), ObjectType (soubory ve složkách pro každý typ objektu), Flat (všechny soubory ve stejné složce) nebo File (1 jeden soubor). |
| /p: | ExtrahovatVlastnostiPoužití=(BOOLEAN 'False') | Určuje, jestli se z databáze extrahují vlastnosti využití, například počet řádků tabulky a velikost indexu. |
| /p: | HashObjectNamesInLogs=(BOOLEAN 'Nepravda') | Určuje, zda se mají nahradit všechny názvy objektů v protokolech náhodnou hodnotou hash. |
| /p: | IgnoreExtendedProperties=(BOOLEAN 'False') | Určuje, jestli se mají rozšířené vlastnosti ignorovat. |
| /p: | IgnorePermissions=(BOOLEAN 'True') | Určuje, jestli se mají oprávnění ignorovat. |
| /p: | IgnoreUserLoginMappings=(BOOLEAN 'False') | Určuje, jestli jsou relace mezi uživateli a přihlášeními ignorovány. |
| /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=({Soubor|Paměť}) | 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í. Platí pro data extrahovaná do souborů typu .dacpac a Parquet. |
| /p: | TempDirectoryForTableData=(STRING) | Určuje dočasný adresář použitý k ukládání dat tabulky do vyrovnávací paměti před zápisem do souboru balíčku. |
| /p: | VerifyExtraction=(BOOLEAN 'Nepravda') | Určuje, jestli se má model extrahovaného schématu ověřit. |
Další kroky
- Další informace o sqlpackage
- Řešení potíží s sqlpackagem