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.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Analytics Platform System (PDW)
Amikor tömegesen importál adatokat egy SQL Server-táblába, vagy tömegesen exportál adatokat egy táblából, egy formátumfájlt használhat az adatok tömeges exportálásához vagy tömeges importálásához szükséges összes formátuminformáció tárolásához. Ide tartoznak az adatfájl egyes mezőinek formázási adatai az adott táblához képest.
Az SQL Server kétféle formátumfájlt támogat: XML-formátumokat és nem XML formátumú fájlokat. A nem XML formátumú fájlok és az XML-formátumú fájlok egyaránt tartalmazzák az adatfájl minden mezőjének leírását, az XML-formátumfájlok pedig a megfelelő táblaoszlopok leírását is. Az XML- és a nem XML formátumú fájlok általában felcserélhetők. Javasoljuk azonban, hogy az XML-szintaxist használja az új formátumfájlokhoz, mert ezek számos előnyt biztosítanak a nem XML formátumú fájlokkal szemben. További információ: XML Format Files (SQL Server).
Jegyzet
Ez a szintaxis, beleértve a tömeges beszúrást, nem támogatott az Azure Synapse Analyticsben. Az Azure Synapse Analyticsben és más felhőalapú adatbázisplatform-integrációkban az adatáthelyezést az Azure Data Factory COPY utasításánakvagy T-SQL-utasítások, például a COPY INTO és a PolyBasehasználatával végezheti el.
A fájlok formázásának előnyei
A formátumfájlok rugalmas rendszert biztosítanak olyan adatfájlok írásához, amelyek szerkesztéséhez kevés vagy nem szükséges szerkesztés, hogy megfeleljenek más adatformátumoknak, vagy hogy más szoftverekből olvassák az adatfájlokat.
Az adatokat tömegesen importálhatja anélkül, hogy szükségtelen adatokat kellene hozzáadnia vagy törölnie, vagy átrendeznie a meglévő adatokat az adatfájlban. A fájlok formázása akkor lehet hasznos, ha az adatfájl mezői és a tábla oszlopai között eltérés áll fenn.
Példák fájlok formázására
Az alábbi példák egy nem XML formátumú fájl és egy XML formátumú fájl elrendezését mutatják be. Ezek a formátumfájlok a HumanResources.myTeam mintaadatbázis AdventureWorks2025 táblájának felelnek meg. Ez a táblázat négy oszlopot tartalmaz: EmployeeID, Name, Titleés ModifiedDate.
Jegyzet
További információért erről a táblázatról és annak létrehozásáról lásd a HumanResources.myTeam mintatáblázatot (SQL Server).
Egy. Nem XML formátumú fájl használata
Az alábbi nem XML formátumú fájl az SQL Server natív adatformátumát használja a HumanResources.myTeam táblához. Ez a formátumfájl a következő bcp paranccsal lett létrehozva.
bcp AdventureWorks2022.HumanResources.myTeam format nul -f myTeam.Fmt -n -T
A bcp parancs alapértelmezés szerint a Windows-hitelesítéssel rendelkező SQL Server egy helyi, alapértelmezett példányára érvényes. A kívánt más példány- és bejelentkezési adatokat is megadhatja; további információért lásd a(z) bcp segédprogram. Például, ha egy távoli kiszolgáló nevű példányt szeretne megadni Windows-hitelesítéssel, használja a következőt:
bcp AdventureWorks2022.HumanResources.myTeam format nul -f myTeam.Fmt -n -T -S servername/instancename
A formátumfájl tartalma a következő, kezdve az SQL Server főverziószámával és a tábla metaadataival.
14.0
4
1 SQLSMALLINT 0 2 "" 1 EmployeeID ""
2 SQLNCHAR 2 100 "" 2 Name SQL_Latin1_General_CP1_CI_AS
3 SQLNCHAR 2 100 "" 3 Title SQL_Latin1_General_CP1_CI_AS
4 SQLNCHAR 2 100 "" 4 Background SQL_Latin1_General_CP1_CI_AS
További információ: Nem XML formátumú fájlok használata (SQL Server).
B. XML formátumú fájl használata
Az alábbi XML-formátumfájl az SQL Server natív adatformátumát használja a HumanResources.myTeam táblához. Ez a formátumfájl a következő bcp paranccsal lett létrehozva.
bcp AdventureWorks2022.HumanResources.myTeam format nul -f myTeam.xml -x -n -T
A formátumfájl a következőket tartalmazza:
<?xml version="1.0"?>
<BCPFORMAT xmlns="http://schemas.microsoft.com/sqlserver/2004/bulkload/format" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RECORD>
<FIELD ID="1" xsi:type="NativePrefix" LENGTH="1"/>
<FIELD ID="2" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="3" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
<FIELD ID="4" xsi:type="NCharPrefix" PREFIX_LENGTH="2" MAX_LENGTH="100" COLLATION="SQL_Latin1_General_CP1_CI_AS"/>
</RECORD>
<ROW>
<COLUMN SOURCE="1" NAME="EmployeeID" xsi:type="SQLSMALLINT"/>
<COLUMN SOURCE="2" NAME="Name" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="3" NAME="Title" xsi:type="SQLNVARCHAR"/>
<COLUMN SOURCE="4" NAME="Background" xsi:type="SQLNVARCHAR"/>
</ROW>
</BCPFORMAT>
További információ: XML Format Files (SQL Server).
Mikor van szükség formátumfájlra?
A formátumfájlokra általában a következő körülmények között van szükség:
Amikor
INSERT ... SELECT * FROM OPENROWSET(BULK...)utasítást használ.Összetett tömeges importálási helyzetekhez bcp vagy
BULK INSERThasználatával.Ugyanazt az adatfájlt használja a rendszer több különböző sémával rendelkező tábla forrásaként.
Az adatfájl különböző számú mezővel rendelkezik, amelyeket a céltábla oszlopokkal tartalmaz; például:
- A céltábla legalább egy olyan oszlopot tartalmaz, amelyhez alapértelmezett érték van definiálva, vagy
NULLengedélyezett. - A felhasználók nem rendelkeznek
SELECT/INSERTengedélyekkel a tábla egy vagy több oszlopához. - A rendszer egyetlen adatfájlt használ két vagy több különböző sémával rendelkező táblával.
- A céltábla legalább egy olyan oszlopot tartalmaz, amelyhez alapértelmezett érték van definiálva, vagy
Az oszlop sorrendje eltér az adatfájltól és a táblától.
A végződő karakterek vagy előtagok hossza eltér az adatfájl oszlopai között.
Jegyzet
Formátumfájl hiányában, ha egy bcp parancs adatformátum kapcsolót (-n, -c, -wvagy -N) határoz meg, vagy egy BULK INSERT művelet megadja a DATAFILETYPE beállítást, a megadott adatformátum lesz az adatfájl mezőinek alapértelmezett értelmezése.
Kapcsolódó tevékenységek
- A BCP natív/formátum fájl és szövegfájl összevetése, valamint a BOM
- Nem XML formátumú fájlok (SQL Server)
- XML-formátumfájlok (SQL Server)
- Adatformátumok tömeges importáláshoz vagy tömeges exportáláshoz (SQL Server)
- Formátumfájl létrehozása bcp (SQL Server)