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 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ésTargetDatabaseNameparamétereket, vagy -
TargetConnectionStringparamé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
- További információ az SqlPackage-ről
- Hibaelhárítás az SqlPackage használatával
- Importálás az Azure Blob Storage-ból