Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az SqlPackage Export művelet exportál egy csatlakoztatott adatbázist egy BACPAC-fájlba (.bacpac). Alapértelmezés szerint az összes tábla adatai szerepelni fognak a .bacpac fájlban. Opcionálisan csak a táblák egy részhalmazát adhatja meg, amelyek adatait exportálni szeretné. Az exportálási művelet az SqlPackage adatbázis-hordozhatóságának része. Ahhoz, hogy az exportálás tranzakciós konzisztens legyen, győződjön meg arról, hogy az exportálás során nem történik írási tevékenység, vagy az adatbázis tranzakciósan konzisztens másolatából exportál.
Note
Bár a Microsoft Entra ID az Azure Active Directory (Azure AD) új neve, a meglévő környezetek megzavarásának megakadályozása érdekében az Azure AD továbbra is megmarad néhány kódoltan rögzített elemben, például a felhasználói felület mezőiben, kapcsolatszolgáltatókban, hibakódokban és parancsmagokban. Ebben a cikkben a két név felcserélhető.
Note
Az SqlPackage exportálása a legjobban a 200 GB-nál régebbi adatbázisok esetében teljesít. Nagyobb adatbázisok esetén érdemes lehet optimalizálni a műveletet az ebben a cikkben elérhető tulajdonságok és az SqlPackage hibaelhárítási tippjeinek használatával, vagy az adatbázis hordozhatóságának elérésére a parquet-fájlok adatain keresztül.
Parancssori szintaxis
SqlPackage elindítja a parancssorban megadott paraméterek, tulajdonságok és SQLCMD-változók használatával megadott műveleteket.
SqlPackage /Action:Export {parameters} {properties}
Kötelező paraméterek
Az exportálási művelethez paraméter TargetFile szükséges a létrehozandó .bacpac fájl nevének és helyének megadásához. Ezt a helyet írhatónak kell lennie a parancsot futtató felhasználó számára, és a tartalmazó mappának léteznie kell.
Az exportálási művelethez egy adatbázis-forrást is meg kell adni a következők kombinációjával:
-
SourceServerNameésSourceDatabaseNameparamétereket, vagy -
SourceConnectionStringparaméter.
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;"
Az Exportálás művelet paraméterei
| Parameter | Rövid űrlap | Value | Description |
|---|---|---|---|
| /AccessToken: | /at: | {string} | Megadja a céladatbázishoz való csatlakozáskor használni kívánt jogkivonatalapú hitelesítési hozzáférési jogkivonatot. |
| /Action: | /a: | Export | Megadja a végrehajtandó műveletet. |
| /AzureCloudConfig: | /acc: | {string} | Megadja a Microsoft Entra-azonosítóhoz való csatlakozás egyéni végpontjait a következő formátumban: AzureActiveDirectoryAuthority={value}; DatabaseServicePrincipalName={value}" . |
| /Diagnostics: | /d: | {True|False} | Meghatározza, hogy a diagnosztikai naplózás kimenetként szolgál-e a konzolon. Alapértelmezés szerint hamis. |
| /DiagnosticsFile: | /df: | {string} | A diagnosztikai naplók tárolására használható fájlt adja meg. |
| /DiagnosticsLevel: | /dl | {None|Off|Critical|Error|Warning|Information|Verbose} | Meghatározza a diagnosztikai fájl szűrt nyomkövetési üzeneteinek szintjeit. |
| /MaxParallelism: | /mp: | {int} | Az adatbázison futó párhuzamos műveletek párhuzamossági fokát adja meg. Az alapértelmezett érték 8. |
| /OverwriteFiles: | /of: | {True|False} | Megadja, hogy az SqlPackage felülírja-e a meglévő fájlokat. Ha hamis értéket ad meg, az SqlPackage megszakítja a műveletet, ha egy meglévő fájlba ütközik. Az alapértelmezett érték Igaz. |
| /Properties: | /p: | {PropertyName}={Value} | Egy műveletspecifikus tulajdonság névértékpárjának megadása; {PropertyName}={Value}. |
| /Quiet: | /q: | {True|False} | Meghatározza, hogy a rendszer letiltja-e a részletes visszajelzést. Alapértelmezés szerint hamis. |
| /SourceConnectionString: | /scs: | {string} | Érvényes SQL Server és Azure kapcsolati karakterláncot ad meg a forrásadatbázishoz. Ha ezt a paramétert adják meg, kizárólag ezt kell használni, minden más forrásparaméter helyett. |
| /SourceDatabaseName: | /sdn: | {string} | Meghatározza a forrásadatbázis nevét. |
| /SourceEncryptConnection: | /sec: | {Optional|Mandatory|Strict|True|False} | Megadja, hogy a forrásadatbázis-kapcsolathoz SQL-titkosítást kell-e használni. Az alapértelmezett érték Igaz. |
| /SourceHostNameInCertificate: | /shnic: | {string} | A forrás SQL Server TLS/SSL-tanúsítvány ellenőrzéséhez használt értéket adja meg, ha a kommunikációs réteg TLS használatával van titkosítva. |
| /SourcePassword: | /sp: | {string} | Az SQL Server hitelesítési forgatókönyveinél a forrásadatbázis eléréséhez használandó jelszót határozza meg. |
| /SourceServerName: | /ssn: | {string} | Meghatározza a forrásadatbázist üzemeltető kiszolgáló nevét. |
| /SourceTimeout: | /st: | {int} | Meghatározza a kapcsolat létrehozásának időtúllépését a forrásadatbázishoz, másodpercekben. |
| /SourceTrustServerCertificate: | /stsc: | {True|False} | Megadja, hogy a TLS használatával titkosítja-e a forrásadatbázis-kapcsolatot, és megkerüli-e a tanúsítványláncot a megbízhatóság ellenőrzéséhez. Az alapértelmezett érték Hamis. |
| /SourceUser: | /su: | {string} | Az SQL Server hitelesítési forgatókönyveinél a forrásadatbázis eléréséhez használni kívánt SQL Server-felhasználót határozza meg. |
| /TargetFile: | /tf: | {string} | Meghatároz egy célfájlt (azaz egy .dacpac fájlt), amelyet az adatbázis helyett a művelet céljaként használ. Ha ezt a paramétert használja, más célparaméter nem lehet érvényes. Ez a paraméter érvénytelen az olyan műveletek esetében, amelyek csak az adatbázis-célokat támogatják. |
| /TenantId: | /tid: | {string} | A Microsoft Entra bérlőazonosítóját vagy tartománynevét jelöli. Ez a beállítás a vendég- vagy importált Microsoft Entra-felhasználók, valamint a Microsoft-fiókok, például outlook.com, hotmail.com vagy live.com támogatásához szükséges. Ha ez a paraméter nincs megadva, a rendszer a Microsoft Entra-azonosító alapértelmezett bérlőazonosítóját használja, feltéve, hogy a hitelesített felhasználó a bérlő natív felhasználója. Ebben az esetben azonban az ebben a Microsoft Entra-azonosítóban üzemeltetett vendég- vagy importált felhasználók és/vagy Microsoft-fiókok nem támogatottak, és a művelet sikertelen lesz. További információkért tekintse meg az SQL Database és az Azure Synapse Analytics univerzális hitelesítését (SSMS-támogatás az MFA-hoz) című témakört. |
| /ThreadMaxStackSize: | /tmss: | {int} | Megadja az SqlPackage műveletet futtató szál maximális méretét megabájtban. Ez az opció csak akkor célszerű használni, ha a verem túlcsordulási kivételei nagyon nagy Transact-SQL utasítások elemzésekor fordulnak elő. |
| /UniversalAuthentication: | /ua: | {True|False} | Megadja, hogy univerzális hitelesítést kell-e használni. Ha Igaz értékre van állítva, az interaktív hitelesítési protokoll aktiválódik az MFA támogatásával. Ez a beállítás használható MFA nélküli Microsoft Entra-hitelesítéshez is, egy interaktív protokoll használatával, amely megköveteli a felhasználótól, hogy adja meg a felhasználónevét és jelszavát, illetve az integrált hitelesítést (Windows-hitelesítő adatokat). Ha a /UniversalAuthentication értéke Igaz, a SourceConnectionStringben (/scs) nem adható meg Microsoft Entra-hitelesítés. Ha a /UniversalAuthentication értéke Hamis, a Microsoft Entra-hitelesítést meg kell adni a SourceConnectionStringben (/scs). További információkért tekintse meg az SQL Database és az Azure Synapse Analytics univerzális hitelesítését (SSMS-támogatás az MFA-hoz) című témakört. |
Az Exportálás műveletre jellemző tulajdonságok
| Property | Value | Description |
|---|---|---|
| /p: | CommandTimeout=(INT32 '60') | A parancs időtúllépését adja meg másodpercekben, amikor lekérdezéseket hajt végre az SQL Serveren. |
| /p: | CompressionOption=({Normal|Maximális|Gyors|Szupergyors|NotCompressed} "Normal" (Normál) | A tömörítés típusát adja meg. |
| /p: | DatabaseLockTimeout=(INT32 '60') | Az SQLServer elleni lekérdezések végrehajtásakor megadja a zárolási időtúllépést másodpercekben. A -1 használatával korlátlan ideig várakozhat. |
| /p: | HashObjectNamesInLogs=(BOOLEAN 'False') | Megadja, hogy a naplókban szereplő összes objektumnevet véletlenszerű kivonatértékre cserélje-e. |
| /p: | IgnoreIndexesStatisticsOnEnclaveEnabledColumns=(BOOLEAN 'False') | Meghatározza, hogy a véletlenszerű titkosítással és enklávéval kompatibilis oszloptitkosítási kulcsokkal titkosított oszlopok indexeit vagy statisztikáit figyelmen kívül kell-e hagyni (a létrehozott bacpac nem tartalmazza). Alapértelmezés szerint (hamis) egy véletlenszerű titkosítással titkosított oszlop indexe vagy statisztikája és egy enklávé-kompatibilis oszloptitkosítási kulcs blokkolja az exportálási műveletet. |
| /p: | LongRunningCommandTimeout=(INT32 '0') | A parancsok hosszú futási időtúllépését adja meg másodpercekben, amikor lekérdezéseket hajt végre az SQL Serveren. A 0 használatával határozatlan ideig várakozhat. |
| /p: | Storage=({File|Memory}) | Megadja a kinyerés során használt sémamodell háttértárolójának típusát. A "Memória" az SqlPackage .NET Core-verziójának alapértelmezett verziója. A "Fájl" csak az SqlPackage .NET-keretrendszerének verziójához érhető el és alapértelmezett. |
| /p: | TableData=(STRING) | Azt a táblát jelzi, amelyből adatokat nyer ki. Adja meg a táblázat nevét a következő formátumban a névrészeket körülvevő zárójelekkel vagy anélkül: schema_name.table_identifier. Ez a tulajdonság többször is megadható, hogy több beállítást jelezze. |
| /p: | TargetEngineVersion=({Default|Legújabb|V11|V12} "Legújabb" | Ez a tulajdonság elavult, és a használat nem ajánlott. Megadja az Azure SQL Database célmotorjának várható verzióját. |
| /p: | TempDirectoryForTableData=(STRING) | Egy alternatív ideiglenes könyvtárat ad meg, amely a táblaadatok pufferelésére szolgál a csomagfájlba való írás előtt. Az ezen a helyen szükséges terület nagy lehet, és az adatbázis teljes méretéhez viszonyítva van. |
| /p: | VerifyExtraction=(LOGIKAI "Igaz") | Megadja, hogy a kinyert sémamodellt ellenőrizni kell-e. Ha igaz értékre van állítva, a sémaérvényesítési szabályok a dacpac vagy bacpac rendszeren futnak. |
| /p: | VerifyFullTextDocumentTypesSupported=(BOOLEAN 'False') | Megadja, hogy ellenőrizni kell-e a Microsoft Azure SQL Database v12 támogatott teljes szöveges dokumentumtípusait. |
Következő lépések
- További információ az SqlPackage-ről
- Hibaelhárítás az SqlPackage használatával
- Exportálás az Azure Blob Storage-ba