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.
Vonatkozik a következőkre:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analitikai Platform System (PDW)
SQL adatbázis a Microsoft Fabric-ben
A tömeges másolási program segédprogram (bcp) tömegesen másol adatokat egy SQL Server-példány és egy felhasználó által megadott formátumú adatfájl között.
A bcp segédprogrammal nagy számú új sort importálhat SQL Server-táblákba, vagy adatfájlba exportálhat táblákból adatokat. A queryout lehetőség használata kivételével a segédprogram nem igényel ismereteket a Transact-SQL-ről. Ha adatokat szeretne importálni egy táblába, az adott táblához létrehozott formátumfájlt kell használnia, vagy ismernie kell a tábla szerkezetét és az oszlopokra érvényes adattípusokat.
A bcp rendszerére telepített verziójával, a rendszerkövetelményekkel és a bcp letöltésével kapcsolatos további információkért tekintse meg a bcp segédprogram letöltését és telepítését ismertető témakört.
Megjegyzés:
A bcp adatfájlok nem tartalmaznak sémát vagy formátumadatokat. Ha a bcp használatával készít biztonsági másolatot az adatokról, majd később elveti vagy módosítja a forrástáblát, az adatok importálásához azonos tábladefinícióra vagy formátumfájlra van szükség.
A bcp szintaxishoz használt szintaxisi konvenciókért lásd Transact-SQL szintaxiskonvenciákat (Transact-SQL).
A bcp használata
A bcp használatával kapcsolatos információkért, beleértve a példaparancsokat is, olvassa el a bcp segédprogram használatát ismertető témakört.
A bcp használata Linux és macOS rendszeren
A parancssori eszközök macOS-en és Linuxon való telepítésével kapcsolatos információkért lásd : Az sqlcmd és a bcp SQL Server parancssori eszközeinek telepítése Linuxon.
Megfontolandó szempontok a bcp-hez Linuxon és macOS-en
A mezőelválasztó egy tabulátor (
\t).A sor terminátora egy új vonal (
\n).Sql Serverről SQL Server-átvitelre natív formátumot (
-n) használjon. Karakterformátumot (-c) csak akkor használjon, ha az adatok nem SQL Server-rendszerbe kerülnek át, vagy ha az adatfájl nem tartalmazhat kiterjesztett karaktereket. További információ: Karakter mód és natív mód – ajánlott eljárások.Egy parancssori argumentumban egy fordított perjelet idézőjelbe kell tenni vagy escape karaktert kell használni hozzá (
\). Például ha testreszabott sorvégjelet szeretne megadni új sor formájában, használja az alábbi mechanizmusok egyikét:-r\\n-r"\n"-r'\n'
TDS 8.0-támogatás
Az SQL Server 2025 (17.x) TDS 8.0-s támogatást biztosít a bcp segédprogramhoz.
Syntax
bcp [ database_name. ] schema. { table_name | view_name | "query" }
{ in data_file | out data_file | queryout data_file | format nul }
[ -a packet_size ]
[ -b batch_size ]
[ -c ]
[ -C { ACP | OEM | RAW | code_page } ]
[ -d database_name ]
[ -D ]
[ -e err_file ]
[ -E ]
[ -f format_file ]
[ -F first_row ]
[ -G Microsoft Entra authentication ]
[ -h"hint [ , ...n ] " ]
[ -i input_file ]
[ -k ]
[ -K application_intent ]
[ -l login_timeout ]
[ -L last_row ]
[ -m max_errors ]
[ -n ]
[ -N ]
[ -o output_file ]
[ -P password ]
[ -q ]
[ -r row_term ]
[ -R ]
[ -S [ server_name [ \instance_name ] ] ]
[ -t field_term ]
[ -T ]
[ -U login_id ]
[ -u ]
[ -v ]
[ -V (80 | 90 | 100 | 110 | 120 | 130 | 140 | 150 | 160 | 170) ]
[ -w ]
[ -x ]
[ -Y [ s | m | o ] ]
[ -z ]
Parancssori beállítások
Az alábbi táblázat felsorolja a bcpelérhető parancssori beállításokat, valamint az általuk támogatott operációs rendszereket.
1 A bcp 18-os vagy újabb verzióját igényli, amely az SQL Server 2025-öt (17.x) használja.
2 ODBC 18.6.1.1 és újabb verziók.
Objektum- és átviteli mód
database_name
A megadott táblát vagy nézetet tartalmazó adatbázis neve. Ha nem adja meg ezt a paramétert, a rendszer a felhasználó alapértelmezett adatbázisát használja.
Az adatbázis nevét explicit módon is megadhatja -d.
schema
A tábla vagy nézet tulajdonosának neve. séma nem kötelező, ha a műveletet végrehajtó felhasználóé a megadott tábla vagy nézet. Ha nem ad meg sémát, és a műveletet végrehajtó felhasználó nem rendelkezik a megadott táblával vagy nézettel, az SQL Server hibaüzenetet ad vissza, és a művelet megszakad.
table_name
A céltábla neve az SQL Serverbe (in) történő adatimportáláskor, valamint a forrástábla az SQL Serverről való exportáláskor (out).
nézet_név
A célnézet neve az SQL Serverbe (in) való adatmásoláskor, valamint a forrásnézet az SQL Serverről való másoláskor (out). Célként (in) használva a nézet csak akkor támogatott, ha az összes oszlopa ugyanarra a táblára hivatkozik. Ez a korlátozás nem érvényes, ha a nézetet forrásként (out) használják. Az adatok nézetekbe való másolásának korlátozásával kapcsolatos további információkért lásd INSERTcímű témakört.
"query"
Egy Transact-SQL lekérdezés, amely eredményhalmazt ad vissza. Ha a lekérdezés több eredményhalmazt ad vissza, a rendszer csak az első eredményhalmazt másolja az adatfájlba; az ezt követő eredményhalmazok figyelmen kívül lesznek hagyva. Használjon dupla idézőjeleket a lekérdezés körül, és szimpla idézőjeleket a lekérdezésbe ágyazott elemek köré. Azt is meg kell adnia queryout , hogy mikor másoljon tömegesen adatokat egy lekérdezésből.
A lekérdezés hivatkozhat egy tárolt eljárásra, ha a tárolt eljárásban hivatkozott összes tábla létezik a bcp utasítás végrehajtása előtt. Ha például a tárolt eljárás létrehoz egy ideiglenes táblát, a bcp utasítás meghiúsul, mert a temp tábla csak futásidőben érhető el, és nem az utasítás végrehajtási idején. Ebben az esetben érdemes lehet beszúrni a tárolt eljárás eredményeit egy táblába, majd bcp használatával átmásolni az adatokat a táblából egy adatfájlba.
ban/ben
Adatok másolása fájlból az adatbázistáblába vagy -nézetbe. Meghatározza a tömeges másolás irányát.
out
Adatokat másol az adatbázistáblából vagy a nézetből egy fájlba. Meghatározza a tömeges másolás irányát.
Ha egy meglévő fájlt ad meg, a fájl felülíródik. Amikor a bcp segédprogram kinyeri az adatokat, az üres sztringet null értékként, a null sztringet pedig üres sztringként jelöli.
data_file
Az adatfájl teljes elérési útja. Amikor tömegesen importál adatokat az SQL Serverbe, az adatfájl tartalmazza a megadott táblába vagy nézetbe másolandó adatokat. Ha tömegesen exportál adatokat az SQL Serverről, az adatfájl tartalmazza a táblából vagy nézetből másolt adatokat. Az elérési út 1–255 karakter hosszúságú lehet. Az adatfájl legfeljebb 2^63 – 1 sort tartalmazhat.
queryout
Adatokat másol le egy lekérdezésből, és csak akkor kell megadni, ha tömegesen másol adatokat egy lekérdezésből.
format
Létrehoz egy formátumfájlt a megadott beállítás (-n, -c, -wvagy -N) és a tábla vagy nézethatárolók alapján. Az adatok tömeges másolásakor a bcp parancs hivatkozhat egy formátumfájlra, amely menti Önt a formátumadatok interaktív újraküldésétől. A format beállításhoz szükség van a -f beállításra; xml formátumú fájl létrehozásához is szükség van a beállításra -x . További információ: Formátumfájl létrehozása bcp-vel (SQL Server). A nul értéket kell megadnia (format nul).
-q
Végrehajtja a SET QUOTED_IDENTIFIER ON utasítást a bcp segédprogram és az SQL Server egy példánya közötti kapcsolatban. Ezzel a beállítással megadhat egy szóközt vagy egyetlen idézőjelet tartalmazó adatbázist, tulajdonost, táblázatot vagy nézetnevet. A teljes háromrészes tábla vagy nézet nevét idézőjelek közé ("") helyezze.
Ha szóközt vagy idézőjelet tartalmazó adatbázisnevet szeretne megadni, használja a -q lehetőséget.
-q nem vonatkozik a -dátadott értékekre.
További információt a jelen cikk Megjegyzések szakaszában talál.
Kapcsolat és hitelesítés
-S [server_name[\instance_name]]
Adja meg annak az SQL Server példánynak a nevét, amelyhez csatlakozni szeretne, vagy ha -D-et használ, akkor egy DSN-t.
Ha nem ad meg kiszolgálót, a bcp segédprogram a helyi számítógépen található SQL Server alapértelmezett példányához csatlakozik. Erre a beállításra akkor van szükség, ha bcp-parancsot futtat egy távoli számítógépről a hálózaton vagy egy helyi nevesített példányon. Ha egy kiszolgálón az SQL Server alapértelmezett példányához szeretne csatlakozni, csak server_nameadjon meg. Az SQL Server nevesített példányához való csatlakozáshoz adja meg a <server_name>\<instance_name>.
-d database_name
Megadja a csatlakozni kívánt adatbázist. Alapértelmezés szerint a bcp csatlakozik az alapértelmezett adatbázishoz. Ha megad -d <database_name> egy háromrészes nevet (database_name.schema.table, amely az első paraméter a bcp-nek), hiba történik, mert nem adhatja meg kétszer az adatbázis nevét. Ha database_name kötőjellel (-) vagy perjellel (/) kezdődik, ne adjon hozzá szóközt a -d és az adatbázis neve között.
-U login_id
Megadja az SQL Serverhez való csatlakozáshoz használt bejelentkezési azonosítót.
-P jelszó
Megadja a bejelentkezési azonosító jelszavát. Ha nem használja ezt a lehetőséget, a bcp parancssora jelszót kér. Ha a parancssor végén jelszó nélkül használja ezt a lehetőséget, a bcp az alapértelmezett jelszót (NULL) használja.
Important
Ne használjon üres jelszót. Használjon erős jelszót.
A jelszó maszkolásához ne adja meg a -P beállítást a -U beállítással együtt. Miután megadta a bcp-t az -U beállítással és egyéb kapcsolókkal (ne adja meg az -P), nyomja meg az Enter billentyűt, ezt követően a parancssor a jelszó megadását kéri. Ez a módszer biztosítja, hogy a jelszó maszkolt legyen, amikor be van írva.
Ha jelszó kötőjellel (-) vagy perjellel (/) kezdődik, ne adjon hozzá szóközt a -P és a jelszó értéke között.
Linuxon és macOS rendszeren, ha a -G beállítás nélkül -Uhasználható, -P egy Microsoft Entra hozzáférési jogkivonatot (17.8-os és újabb verziók) tartalmazó fájlt ad meg. A jogkivonatfájlnak UTF-16LE (nincs BOM) formátumúnak kell lennie. További információ: Hitelesítés a Microsoft Entra-azonosítóval a bcp-ben.
-G
A következőkre vonatkozik: Azure SQL Database, Azure SQL Managed Instance, SQL Database a Microsoft Fabricben, Azure Synapse Analytics és SQL Server 2022 (16.x) és újabb verziók.
Ezt a kapcsolót az ügyfél használja annak megadására, hogy a felhasználó a Microsoft Entra-azonosítóval legyen hitelesítve. A -G kapcsolóhoz a bcp 14.0.3008.27-es vagy újabb verziója szükséges. A verzió meghatározásához hajtsa végre a bcp -vparancsot. További információ: A Microsoft Entra-hitelesítés használata AZ SQL Database-ben vagy az Azure Synapse Analyticsben vagy -hitelesítés a Microsoft Fabric SQL-adatbázisában.
A bcp-ben történő Microsoft Entra-hitelesítéssel kapcsolatos részletes információkért lásd: Hitelesítés a Microsoft Entra ID-val a bcp-ben.
-D
A bcp -S beállításnak átadott érték adatforrásnévként (DSN) lesz értelmezve.
-D bárhol megjelenhet a parancssorban; a -S-hez viszonyított sorrend nem számít.
A DSN a következőhöz használható:
- Illesztőbeállítások beágyazása a parancssorok egyszerűsítése érdekében.
- Kényszerítse ki azokat az illesztőprogram-beállításokat, amelyek egyébként nem érhetők el a parancssorból, például
MultiSubnetFailover. - Segít megvédeni a bizalmas hitelesítő adatokat attól, hogy parancssori argumentumként felderíthetők legyenek.
További információ: DSN-támogatás az sqlcmd és a bcp esetében.
-K alkalmazás_szándék
Deklarálja az alkalmazás számítási feladatainak típusát a kiszolgálóhoz való csatlakozáskor. Az egyetlen lehetséges érték a ReadOnly. Ha nem adja meg -K, a bcp segédprogram nem támogatja az Always On rendelkezésre állási csoportban lévő másodlagos replikával való kapcsolatot. További információért lásd: Írásvédett számítási feladatok kiszervezése egy Always On rendelkezésre állási csoport másodlagos replikájára.
-l bejelentkezési_időkorlát
A bejelentkezési időkorlátot adja meg. A -l beállítás azt határozza meg, hogy hány másodperc után jár le a bejelentkezés ideje az SQL Serverre, amikor megpróbál csatlakozni egy kiszolgálóhoz. Az alapértelmezett bejelentkezési időtúllépés 15 másodperc. A bejelentkezési időtúllépésnek 0 és 65534 közötti számnak kell lennie. Ha a megadott érték nem numerikus, vagy nem ebbe a tartományba esik, a bcp hibaüzenetet hoz létre. A 0 érték végtelen időtúllépést határoz meg.
-T
Megadja, hogy a bcp segédprogram megbízható kapcsolattal csatlakozik az SQL Serverhez integrált biztonság használatával. A hálózati felhasználó login_idés jelszó biztonsági hitelesítő adataira nincs szükség. Ha nem adja meg a -T-t, akkor meg kell adnia a -U-t és a -P-t a sikeres csatlakozáshoz.
Important
Csak akkor használható -T , ha windowsos integrált megbízható kapcsolattal csatlakozik az SQL Serverhez. Az Azure SQL Database-hez vagy az Azure Synapse Analyticshez való csatlakozáskor a Windows integrált hitelesítés -T nem támogatott. Az Azure-szolgáltatásokon vagy az SQL Server 2022-en (16.x) és újabb verziókon történő Microsoft Entra-hitelesítéshez használja -G (lásd : Hitelesítés a Microsoft Entra-azonosítóval a bcp-ben).
-Y[s|m|o]
A következőkre vonatkozik: a bcp 18-os és újabb verzióira, amelyek az SQL Server 2025-öt (17.x) tartalmazzák.
Megadja, hogy a kapcsolatok TLS-titkosítást használnak-e a hálózaton keresztül.
-Y lehet o (a Optional), m (az Mandatoryalapértelmezett), vagy s (a Strict). Ha nem tartalmazza a -Y elemet, akkor a -Ym lesz az alapértelmezett Mandatory esetén.
-u
A következőkre vonatkozik: a bcp 18-os és újabb verzióira, amelyek az SQL Server 2025-öt (17.x) tartalmazzák.
Megbízhatósági kiszolgálótanúsítvány. Ha a kapcsolat titkosítási beállításával használja, engedélyezi a titkosítást egy önaláírt kiszolgálótanúsítvány használatával.
Adatábrázolás
-c
A műveletet karakteres adattípussal hajtja végre. Ez a beállítás nem figyelmeztet az egyes mezőkre. Karaktert használ tárolótípusként, előtagok nélkül, és \t (tabulátor karaktert) mezőelválasztóként, valamint \r\n (újsor karaktert) sorleválasztóként.
-c nem kompatibilis -w.
További információkért lásd: Karakterformátum használata az adatok importálásához vagy exportálásához (SQL Server).
Az ajánlott eljárásokért tekintse meg a Karakter mód és a natív mód ajánlott eljárásait.
-C { ACP | OEM | NYERS | code_page }
Csak a Windowsra vonatkozik. Linux és macOS rendszeren nem támogatott.
Az adatfájlban lévő adatok kódlapját adja meg. code_page csak akkor releváns, ha az adatok olyan char, varcharvagy text oszlopokat tartalmaznak, amelyek karakterértékei nagyobbak, mint 127, vagy kisebbek, mint 32.
Adjon meg egy rendezési nevet egy formátumfájl minden oszlopához, kivéve, ha azt szeretné, hogy a 65001 beállítás prioritást élvezjen a rendezés vagy a kódlap specifikációja felett.
| Kódlap értéke | Leírás |
|---|---|
ACP |
ANSI/Microsoft Windows (ISO 1252). |
OEM |
Az ügyfél által használt alapértelmezett kódlap. Ez a kódlap az alapértelmezett, ha nem adja meg -C. |
RAW |
Nem történik átalakítás egyik kódlapról a másikra. Ez a beállítás a leggyorsabb, mert nem történik átalakítás. |
<code_page> |
Adott kódlapszám, például 850. Az SQL Server 2016 (13.x) előtti verziók nem támogatják a 65001-ös kódlapot (UTF-8 kódolás). A 13-tól kezdődő verziók importálhatják az UTF-8 kódolást az SQL Server korábbi verzióiba. |
-n
A tömeges másolási műveletet az adatok natív (adatbázis-) adattípusával hajtja végre. Ez a beállítás nem kérdez rá minden egyes mezőre. A natív értékeket használja.
További információ: Adatok importálása vagy exportálása natív formátumban (SQL Server).
Az ajánlott eljárásokért tekintse meg a Karakter mód és a natív mód ajánlott eljárásait.
-N
Csak a Windowsra vonatkozik. Linux és macOS rendszeren nem támogatott.
A tömeges másolási műveletet a nemcharacter-adatok natív (adatbázis-) adattípusai, a karakteradatok Unicode-karakterei használatával hajtja végre. Ez a lehetőség a -w lehetőség nagyobb teljesítményű alternatívát kínál, és az SQL Server egyik példányáról egy másikba adatfájl használatával történő átvitelére szolgál. Nem kéri az egyes mezőket. Ezt a lehetőséget akkor használja, ha kiterjesztett ANSI-karaktereket tartalmazó adatokat továbbít, és ki szeretné használni a natív mód teljesítményét.
További információ: Unicode natív formátum használata adatok importálásához vagy exportálásához (SQL Server).
Ha bcp és -Nhasználatával exportálja, majd importálja az adatokat ugyanarra a táblázatsémára, csonkítási figyelmeztetés jelenhet meg, ha van egy rögzített hosszúságú, nem Unicode karakteroszlop (például char(10)).
Figyelmen kívül hagyhatja a figyelmeztetést. A figyelmeztetés megoldásának egyik módja, ha -nhelyett -N használ.
-w
Unicode-karakterek használatával hajtja végre a tömeges másolási műveletet. Ez a beállítás nem kérdez rá az egyes mezőkre. Tárolótípusként nchart használ, előtagok nélkül, \t (tabulátor karakter) mezőelválasztóként, és \n (újsoros karakter) sorleválasztóként.
-w nem kompatibilis -c.
További információ: Adatok importálása vagy exportálása Unicode karakterformátummal (SQL Server).
-z
Csak a következőre vonatkozik: bcp (ODBC), Linux és macOS. A Windows nem támogatott.
Engedélyezi a vektoros adattípus támogatását a bcp segédprogramban. Ez a funkció jelenleg alapértelmezés szerint le van tiltva. Ha le van tiltva, a vektoradatok JSON lebegőpontos tömbsztringekként vannak importálva vagy exportálva. Ha engedélyezve van, és ha az SQL Server 2025 -höz (17.x) és újabb verziókhoz csatlakozik, a vektoradatok natív vektor bináris fájlban lesznek importálva vagy exportálva.
Fájlok formázása
-f format_file
Egy formátumfájl teljes elérési útját adja meg. Ennek a beállításnak a jelentése attól függ, hogy milyen környezetben használják, az alábbiak szerint:
Ha a
-f-t együtt használja aformatlehetőséggel, a megadott format_file létrejön a megadott táblához vagy nézethez. XML formátumú fájl létrehozásához adja meg a-xbeállítást is. További információ: Formátumfájl létrehozása bcp-vel (SQL Server).Ha a
-flehetőséget ainvagyoutopcióval használja, az egy meglévő formátumfájlt igényel.Megjegyzés:
A formátumfájl használata a
invagyoutopcióval nem szükséges. Ha nem adja meg a-fbeállítást, és nem adja meg a-n,-c,-wvagy-Nlehetőséget sem, a parancs formázási információkat kér, és lehetővé teszi a válaszok formátumfájlba mentését. Az alapértelmezett fájlnév a következőbcp.fmt: .
Ha format_file kötőjellel (-) vagy perjellel (/) kezdődik, ne tartalmazzon szóközt a -f és a format_file érték között.
-x
Csak a Windowsra vonatkozik. Linux és macOS rendszeren nem támogatott.
Használja ezt a lehetőséget a format-fformat_file beállításokkal. Xml-alapú formátumfájlt hoz létre az alapértelmezett nem XML formátumfájl helyett. A -x beállítás nem működik az adatok importálása vagy exportálása során. Hiba keletkezik, ha format és -fformat_filenélkül használják.
Kötegelés és teljesítmény
-a packet_size
Meghatározza az ügyfél által a kiszolgálóra küldött és a kiszolgálótól fogadott hálózati csomagonkénti bájtok számát. Ezt a kiszolgálókonfigurációs beállítást az SQL Server Management Studióval vagy a sp_configure rendszer által tárolt eljárással állíthatja be. Ezzel a beállítással azonban egyedileg felülbírálhatja a kiszolgáló konfigurációs beállítását.
packet_size 4096 bájttól 65 535 bájtig lehet. Az alapértelmezett érték a 4096.
A csomagméret növelése javíthatja a tömeges másolási műveletek teljesítményét. Ha nagyobb csomagot kér, de a kiszolgáló nem tudja megadni, a rendszer az alapértelmezett csomagot használja. A bcp segédprogram által generált teljesítménystatisztikák a használt csomagméretet mutatják.
-b batch_size
Az importált adatok kötegenkénti sorainak számát adja meg. Minden köteg külön tranzakcióként lesz importálva és naplózva, amely a teljes köteget importálja a véglegesítése előtt. Alapértelmezés szerint a bcp az adatfájl összes sorát egyetlen kötegként importálja. Ha több köteg között szeretné elosztani a sorokat, adjon meg egy olyan batch_size, amely kisebb, mint az adatfájl sorainak száma. Ha egy köteg tranzakciója meghiúsul, a rendszer csak az aktuális kötegből származó beszúrásokat állítja vissza. A véglegesített tranzakciók által már importált kötegeket egy későbbi hiba nem érinti.
Az -b és a -h "ROWS_PER_BATCH=<bb>" tipp kölcsönösen kizárja egymást. Akkor használható -b , ha azt szeretné, hogy a bcp explicit módon vezérelje a kötegelést, vagy ROWS_PER_BATCH a kiszolgálóoptimalizálóra utaljon, amikor egyetlen tranzakcióként küldi el az adatokat.
-h "tippeket [, ... n]"
Csak a Windowsra vonatkozik. Linux és macOS rendszeren nem támogatott.
Meghatározza azokat a tippeket, amelyeket nagy mennyiségű adat tábla vagy nézet importálásánál kell használni.
ORDER (oszlop [ASC | DESC] [, ...n])
Az adatfájlban lévő adatok rendezési sorrendje. A tömeges importálási teljesítmény akkor javul, ha az importált adatok a tábla fürtözött indexe szerint vannak rendezve, ha vannak ilyenek. Ha az adatfájl más sorrendben van rendezve, vagyis a fürtözött indexkulcs sorrendjén kívül, vagy ha nincs fürtözött index a táblában, a
ORDERzáradék figyelmen kívül lesz hagyva. A megadott oszlopneveknek érvényes oszlopneveknek kell lenniük a céltáblában. Alapértelmezés szerint bcp feltételezi, hogy az adatfájl rendezetlen. Az optimalizált tömeges importáláshoz az SQL Server azt is ellenőrzi, hogy az importált adatok rendezése megtörtént-e.ROWS_PER_BATCH = bb
Adatsorok száma kötegenként (bb). Ha nem adja meg
-b, akkor a rendszer a teljes adatfájlt egyetlen tranzakcióként küldi el a kiszolgálónak. A kiszolgáló a bbértékének megfelelően optimalizálja a tömeges adatforgalmat. Alapértelmezés szerint aROWS_PER_BATCHismeretlen.KILOBYTES_PER_BATCH = kilobájt tételenként
Kötegenkénti kilobájtadatok hozzávetőleges száma (cc). Alapértelmezés szerint a
KILOBYTES_PER_BATCHismeretlen.TABLOCK
Meghatározza, hogy a táblaszintű zárolás tömeges adatbetöltési művelet során kerül sor; ellenkező esetben sorszintű zárolást alkalmaz. Ez a tipp jelentősen javítja a teljesítményt, mivel a tömeges másolási művelet során egy zárolást fenntartva csökkenti a tábla zárolási konfliktusát. Egyszerre több ügyfélből is betölthet egy táblát, ha a tábla nem tartalmaz indexeket, és
TABLOCKmeg van adva. Alapértelmezés szerint a táblabeállítástable lock on bulkloadhatározza meg a zárolási viselkedést. További információ: sp_tableoption.Megjegyzés:
Ha a céltábla csoportosított oszlopalapú index,
TABLOCKutasítás nem szükséges több egyidejű ügyfél általi adatbetöltéshez, mert minden egyidejű szálhoz külön sorcsoport van rendelve az indexen belül, és oda tölti be az adatokat. További információ: Oszlopcentrikus indexek: áttekintés.CHECK_CONSTRAINTS
Megadja, hogy a céltábla vagy nézet összes korlátozását ellenőrizni kell a tömeges importálási művelet során. Útmutató
CHECK_CONSTRAINTSnélkül bármilyenCHECKésFOREIGN KEYkorlátozást a rendszer figyelmen kívül hagy, és a művelet után a tábla kényszere megbízhatatlannak lesz megjelölve.Megjegyzés:
UNIQUE,PRIMARY KEYésNOT NULLkorlátozások mindig kikényszeríthetők.Egy bizonyos ponton ellenőriznie kell a teljes táblára vonatkozó korlátozásokat. Ha a tábla nem volt üres a tömeges importálási művelet előtt, a kényszer újraértékelésének költsége meghaladhatja
CHECKkényszerek növekményes adatokra történő alkalmazásának költségét. Ezért általában engedélyezheti a kényszerellenőrzést növekményes tömeges importálás során.Ha a bemeneti adatok olyan sorokat tartalmaznak, amelyek sértik a korlátozásokat, előfordulhat, hogy le szeretné tiltani a korlátozásokat (az alapértelmezett viselkedést). A korlátozások letiltásával
CHECKimportálhatja az adatokat, majd Transact-SQL utasításokkal eltávolíthatja az érvénytelen adatokat.Megjegyzés:
A
-mmax_errors kapcsoló nem vonatkozik a kényszerellenőrzésre.FIRE_TRIGGERS
Ha az argumentumban a
opciót adja meg, a céltáblán definiált beszúrási eseményindítók a tömeges adatmásolási művelet során futnak. Ha nem adja meg a FIRE_TRIGGERSértéket, a beszúrási eseményindítók nem futnak.FIRE_TRIGGERSfigyelmen kívül hagyja aout,queryoutésformatargumentumokat.
-m max_errors
A szintaxishibák maximális számát határozza meg, amelyek előfordulhatnak, mielőtt a bcp művelet megszakításra kerül. A szintaxishiba adatkonvertálási hibát jelent a cél adattípusra. A max_errors összesen nem tartalmazza azokat a hibákat, amelyeket csak a kiszolgáló tud észlelni, például a korlátozások megszegését.
A bcp segédprogram által nem másolható sor figyelmen kívül lesz hagyva, és egyetlen hibának számít. Ha nem adja meg ezt a beállítást, az alapértelmezett érték 10.
Megjegyzés:
A -m lehetőség nem vonatkozik a pénz vagy bigint adattípusok konvertálására.
-F első_sor
Megadja a táblából exportálni vagy adatfájlból importálni kívánt első sor számát. Ehhez a paraméterhez olyan értékre van szükség, amely nagyobb, mint (>) 0, de kisebb vagy egyenlő a sorok teljes számával (<). Ha nem adja meg ezt a paramétert, az alapértelmezett a fájl első sora.
first_row lehet pozitív egész szám, amelynek értéke legfeljebb 2^63-1 lehet.
-F
first_row 1-alapú számozást használ.
-L utolsó_sor
A táblából exportálandó vagy adatfájlból importálandó utolsó sor számát adja meg. Ehhez a paraméterhez 0-nál> nagyobb, de kisebb (<) vagy az utolsó sor számával egyenlő értékre van szükség. Ha nem adja meg ezt a paramétert, az alapértelmezett a fájl utolsó sora.
last_row lehet pozitív egész szám, amelynek értéke legfeljebb 2^63-1 lehet.
-r row_term
A sor terminátorát adja meg. Az alapértelmezett érték a \n (újvonalas karakter). Ezzel a paraméter használatával felülbírálhatja az alapértelmezett sor-terminátort. További információ: Mező- és sorkifejezések megadása (SQL Server).
Ha egy bcp parancsban hexadecimális jelölésben adja meg a sorvégjelet, akkor az érték levágásra kerül 0x00. Ha például 0x410041ad meg, 0x41 lesz használva.
Ha row_term kötőjellel (-) vagy perjellel (/) kezdődik, ne tartalmazzon szóközt a -r és a row_term érték között.
-t field_term
A mező terminátorát adja meg. Az alapértelmezett érték a \t (tabulátor karakter). Ezzel a paraméterrel felülbírálhatja az alapértelmezett mező-terminátort. További információ: Mező- és sorkifejezések megadása (SQL Server).
Ha a mező terminátorát hexadecimális jelöléssel adja meg egy bcp parancsban, akkor az értéket csonkolják 0x00. Ha például 0x410041ad meg, 0x41 lesz használva.
Ha field_term kötőjellel (-) vagy perjellel (/) kezdődik, ne adjon meg szóközt a -t és a field_term érték között.
Értékkezelés
-k
Megadja, hogy az üres oszlopok null értéket tartsanak a művelet során, ahelyett, hogy beszúrják az oszlopok alapértelmezett értékeit. További információ: Null értékek vagy alapértelmezett értékek megőrzése tömeges importáláskor (SQL Server).
-E
Megadja, hogy a művelet az identitásoszlop importált adatfájljában szereplő identitásértékeket használja. Ha nem adja meg -E, az SQL Server figyelmen kívül hagyja az importált adatfájl ezen oszlopának identitásértékeit, és automatikusan egyedi értékeket rendel hozzá a tábla létrehozása során megadott kezdő és növekményes értékek alapján. További információ: DBCC CHECKIDENT.
Ha az adatfájl nem tartalmazza a tábla vagy nézet identitásoszlopának értékeit, egy formátumfájl használatával adja meg, hogy a tábla vagy nézet identitásoszlopát kihagyja az adatok importálása során. Az SQL Server automatikusan egyedi értékeket rendel az oszlophoz.
A -E beállítás speciális engedélykövetelményekkel rendelkezik. További információért lásd a cikk későbbi részében található "Megjegyzések" részt.
Fájl I/O és naplózás
-i bemeneti_fájl
Csak a Windowsra vonatkozik. Linux és macOS rendszeren nem támogatott.
Megadja a válaszfájl nevét. A fájl az egyes adatmezők parancssori kérdéseire adott válaszokat tartalmazza, amikor interaktív módban (-nvagy -c-w-N nincs megadva) tömeges másolási műveletet hajt végre.
Ha input_file kötőjellel (-) vagy perjellel (/) kezdődik, ne tartalmazzon szóközt a -i és a input_file érték között.
-o kimeneti_fájl
Csak a Windowsra vonatkozik. Linux és macOS rendszeren nem támogatott.
Megadja annak a fájlnak a nevét, amely a parancssorból átirányított kimenetet fogad.
Ha output_file kötőjellel (-) vagy perjellel (/) kezdődik, ne tartalmazzon szóközt a -o és a output_file érték között.
-e err_file
Annak a hibafájlnak a teljes elérési útját adja meg, amelyet arra használnak, hogy tárolják azokat a sorokat, amelyeket a bcp segédprogram nem tud áthelyezni a fájlból az adatbázisba. A bcp parancs hibaüzenetei a felhasználó munkaállomására kerülnek. Ha nem használja ezt a beállítást, a rendszer nem hoz létre hibafájlt.
Ha err_file kötőjellel (-) vagy perjellel (/) kezdődik, ne tartalmazzon szóközt a -e és a err_file érték között.
Kompatibilitás és verziószámozás
-V { 80 | 90 | 100 | 110 | 120 | 130 | 140 | 150 | 160 | 170 }
Csak a Windowsra vonatkozik. Linux és macOS rendszeren nem támogatott.
A tömeges másolási műveletet az SQL Server egy korábbi verziójából származó adattípusok használatával hajtja végre. Ez a beállítás nem kéri az egyes mezőket; az alapértelmezett értékeket használja.
-
80= SQL Server 2000 (8.x) -
90= SQL Server 2005 (9.x) -
100= SQL Server 2008 (10.0.x) és SQL Server 2008 R2 (10.50.x) -
110= SQL Server 2012 (11.x) -
120= SQL Server 2014 (12.x) -
130= SQL Server 2016 (13.x) -
140= SQL Server 2017 (14.x) -
150= SQL Server 2019 (15.x) -
160= SQL Server 2022 (16.x) -
170= SQL Server 2025 (17.x)
Ha például olyan típusú adatokat szeretne létrehozni, amelyeket az SQL Server 2000 (8.x) nem támogat, de a későbbi verziókban bevezették, használja a -V80 lehetőséget.
További információ: Natív és karakterformátumú adatok importálása az SQL Server korábbi verzióiból.
Egyéb beállítások
-R
Megadja, hogy a bcp segédprogram tömegesen másolja a pénznemet, a dátumot és az időt az SQL Serverbe az ügyfélszámítógép területi beállításához megadott regionális formátum használatával. Alapértelmezés szerint a bcp figyelmen kívül hagyja a területi beállításokat.
-v
A bcp segédprogram verziószámának és szerzői jogának jelentése.
Megjegyzések
A bcp segédprogram támogatja az SQL Server összes támogatott verziójával kompatibilis natív adatfájlokat.
A bcp segédprogram csak a hibaüzenet első 512 bájtját jeleníti meg.
Jogosultságok
Egy bcp out művelethez SELECT engedély szükséges a forrástáblában.
A bcp in művelet minimálisan igényel SELECT és INSERT engedélyeket a céltáblán. Emellett ALTER TABLE engedélyre is szükség van, ha az alábbi feltételek bármelyike teljesül:
Korlátozások léteznek, és a
CHECK_CONSTRAINTStipp nincs megadva.A korlátozások letiltása az alapértelmezett viselkedés. A korlátozások explicit engedélyezéséhez használja a
-hlehetőséget aCHECK_CONSTRAINTStipptel.Az eseményindítók léteznek, és nincs megadva a
FIRE_TRIGGERSútmutatás.Alapértelmezés szerint az indítók nem lépnek működésbe. Ha explicit módon szeretné aktiválni az eseményindítókat, használja a
-hlehetőséget aFIRE_TRIGGERStippel.A
-Ebeállítással importálhat identitásértékeket egy adatfájlból.
Kapcsolódó tartalom
- Adatok előkészítése tömeges exportálásra vagy importálásra
- Tömeges beszúrás (Transact-SQL)
- OPENROWSET (Transact-SQL)
- SET QUOTED_IDENTIFIER (Transact-SQL)
- sp_configure (Transact-SQL)
- sp_tableoption (Transact-SQL)
- Fájlok formázása adatok importálásához vagy exportálásához (SQL Server)
Segítség kérése
- Ötletek az SQL-hez: Javaslatai vannak az SQL Server fejlesztésére?
- Microsoft Kérdés-válasz (SQL Server)
- DBA Stack Exchange (sql-server címke): Sql Serverrel kapcsolatos kérdések
- Stack Overflow (tag sql-server): Válaszok az SQL fejlesztési kérdéseire
- Microsoft SQL Server licencfeltételek és információk
- Támogatási lehetőségek üzleti felhasználók számára
- További SQL Server támogatás és visszajelzés
Közreműködés az SQL dokumentációjában
Tudta, hogy saját maga szerkesztheti az SQL-tartalmakat? Ha így tesz, nem csak a dokumentáció fejlesztésében segít, hanem az oldal közreműködőjeként is jóváírást kap.
További információ: Microsoft Learn-dokumentáció szerkesztése.