Megosztás a következőn keresztül:


SqlPackage Exportálási paraméterek és tulajdonságok

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.

Megjegyzés:

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ő.

Megjegyzés:

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 és SourceDatabaseName paramétereket, vagy
  • SourceConnectionString paraméter.

Példák

# 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

Paraméter Rövid űrlap Érték Leírás
/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.
/Akció: /egy: Exportálás 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}" .
/Diagnosztika: /d: {Igaz|Hamis} 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 {Nincs|Kikapcsolva|Kritikus|Hiba|Figyelmeztetés|Információ|Részletes} 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: /ról: {Igaz|Hamis} 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.
/Tulajdonságok: /p: {PropertyName}={Value} Egy műveletspecifikus tulajdonság névértékpárjának megadása; {PropertyName}={Value}.
/Quiet: /q: {Igaz|Hamis} 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: /másodperc: {Nem kötelező|Kötelező|Szigorú|Igaz|Hamis} 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: {Igaz|Hamis} 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: {Igaz|Hamis} 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

Ingatlan Érték Leírás
/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=({Normál|Maximális|Gyors|Szupergyors|Nincs tömörítés} "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 "Hamis") Megadja, hogy a naplókban szereplő összes objektumnevet véletlenszerű kivonatértékre cserélje-e.
/p: A kihagyja az indexek statisztikáit az Enclave Engedélyezett Oszlopokon=(BOOLEAN 'Hamis') 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=({Fájl|Memória}) 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: TáblázatAdat=(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=(SZTRING) 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=(BOOLEAN "TRUE") 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 'Hamís') Megadja, hogy ellenőrizni kell-e a Microsoft Azure SQL Database v12 támogatott teljes szöveges dokumentumtípusait.

Következő lépések