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


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

Az SqlPackage Import művelet bacPAC-fájlból (.bacpac) importálja a sémát és a táblaadatokat egy új vagy üres SQL Server- vagy Azure SQL Database-adatbázisba. A meglévő adatbázisba való importáláskor a céladatbázis nem tartalmazhat felhasználó által definiált sémaobjektumokat. Másik lehetőségként létrehozhat egy új adatbázist az importálási művelet, ha a hitelesített felhasználó adatbázis-engedélyekkel rendelkezik. Az importá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 importá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:Import {parameters} {properties}

Kötelező paraméterek

Az importálási művelethez paraméter SourceFile szükséges az adatbázis-objektumokat és adatokat tartalmazó .bacpac fájl nevének és helyének megadásához.

Az exportálási művelethez olyan célkapcsolatra van szükség, ahol az SqlPackage új adatbázist hoz létre, vagy ahol üres adatbázis található. Ez a következők kombinációjával adható meg:

  • TargetServerName és TargetDatabaseName paramétereket, vagy
  • TargetConnectionString paraméter.

Példák

# example import to Azure SQL Database using SQL authentication and a connection string
SqlPackage /Action:Import /SourceFile:"C:\AdventureWorksLT.bacpac" \
    /TargetConnectionString:"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 import using short form parameter names
SqlPackage /a:Import /tsn:"{yourserver}.database.windows.net,1433" /tdn:"AdventureWorksLT" /tu:"sqladmin" \
    /tp:"{your_password}" /sf:"C:\AdventureWorksLT.bacpac"

# example import using Microsoft Entra managed identity
SqlPackage /Action:Import /SourceFile:"C:\AdventureWorksLT.bacpac" \
    /TargetConnectionString:"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 import connecting using Microsoft Entra username and password
SqlPackage /Action:Import /SourceFile:"C:\AdventureWorksLT.bacpac" \
    /TargetConnectionString:"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 import connecting using Microsoft Entra universal authentication
SqlPackage /Action:Import /SourceFile:"C:\AdventureWorksLT.bacpac" /UniversalAuthentication:True \
    /TargetConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"

Az Importálás művelet paraméterei

Paraméter Rövid űrlap Érték Leírás
/AccessToken: /nél: {string} Megadja a céladatbázishoz való csatlakozáskor használni kívánt jogkivonatalapú hitelesítési hozzáférési jogkivonatot.
/Akció: /a: Importá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.
/DiagnosticsPackageFile: /dpf {string} A diagnosztikai csomag tárolására használt fájlt adja meg.
/MaxParallelism: /mp: {int} Az adatbázison futó párhuzamos műveletek párhuzamossági fokát adja meg. Az alapértelmezett érték 8.
/ModelFilePath: /mfp: {string} Megadja a lehetőséget a forrásfájlban lévő model.xml felülbírálására a fájl elérési útjának megadásával. A beállítás használata üzembe helyezési hibához és/vagy nem kívánt adatvesztéshez vezethet. Ez a beállítás csak a közzétételsel, importálással vagy szkriptgenerálással kapcsolatos problémák elhárításához használható.
/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 False.
/SourceFile: /sf: {string} A helyi tárolóból származó művelet forrásaként használandó forrásfájlt adja meg. Ha ezt a paramétert használja, más forrásparaméter nem lehet érvényes.
/TargetConnectionString: /Tcs: {string} A céladatbázishoz érvényes SQL Server-/Azure-kapcsolati sztringet ad meg. Ha ez a paraméter meg van adva, kizárólag ezt kell használni az összes többi célparaméter helyett.
/TargetDatabaseName: /tdn: {string} Az SqlPackage Action célbázisának nevének felülírását határozza meg.
/TargetEncryptConnection: /Tec: {Nem kötelező|Kötelező|Szigorú|Igaz|Hamis} Megadja, hogy a céladatbázis-kapcsolathoz SQL-titkosítást kell-e használni. Az alapértelmezett érték Igaz.
/TargetHostNameInCertificate: /etnikai: {string} A cél 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.
/TargetPassword: /tp: {string} Az SQL Server hitelesítési forgatókönyveinél a céladatbázis eléréséhez használandó jelszót határozza meg.
/TargetServerName: /tsn: {string} Meghatározza a céladatbázist üzemeltető kiszolgáló nevét.
/TargetTimeout: /tt: {int} Megadja a céladatbázishoz való csatlakozás időtúllépését másodpercben. A Microsoft Entra-azonosító esetében ajánlott, hogy ez az érték 30 másodpercnél nagyobb vagy egyenlő legyen.
/TargetTrustServerCertificate: /ttsc: {Igaz|Hamis} Megadja, hogy a TLS használatával titkosítja-e a céladatbá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.
/TargetUser: /tu: {string} Az SQL Server hitelesítési forgatókönyveinél a céladatbázis eléréséhez használni kívánt SQL Server-felhasználót határozza meg.
/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ó az AD 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 a beállítás csak akkor használható, 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 Importá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: DatabaseEdition=({ Basic | Standard | Premium | DataWarehouse | GeneralPurpose | BusinessCritical | Hyperscale | Default } 'Default' (Alapértelmezett)) Meghatározza az Azure SQL Database kiadását. Lásd az Azure SQL Database szolgáltatási szintjeit.
/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: DatabaseMaximumSize=(INT32 '0') Az Azure SQL Database maximális méretét határozza meg GB-ban.
/p: AdatbázisSzolgáltatásCélkitűzés=(STRING) Az Azure SQL Database teljesítményszintjét határozza meg, például "P0" vagy "S1".
/p: DisableIndexesForDataPhase=(LOGIKAI "Igaz") Ha igaz (alapértelmezett), az adatok importálása előtt letiltja az indexeket. Ha hamis, az indexek nem lesznek újra felépítve.
/p: LetiltjaAPárhuzamosságotAzIndexekEngedélyezéséhez=(BOOLEAN 'Hamís') Nem használ párhuzamosságot az indexek újraépítésekor, miközben adatokat importál az SQL Serverbe.
/p: HashObjectNamesInLogs=(BOOLEAN 'False') Megadja, hogy a naplókban szereplő összes objektumnevet véletlenszerű kivonatértékre cserélje-e.
/p: ImportContributorArguments=(STRING) A telepítés közreműködőinek argumentumait adja meg. Ennek a tulajdonságnak az értékek pontosvesszővel tagolt listájának kell lennie.
/p: ImportContributorPaths=(STRING) Megadja az elérési útvonalakat további importálási modulok betöltéséhez. Ennek a tulajdonságnak az értékek pontosvesszővel tagolt listájának kell lennie.
/p: ImportContributors=(STRING) Megadja az üzembehelyezési közreműködőket, amelyeknek a bacpac importálásakor kell futniuk. Ennek a tulajdonságnak a teljes mértékben minősített build közreműködői nevek vagy azonosítók pontosvesszővel tagolt listájának kell lennie.
/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: PreserveIdentityLastValues=(BOOLEAN 'False') Megadja, hogy az identitásoszlopok utolsó értékeit meg kell-e őrizni az üzembe helyezés során.
/p: RebuildIndexesOfflineForDataPhase=(BOOLEAN 'Hamis') Ha igaz, az adatok SQL Serverbe való importálása után offline újraépíti az indexeket.
/p: Storage=({Fájl|Memória}) Meghatározza, hogy az elemek hogyan legyenek tárolva az adatbázismodell létrehozásakor. Teljesítménybeli okokból az alapértelmezett az InMemory. Nagy méretű adatbázisok esetén fájlalapú tárolásra van szükség.

Következő lépések