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 Extract művelet létrehoz egy csatlakoztatott adatbázis sémáját egy DACPAC-fájlban (.dacpac). Alapértelmezés szerint az adatok nem szerepelnek a .dacpac fájlban. Az adatok belefoglalásához használja az Exportálás műveletet , vagy használja az ExtractAllTableData/TableData kinyerési tulajdonságokat.
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ő.
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:Extract {parameters} {properties}
Megjegyzés:
Ha egy jelszó-hitelesítő adatokkal rendelkező adatbázist (például egy SQL-hitelesítési felhasználót) nyer ki, a jelszó egy másik, megfelelő összetettségű jelszóra lesz lecserélve. Az SqlPackage- vagy DacFx-felhasználóknak a dacpac közzététele után módosítaniuk kell a jelszót.
Példák
# example extract to create a schema-only .dacpac file connecting using SQL authentication
SqlPackage /Action:Extract /TargetFile:{filename}.dacpac /DiagnosticsFile:{logFile}.log /p:ExtractAllTableData=false /p:VerifyExtraction=true \
/SourceServerName:{serverFQDN} /SourceDatabaseName:{databaseName} /SourceUser:{username} /SourcePassword:{password}
# example extract to create a .sql file containing the schema definition of the database
SqlPackage /Action:Extract /TargetFile:{filename}.dacpac /DiagnosticsFile:{logFile}.log /SourceServerName:{serverFQDN} \
/SourceDatabaseName:{databaseName} /SourceUser:{username} /SourcePassword:{password} /p:ExtractTarget=File
# example extract to create a .dacpac file with data connecting using SQL authentication
SqlPackage /Action:Extract /TargetFile:{filename}.dacpac /DiagnosticsFile:{logFile}.log /p:ExtractAllTableData=true /p:VerifyExtraction=true \
/SourceServerName:{serverFQDN} /SourceDatabaseName:{databaseName} /SourceUser:{username} /SourcePassword:{password}
# example extract to create a schema-only .dacpac file connecting using Microsoft Entra managed identity
SqlPackage /Action:Extract /TargetFile:"C:\AdventureWorksLT.dacpac" \
/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 extract to create a schema-only .dacpac file connecting using Microsoft Entra username and password
SqlPackage /Action:Extract /TargetFile:"C:\AdventureWorksLT.dacpac" \
/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 extract to create a schema-only .dacpac file connecting using Microsoft Entra universal authentication
SqlPackage /Action:Extract /TargetFile:"C:\AdventureWorksLT.dacpac" /UniversalAuthentication:True \
/SourceConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
# example extract to create a schema-only .dacpac file connecting using an access token associated with a service principal
$Account = Connect-AzAccount -ServicePrincipal -Tenant $Tenant -Credential $Credential
$AccessToken_Object = (Get-AzAccessToken -Account $Account -Resource "https://database.windows.net/")
$AccessToken = $AccessToken_Object.Token
SqlPackage /at:$AccessToken /Action:Extract /TargetFile:"C:\AdventureWorksLT.dacpac" \
/SourceConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
# OR
SqlPackage /at:$($AccessToken_Object.Token) /Action:Extract /TargetFile:"C:\AdventureWorksLT.dacpac" \
/SourceConnectionString:"Server=tcp:{yourserver}.database.windows.net,1433;Initial Catalog=AdventureWorksLT;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
A Kinyerés művelet paraméterei
| Paraméter | Rövid űrlap | Érték | Leírás |
|---|---|---|---|
| /AccessToken: | /nél: | {string} | Meghatározza a céladatbázishoz történő csatlakozáskor használni kívánt jogkivonatalapú hitelesítési tokent. |
| /Akció: | /a: | Kivonat | 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: | /bó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-/Azure-kapcsolati sztringet 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} | Egy célfájlt (azaz .dacpac-fájlt) ad meg a helyi tárolóban, amelyet az adatbázis helyett műveleti célként kell használni. 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 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. |
A Kinyerés műveletre jellemző tulajdonságok
| Ingatlan | Érték | Leírás |
|---|---|---|
| /p: | AzureSharedAccessSignatureToken=(STRING) | Az Azure megosztott hozzáférésű jogosultságkód (SAS) jogkivonata. Lásd a(z) SqlPackage az Azure Synapse Analyticshez és SqlPackage adatokkal Parquet-fájlokban. |
| /p: | AzureStorageBlobEndpoint=(STRING) | Azure Blob Storage-végpont. Lásd SqlPackage az Azure Synapse Analyticshez és SqlPackage Parquet fájlokban lévő adatokkal. |
| /p: | AzureStorageContainer=(STRING) | Azure Blob Storage-tároló. Lásd SqlPackage az Azure Synapse Analytics számára és SqlPackage parquet fájlokban lévő adatokkal. |
| /p: | AzureStorageKey=(STRING) | Azure-tárhely fiókkulcs. Lásd SqlPackage az Azure Synapse Analytics számára és SqlPackage Parquet fájlokban lévő adatokkal. |
| /p: | AzureStorageRootPath=(STRING) | Tároló gyökérútvonala. Ez a tulajdonság nélkül az elérési út alapértelmezés szerint servername/databasename/timestamp/. Lásd a SqlPackage Azure Synapse Analyticshez és a SqlPackage Parquet-fájlokban lévő adatokkal. |
| /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: | DacApplicationDescription=(STRING) | Meghatározza a DACPAC metaadataiban tárolandó alkalmazásleírást. |
| /p: | DacApplicationName=(STRING) | Definiálta a DACPAC metaadataiban tárolni kívánt alkalmazásnevet. Az alapértelmezett érték az adatbázis neve. |
| /p: | DacMajorVersion=(INT32 '1') | Meghatározza a DACPAC metaadataiban tárolandó főverziót. |
| /p: | DacMinorVersion=(INT32 '0') | Meghatározza a DACPAC metaadataiban tárolandó alverziót. |
| /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: | ExtractAllTableData=(BOOLEAN 'False') | Azt jelzi, hogy az összes felhasználói tábla adatai ki lesznek-e nyerve. Ha "igaz", az összes felhasználói tábla adatai ki lesznek nyerve, és nem adhat meg egyéni felhasználói táblákat az adatok kinyeréshez. Ha "hamis", adjon meg egy vagy több felhasználói táblát az adatok kinyeréséhez. |
| /p: | ExtractApplicationScopedObjectsOnly=(BOOLEAN 'True') | Ha igaz, csak a megadott forráshoz az alkalmazás hatókörébe tartozó objektumokat nyerje ki. Ha hamis, bontsa ki a megadott forrás összes objektumát. |
| /p: | ExtractReferencedServerScopedElements=(BOOLEAN 'True') | Ha igaz, nyerje ki a forrásadatbázis-objektumok által hivatkozott bejelentkezési, kiszolgálói naplózási és hitelesítő adatokat. |
| /p: | ExtractTarget=({DacPac|Fájl|Sík|ObjectType|Séma|SémaObjektumtípus} 'DacPac') | Az adatbázisséma alternatív kimeneti formátumait adja meg. Alapértelmezés szerint a "DacPac" formátum egyetlen fájlként adja ki az eredményt .dacpac. További opciók egy vagy több .sql fájlt adnak ki, amelyek a "SchemaObjectType" szerint (fájlok a séma- és objektumtípusok mappáiban), a "Séma" szerint (fájlok az egyes sémák mappáiban), az "ObjectType" szerint (fájlok az egyes objektumtípusok mappáiban), a "Flat" szerint (minden fájl ugyanazon mappában) vagy a "Fájl" szerint (1 egyetlen fájl) vannak rendezve. |
| /p: | KivonatHasználatiTulajdonságok=(BOOLEAN 'Hamis') | Megadja, hogy a rendszer kinyeri-e a használati tulajdonságokat, például a táblasorok számát és az index méretét az adatbázisból. |
| /p: | HashObjectNamesInLogs=(BOOLEAN "Hamis") | Megadja, hogy a naplókban szereplő összes objektumnevet véletlenszerű kivonatértékre cserélje-e. |
| /p: | IgnoreExtendedProperties=(BOOLEAN 'Hamis') | Megadja, hogy a kiterjesztett tulajdonságokat figyelmen kívül kell-e hagyni. |
| /p: | IgnorePermissions=(LOGIKAI "Igaz" logikai érték) | Megadja, hogy figyelmen kívül kell-e hagyni az engedélyeket. |
| /p: | IgnoreUserLoginMappings=(BOOLEAN 'False') | Megadja, hogy a rendszer figyelmen kívül hagyja-e a felhasználók és a bejelentkezések közötti kapcsolatokat. |
| /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: | 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. A .dacpac fájlokra és a Parquet-fájlokra kinyert adatokra egyaránt vonatkozik. |
| /p: | TempDirectoryForTableData=(SZTRING) | Megadja a táblaadatok puffereléséhez használt ideiglenes könyvtárat a csomagfájlba való írás előtt. |
| /p: | VerifyExtraction=(BOOLEAN 'False') | Megadja, hogy a kinyert sémamodellt ellenőrizni kell-e. |
Következő lépések
- További információ az SqlPackage-ről
- Hibaelhárítás az SqlPackage használatával