Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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ésSourceDatabaseNameparamétereket, vagy -
SourceConnectionStringparamé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
- 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