Oktatás
Képzési terv
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization
Ezt a böngészőt már nem támogatjuk.
Frissítsen a Microsoft Edge-re, hogy kihasználhassa a legújabb funkciókat, a biztonsági frissítéseket és a technikai támogatást.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Database a Microsoft Fabric
A tömeges másolási program segédprogram (bcp) tömegesen másolja az adatokat a Microsoft SQL Server egy példánya és egy felhasználó által megadott formátumú adatfájl között.
A bcp Linux rendszeren való használatához lásd: Az SQL Server sqlcmd és bcp parancssori eszközeinek telepítése Linux. A bcp Azure Synapse Analytics szolgáltatással való használatával kapcsolatos részletes információkért lásd: Adatok betöltése a bcp.
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.
Jegyzet
Ha bcp használatával készít biztonsági másolatot az adatokról, hozzon létre egy formátumfájlt az adatformátum rögzítéséhez. bcp adatfájlok nem tartalmaznak séma- vagy formátuminformációkat, ezért ha egy tábla vagy nézet el van dobva, és nincs formátumfájlja, előfordulhat, hogy nem tudja importálni az adatokat.
A bcp szintaxisához használt szintaxisi konvenciókért lásd Transact-SQL szintaxiskonvenciákat.
A Linuxon és macOS-en futó bcp
A parancssori eszközök általános rendelkezésre állási (GA) jellegűek, azonban az SQL Server 2019 (15.x) és újabb verzióihoz készült telepítőcsomaggal vannak elérhetővé.
ODBC-illesztőprogram letöltése az SQL Serverhez
Microsoft Parancssori segédprogramok 15 (x64) SQL Serverhez letöltése
Microsoft Parancssori segédprogramok 15 letöltése SQL Server (x86) számára
bcp támogatja a Microsoft Entra-hitelesítést, beleértve az Azure SQL Database, a Microsoft Fabric SQL Database és az Azure Synapse Analytics többtényezős hitelesítésének (MFA) támogatását.
Jegyzet
Microsoft Entra ID korábban Azure Active Directory (Azure AD) néven ismert.
Ehhez az összetevőhöz az SQL Serverlegújabb
A bcp verziójának ellenőrzéséhez hajtsa végre bcp -v
parancsot, és győződjön meg arról, hogy a 15.0.4298.1 vagy újabb verzió használatban van.
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)]
[-w]
[-x]
[-Y[s|m|o]]
A mezőelválasztó egy tabulátor (\t
).
A sor terminátora egy új vonal (\n
).
A karakter mód az bcp formátumfájlok és a kiterjesztett karaktereket nem tartalmazó adatfájlok előnyben részesített formátuma.
Egy parancssori argumentumban található fordított perjelet (\
) idézőjelbe kell tenni, vagy escape-elni kell. Ha például egy új sort egyéni sor-terminátorként szeretne megadni, az alábbi mechanizmusok egyikét kell használnia:
-r\\n
-r"\n"
-r'\n'
Az alábbi táblázat felsorolja a bcpelérhető parancssori beállításokat, valamint az általuk támogatott operációs rendszereket.
Annak az adatbázisnak a neve, amelyben a megadott tábla vagy nézet található. Ha nincs megadva, ez a felhasználó alapértelmezett adatbázisa.
Az adatbázis nevét explicit módon is megadhatja -d
.
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 séma nincs megadva, é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.
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
).
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élnézetként csak azok a nézetek használhatók, amelyekben az összes oszlop ugyanarra a táblára hivatkozik. 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.
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é.
queryout
akkor is meg kell adni, ha egy lekérdezésből tömegesen másol adatokat.
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.
Fájlból másolhat az adatbázistáblába vagy -nézetbe. Meghatározza a tömeges másolás irányát.
Másolatok 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.
Az adatfájl teljes elérési útja. Ha az adatokat tömegesen importálják az SQL Serverbe, az adatfájl tartalmazza a megadott táblába vagy nézetbe másolandó adatokat. Ha az adatokat tömegesen exportálják 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.
A lekérdezésből származó másolatokat csak akkor kell megadni, ha egy lekérdezésből tömegesen másol adatokat.
Létrehoz egy formátumfájlt a megadott beállítás (-n
, -c
, -w
vagy -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 -f
beállítás szükséges; XML-formátumú fájl létrehozásához is szükség van a -x
beállításra. További információért lásd: Formátumfájl létrehozása (SQL Server). A nul
értéket kell megadnia (format nul
).
A kiszolgálónak küldött és a kiszolgálóról küldött hálózati csomagonkénti bájtok számát adja meg. A kiszolgálókonfigurációs beállítások az SQL Server Management Studio (vagy a sp_configure
rendszer által tárolt eljárás) használatával állíthatók be. Ezzel a beállítással azonban a kiszolgálókonfigurációs beállítás egyedileg felül bírálható.
packet_size 4096 bájttól 65 535 bájtig; az alapértelmezett érték a 4096
.
A csomagméret növelése növelheti a tömeges másolási műveletek teljesítményét. Ha nagyobb csomagra van szükség, de nem adható meg, akkor a rendszer az alapértelmezett csomagot használja. A bcp segédprogram által létrehozott teljesítménystatisztikák a használt csomagméretet mutatják.
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 az adatfájl összes sora egyetlen kötegként lesz importálva. 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.
Ne használja ezt a lehetőséget a -h "ROWS_PER_BATCH=<bb>"
beállítással.
A műveletet karakteres adattípussal hajtja végre. Ez a beállítás nem kéri az egyes mezőket; karaktert használ tárolótípusként, előtagok nélkül, és \t
(tabulátor) mezőelválasztóként és \r\n
(újsoros karakter) 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).
Csak Windowsra érvényes. 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.
Meg kell adnia egy rendezési nevet egy formátumfájl minden oszlopához, kivéve, ha azt szeretné, hogy a 65001 beállítás elsőbbséget élvezjen a rendezési/kódlap-specifikációval szemben.
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 az alapértelmezett kódlap, ha nincs megadva -C . |
RAW |
Nem történik átalakítás egyik kódlapról a másikra. Ez a leggyorsabb lehetőség, mert nem történik átalakítás. |
<code_page> |
Adott kódoldalszám; például 850. A 13-es verzió előtti verziók (SQL Server 2016 (13.x)) nem támogatják a 65001-es 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. |
Megadja a csatlakozni kívánt adatbázist. Alapértelmezés szerint bcp csatlakozik a felhasználó alapértelmezett adatbázisához. Ha meg van adva -d <database_name>
és egy háromrészes név (database_name.schema.table, amely első paraméterként van átadva a(z) 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.
A bcp -S
beállításnak átadott érték adatforrásnévként (DSN) lesz értelmezve.
A DSN a következőhöz használható:
További információ: DSN-támogatás az sqlcmd és a bcpAz sqlcmdcsatlakoztatása című témakörben.
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 ezt a beállítást nem használja, 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.
Megadja, hogy az importált adatfájlban lévő identitásértéket vagy értékeket kell használni az identitásoszlophoz. Ha -E
nincs megadva, a rendszer figyelmen kívül hagyja az importált adatfájl ezen oszlopának identitásértékeit, és az SQL Server automatikusan egyedi értékeket rendel hozzá a tábla létrehozása során megadott mag- és növekményé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.
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
a format
beállítással van használva, akkor a megadott táblához vagy nézethez jön létre a megadott format_file. XML formátumú fájl létrehozásához adja meg a -x
beállítást is. További információért lásd: Formátumfájl létrehozása (SQL Server).
Ha a in
vagy out
beállítással használja, -f
egy meglévő formátumfájlt igényel.
Jegyzet
A in
vagy out
opcióval való formátumfájl használata nem kötelező. Ha nincs megadva -f
beállítás, ha nincs megadva -n
, -c
, -w
vagy -N
, a parancssor a formátumadatok megadását kéri, és lehetővé teszi a válaszok formátumfájlba mentését (amelynek alapértelmezett fájlneve 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.
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 a (>
) 0-nál nagyobb, de kisebb értékre van szükség, mint (<
) vagy egyenlő (=
) a teljes számsorsal. Ennek a paraméternek a hiányában 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
első_sor 1-ről indul.
A következőkre vonatkozik: Azure SQL Database, a Microsoft Fabric SQL Database és az Azure Synapse Analytics.
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 14.0.3008.27-es vagy újabb verzióra van szükség. A verzió meghatározásához hajtsa végre a bcp -v
parancsot. További információért lásd: A Microsoft Entra-hitelesítés használata az SQL Database vagy az Azure Synapse Analytics szolgáltatással, illetve -hitelesítés az SQL-adatbázishoz a Fabric-ban.
Fontos
Linux és macOS rendszeren a Microsoft Entra interaktív hitelesítése jelenleg nem támogatott. A Microsoft Entra integrált hitelesítéséhez Sql Serverhez készült Microsoft ODBC Driver 17 17.6.1-es és újabb verziókhoz, valamint egy megfelelően konfigurált Kerberos-környezethez.
Ha ellenőrizni szeretné, hogy a bcp verziója támogatja-e a Microsoft Entra-hitelesítést, írja be a bcp --help
, és ellenőrizze, hogy -G
jelenik-e meg az elérhető argumentumok listájában.
Microsoft Entra felhasználónevet és jelszót
Ha Microsoft Entra-felhasználónevet és -jelszót szeretne használni, megadhatja a -G
lehetőséget, és a felhasználónevet és a jelszót is használhatja a -U
és -P
lehetőségek megadásával.
Az alábbi példa a Microsoft Entra felhasználónév és jelszó hitelesítő adataival exportálja az adatokat. A példa exportálja az bcptest
táblát az testdb
adatbázisból az Azure szerver aadserver.database.windows.net
-ről, és az adatokat a c:\last\data1.dat
-as fájlban tárolja.
bcp bcptest out "c:\last\data1.dat" -c -S aadserver.database.windows.net -d testdb -G -U alice@aadtest.onmicrosoft.com -P xxxxx
Az alábbi példa adatokat importál egy Microsoft Entra-felhasználó hitelesítő adataival. A példa adatokat importál a c:\last\data1.dat
fájlból a bcptest
adatbázis testdb
táblájába az Azure szerveren aadserver.database.windows.net
, Microsoft Entra felhasználónév és jelszó használatával.
bcp bcptest in "c:\last\data1.dat" -c -S aadserver.database.windows.net -d testdb -G -U alice@aadtest.onmicrosoft.com -P xxxxx
Microsoft Entra integrált
A Microsoft Entra integrált hitelesítéséhez adja meg a -G
lehetőséget felhasználónév vagy jelszó nélkül. Ehhez a konfigurációhoz az aktuális Windows-felhasználói fiók (a bcp parancs alatt futó fiók) a Microsoft Entra-azonosítóval van összevonva:
Az alábbi példa a Microsoft Entra integrált hitelesítésével exportálja az adatokat. A példa exportálja a(z) bcptest
táblát a testdb
adatbázisból a aadserver.database.windows.net
logikai kiszolgálón, és az adatokat a Microsoft Entra ID-hoz federált Windows-hitelesítő adatokkal a(z) c:\last\data2.dat
fájlban tárolja.
bcp bcptest out "c:\last\data2.dat" -S aadserver.database.windows.net -d testdb -G -c
Az alábbi példa adatokat importál a Microsoft Entra integrált hitelesítésével. A példa a logikai kiszolgáló c:\last\data2.dat
-on található bcptest
adatbázis testdb
táblájába importál adatokat a aadserver.database.windows.net
fájltáblából, a Microsoft Entra ID-vel federált Windows-hitelesítő adatok felhasználásával.
bcp bcptest in "c:\last\data2.dat" -S aadserver.database.windows.net -d testdb -G -c
Microsoft Entra Managed Service Identity
Fontos
bcp szorosan kapcsolódik az illesztőprogramhoz. Mind a bcp, mind a fő verzióinak azonosnak kell lenniük a DSN-t létrehozó illesztőprogram fő verziójával. A verzió meghatározásához hajtsa végre a bcp -v
parancsot.
Az adatok bcp windowsos felügyeltszolgáltatás-identitással való exportálásához DSN-t kell konfigurálni.
DSN konfigurálása Windows rendszerű gépen:
Nyomja le a Windows billentyűt a billentyűzeten
Írja be a ODBC
, és válassza ki az ODBC adatforrás-kezelő megfelelő verzióját
Válassza a Felhasználói DSN vagy a Rendszer DSN fület
Válassza a lehetőséget, majd a hozzáadása opciót, és kövesse az utasításokat.
Amikor hitelesítési típust kér, válassza Azure Managed Service Identity-hitelesítés
Ha felhasználó által hozzárendelt kezelhető identitással rendelkezik, illessze be az Object (principal) ID
identitást a hitelesítési fül alján található bejelentkezési azonosító mezőbe.
A DSN konfigurálásához kövesse az utasításokat.
A képernyőképeket is tartalmazó teljes útmutatót a DSN-ek létrehozása és szerkesztése a felhasználói felületencímű témakörben találja.
Miután a DSN konfigurálva van, a bcp meghívható a -D
jelzővel, amely azt jelzi, hogy a -S
-nak átadott érték egy DSN.
bcp bcptest out "c:\last\data1.dat" -c -D -S myDSN -d testdb
Microsoft Entra ID hozzáférési jogkivonat
Csak a következőkre vonatkozik: Linuxra és macOS-ra. A Windows nem támogatott.
A bcp 17.8-as és újabb verzióinak felhasználói Linuxon és macOS-en is hitelesítést végezhetnek tokennel. Az alábbi példák PowerShellt használnak Linux a hozzáférési jogkivonat lekéréséhez.
Ez a példa lekéri a hozzáférési jogkivonatot, és egy fájlba helyezi, hogy adatokat exportáljon egy rendszer által hozzárendelt felügyelt identitás használatával.
Connect-AzAccount -Identity
$access_token | cut -f 1 | tr -d '\n' | iconv -f ascii -t UTF-16LE > /tmp/tokenFile
bcp bcptest out data2.dat -S aadserver.database.windows.net -d testdb -G -P /tmp/tokenFile -c
Ez a példa átad egy Client ID
a -AccountId
Connect-AzAccount
paraméterének, hogy lekérjen egy hozzáférési jogkivonatot, és helyezze azt egy jogkivonatfájlba. Ezután a jogkivonatot az adatok exportálására használják a megadott Felhasználó által hozzárendelt Felügyelt Identitás segítségével.
Connect-AzAccount -Identity -AccountId 'client_id_of_user_assigned_managed_identity'
$access_token | cut -f 1 | tr -d '\n' | iconv -f ascii -t UTF-16LE > /tmp/tokenFile
bcp bcptest out data2.dat -S aadserver.database.windows.net -d testdb -G -P /tmp/tokenFile -c
Microsoft Entra interaktív
Csak Windowsra vonatkozik. A Linux és a macOS nem támogatott.
A Microsoft Entra interaktív hitelesítése, amely minden Azure SQL- és SQL Server 2022-hez (16.x) és újabb verzióhoz elérhető, lehetővé teszi egy interaktív párbeszédpanel használatát a hitelesítéshez, amely a többtényezős hitelesítést is támogatja.
A Microsoft Entra interaktív hitelesítéséhez a bcp15.0.1000.34-es vagy újabb verziója, és a ODBC 17.2-es vagy újabb verziója szükséges.
Az interaktív hitelesítés engedélyezéséhez adja meg a -G
lehetőséget csak felhasználónévvel (-U
) és jelszó nélkül.
Az alábbi példa a Microsoft Entra interaktív hitelesítésével exportálja az adatokat, beleértve egy Microsoft Entra-fiók felhasználónevének megadását.
Az interaktív módhoz manuálisan kell megadni a jelszót, vagy ha a többtényezős hitelesítés engedélyezve van, végezze el a konfigurált MFA-hitelesítési módszert.
bcp bcptest out "c:\last\data1.dat" -c -S aadserver.database.windows.net -d testdb -G -U alice@aadtest.onmicrosoft.com
Ha összevont tartományból származó Windows-fiókot használó Microsoft Entra-felhasználót használ, a parancssorban megadott felhasználónévnek tartalmaznia kell a tartományát (például joe@contoso.com
):
bcp bcptest out "c:\last\data1.dat" -c -S aadserver.database.windows.net -d testdb -G -U joe@contoso.com
Ha a vendégfelhasználók egy adott Microsoft Entra-bérlőben találhatók, és egy olyan csoport részét képezik, amely olyan Azure SQL Database-ben található, amely adatbázis-engedélyekkel rendelkezik a bcp parancs végrehajtásához, a vendégfelhasználói aliast használja (például keith0@adventure-works.com
).
Csak Windowsra vonatkozik. Linux és macOS rendszeren nem támogatott.
Megadja a nagy mennyiségű adat táblába vagy nézetbe történő importálása során használandó hintet vagy tippeket.
ORDER (oszlop [ASC | DESC] [, ...n])
Az adatfájlban lévő adatok rendezési sorrendje. A tömeges importálás teljesítménye javul, ha az importált adatok rendezése a tábla fürtözött indexe szerint történik, ha van ilyen. 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 ORDER
zá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). A -b
nincs megadva, így a teljes adatfájl egyetlen tranzakcióként lesz elküldve a kiszolgálónak. A kiszolgáló a bbértékének megfelelően optimalizálja a tömeges adatforgalmat. Alapértelmezés szerint a ROWS_PER_BATCH
ismeretlen.
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_BATCH
ismeretlen.
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. A táblák egyszerre több ügyfélből is betölthetők, ha a tábla nem tartalmaz indexeket, és TABLOCK
van megadva. Alapértelmezés szerint a zárolási viselkedést a table lock on bulkload
táblabeállítás határozza meg. További információ: sp_tableoption.
Jegyzet
Ha a céltábla fürtözött oszlopcentrikus index, TABLOCK
tipp nem szükséges több egyidejű ügyfél általi betöltéshez, mert minden egyidejű szálhoz külön sorcsoport van rendelve az indexen belül, és betölti az adatokat. További tájékoztatásért lásd: 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. A CHECK_CONSTRAINTS
jelzés nélkül a rendszer a CHECK
és FOREIGN KEY
korlátozásokat figyelmen kívül hagyja, és a művelet után a táblázat kényszere nem megbízhatónak lesz jelölve.
Jegyzet
UNIQUE
, PRIMARY KEY
és NOT NULL
korlá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 CHECK
kényszerek növekményes adatokra történő alkalmazásának költségét. Ezért azt javasoljuk, hogy általában engedélyezze a kényszerellenőrzést egy 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). Ha CHECK
korlátozások le vannak tiltva, importálhatja az adatokat, majd Transact-SQL utasításokkal eltávolíthatja az érvénytelen adatokat.
bcp mostantól kikényszeríti az adatérvényesítést és az adatellenőrzéseket, amelyek miatt a szkriptek meghiúsulhatnak, ha érvénytelen adatokon hajtják végre őket egy adatfájlban.
Jegyzet
A -m
max_errors kapcsoló nem vonatkozik a kényszerellenőrzésre.
TŰZ_INDÍTÓK
Ha az argumentumban a FIRE_TRIGGERS
nincs megadva, nem futnak a beszúrási triggerek.
FIRE_TRIGGERS
figyelmen kívül hagyja a out
, queryout
és format
argumentumokat.
Csak Windowsra vonatkozik. Linux és macOS rendszeren nem támogatott.
Megadja a válaszfájl nevét, amely tartalmazza az egyes adatmezők parancssori kérdéseire adott válaszokat, amikor interaktív módban végez tömeges másolást (-n
, -c
, -w
vagy -N
nincs megadva).
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.
Azt adja meg, hogy az üres oszlopoknak null értéket kell megőrizniük a művelet során, és nem kell alapértelmezett értékeket beszúrni az oszlopokhoz. További információ: Null értékek vagy alapértelmezett értékek megőrzése tömeges importáláskor (SQL Server).
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 nincs megadva -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ó: Írásvédett számítási feladatok kiszervezése egy Always On rendelkezésre állási csoport másodlagos replikájára.
A bejelentkezési időkorlátot adja meg. A -l
beállítás azt határozza meg, hogy hány másodpercig kell az SQL Serverre bejelentkezni, 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 esik ebbe a tartományba, bcp hibaüzenetet generál. A 0 érték végtelen időtúllépést határoz meg.
A táblából exportálandó vagy adatfájlból importálandó utolsó sor számát adja meg. Ehhez a paraméterhez a (>
) 0-nál nagyobb, de kisebb értékre van szükség, mint (<
) vagy egyenlő (=
) az utolsó sor számával. Ennek a paraméternek a hiányában az alapértelmezett érték a fájl utolsó sora.
last_row lehet pozitív egész szám, amelynek értéke legfeljebb 2^63-1 lehet.
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 összeg kizárja azokat a hibákat, amelyek csak a kiszolgálón észlelhetők, például a kényszer megsértései.
A bcp segédprogram nem másolható sorokat figyelmen kívül hagyja, és egyetlen hibának számít. Ha ez a beállítás nem szerepel, az alapértelmezett érték 10.
Jegyzet
A -m
lehetőség nem vonatkozik a pénz vagy bigint adattípusok konvertálására.
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éri az egyes mezőket; 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).
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 -N
haszná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)).
A figyelmeztetés figyelmen kívül hagyható. A figyelmeztetés megoldásának egyik módja, ha -n
helyett -N
használ.
Csak 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.
Megadja a bejelentkezési azonosító jelszavát. Ha ezt a beállítást nem használja, a bcp parancs kéri a jelszót. Ha ezt a beállítást a parancssor végén jelszó nélkül használja, bcp az alapértelmezett jelszót (NULL
) használja.
Fontos
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. Ehelyett, miután megadta bcp, valamint a -U
lehetőséget és más kapcsolókat (ne adja meg a -P
), nyomja le az Enter billentyűt, és a parancs jelszót fog kérni. 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.
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.
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 sorválasztók (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 0x410041
ad 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.
Megadja, hogy a pénznem- és dátum- és időadatok tömegesen legyenek átmásolva az SQL Serverre 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 regionális beállítások figyelmen kívül lesznek hagyva.
Megadja annak az SQL Server-példánynak a nevét, amelyhez csatlakozni szeretne, vagy ha -D
használ egy DSN-t.
Ha nincs megadva kiszolgáló, a bcp segédprogram a helyi számítógépen lévő SQL Server alapértelmezett példányához csatlakozik. Ez a beállítás akkor szükséges, ha egy bcp parancsot a hálózat távoli számítógépéről vagy egy helyi névvel ellátott példányról futtat. Ha egy kiszolgálón az SQL Server alapértelmezett példányához szeretne csatlakozni, csak server_nameadjon meg. Az SQL Server egy nevesített példányához való csatlakozáshoz adja meg a server_name**\**instance_name.
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 sorválasztók (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 0x410041
ad 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.
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 nincs megadva -T
, meg kell adnia -U
és -P
a sikeres csatlakozáshoz.
Fontos
Ha a bcp segédprogram megbízható kapcsolattal csatlakozik az SQL Serverhez integrált biztonság használatával, használja a -T
beállítást (megbízható kapcsolat) a felhasználónév és jelszó kombináció helyett. Ha a bcp segédprogram csatlakozik az SQL Database-hez vagy az Azure Synapse Analyticshez, a Windows-hitelesítés vagy a Microsoft Entra-hitelesítés nem támogatott. Használja a -U
és -P
lehetőségeket.
Megadja az SQL Serverhez való csatlakozáshoz használt bejelentkezési azonosítót.
Csak a Linux és macOSbcp 18-es és újabb verzióira vonatkozik. Windows rendszeren nem támogatott.
Megbízhatósági kiszolgálótanúsítvány.
A bcp segédprogram verziószámának és szerzői jogának jelentése.
Csak Windows esetén érvényes. 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)Ha például az SQL Server 2000 (8.x) által nem támogatott, de az SQL Server későbbi verzióiban bevezetett típusokhoz szeretne adatokat létrehozni, 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.
Unicode-karakterek használatával hajtja végre a tömeges másolási műveletet. Ez a beállítás nem kéri az egyes mezőket; nchar tárolótípust használ, előtagok nélkül, \t
(tabulátor karakter) mezőelválasztóként, sorleválasztóként pedig \n
(újsoros karakter).
-w
nem kompatibilis -c
.
További információ: Adatok importálása vagy exportálása (SQL Server)Unicode karakterformátum használata.
Csak Windowsra vonatkozik. Linux és macOS rendszeren nem támogatott.
Ez a beállítás a format
és -f
format_file beállításokkal használható, és az alapértelmezett nem XML formátumú fájl helyett xml-alapú formátumfájlt hoz létre. A -x
nem működik az adatok importálása vagy exportálása során. Hiba keletkezik, ha format
és -f
format_filenélkül használják.
Csak a Linux és macOSbcp 18-es és újabb verzióira vonatkozik. Windows rendszeren nem támogatott.
Megadja a kapcsolat titkosítási módját. A beállítások szigorúak, kötelezőek és nem kötelezőek. A -Y
paraméter nélküli használata kötelező titkosítási módot használ, és egyenértékű a -Ym
.
A bcp 13.0-s ügyfél telepítve van a Microsoft SQL Server 2019 (15.x) eszközök telepítésekor. Ha az SQL Server több verziójához is vannak telepítve eszközök, a PATH
környezeti változó értékeinek sorrendjétől függően előfordulhat, hogy a korábbi bcp ügyfelet használja a bcp 13.0-s ügyfél helyett. Ez a környezeti változó határozza meg, hogy a Windows milyen könyvtárakat használ a végrehajtható fájlok kereséséhez. A használt verzió felderítéséhez futtassa a bcp -v
parancsot a Windows parancssorában. A PATH
környezeti változó parancsútvonalának beállításáról a következő forrásokban található további információ: Környezeti változók, illetve keressen a Környezeti változók kifejezésre a Windows súgójában.
A bcp segédprogram legújabb verziójának futtatásához el kell távolítania a bcp segédprogram régebbi verzióit.
A bcp segédprogram összes verziójának telepítésének megállapításához írja be a parancssorba:
where bcp.exe
A bcp segédprogram a Microsoft SQL Server 2016 Feature Packrészeként külön is letölthető. Válassza ENU\x64\MsSqlCmdLnUtils.msi
vagy ENU\x86\MsSqlCmdLnUtils.msi
lehetőséget.
Az XML-formátumú fájlok csak akkor támogatottak, ha az SQL Server-eszközök az SQL Server natív ügyféllel együtt vannak telepítve.
További információ a bcp segédprogram megkereséséről és futtatásáról, valamint a parancssori segédprogramok szintaxisi konvencióiról: SQL Parancssori segédprogramok (adatbázismotor).
Az adatok tömeges importálási vagy exportálási műveletekre való előkészítéséről további információt Adatok előkészítése tömeges exportálásra vagy importálásracímű témakörben talál.
A tömeges importálással végrehajtott sorbeszúrási műveletek tranzakciónaplóban való naplózásának időpontjáról további információt a A tömeges importálásiminimális naplózás előfeltételei című témakörben talál.
További speciális karakterek használata
A <
, >
, |
, &
és ^
speciális parancshéj karakternél a megelőzést szolgáló^
escape karaktert kell használni, vagy idézőjelek közé kell őket foglalni, ha sztringben használják őket (például, "StringContaining&Symbol"
esetén). Ha idézőjelek használatával csatol egy sztringet, amely az egyik speciális karaktert tartalmazza, az idézőjelek a környezeti változó értékének részeként vannak beállítva.
Az SQL Serverben a bcp segédprogram az SQL Server 2000 (8.x) és újabb verzióival kompatibilis natív adatfájlokat támogatja.
A számított vagy időbélyeg- oszlopokhoz importált adatfájl értékei figyelmen kívül lesznek hagyva, és az SQL Server automatikusan hozzárendel értékeket. Ha az adatfájl nem tartalmazza a számított vagy időbélyeg oszlop értékeit a táblában, egy formátumfájl használatával adja meg, hogy a tábla számított vagy időbélyeg- oszlopait ki kell hagyni az adatok importálása során; Az SQL Server automatikusan hozzárendeli az oszlop értékeit.
A számított és időbélyeg oszlopok tömegesen másolódnak az SQL Serverről egy adatfájlba a szokásos módon.
Az SQL Server-azonosítók tartalmazhatnak karaktereket, például beágyazott szóközöket és idézőjeleket. Az ilyen azonosítókat a következőképpen kell kezelni:
Ha a parancssorban szóközt vagy idézőjelet tartalmazó azonosítót vagy fájlnevet ad meg, az azonosítót idézőjelek közé ("") kell foglalnia.
Az alábbi bcp out
parancs például létrehoz egy Currency Types.dat
nevű adatfájlt:
bcp AdventureWorks2022.Sales.Currency out "Currency Types.dat" -T -c
Ha szóközt vagy idézőjelet tartalmazó adatbázisnevet szeretne megadni, használja a -q
lehetőséget.
Beágyazott szóközöket vagy idézőjeleket tartalmazó tulajdonos-, táblázat- vagy nézetnevek esetén a következőket teheti:
Adja meg a -q
beállítást, vagy
Helyezze a tulajdonos, a tábla vagy a nézet nevét zárójelek közé ([]
) az idézőjelek belsejében.
bcp mostantól kikényszeríti az adatérvényesítést és az adatellenőrzéseket, amelyek miatt a szkriptek meghiúsulhatnak, ha érvénytelen adatokon hajtják végre őket egy adatfájlban. Például bcp ellenőrzi, hogy:
A lebegőpontos vagy valós adattípusok natív ábrázolása érvényes.
A Unicode-adatok páros bájthosszúságúak.
Az SQL Server korábbi verzióiban tömegesen importálható érvénytelen adatok űrlapjai most nem tölthetők be; míg a korábbi verziókban a hiba nem történt meg, amíg egy ügyfél meg nem próbálta elérni az érvénytelen adatokat. A hozzáadott érvényesítés minimálisra csökkenti a meglepetéseket az adatok tömeges betöltés utáni lekérdezésekor.
AZ SQLXML-adatok tömeges exportálásához vagy importálásához használja a formátumfájlban az alábbi adattípusok egyikét.
Adattípus | Hatás |
---|---|
SQLCHAR vagy SQLVARYCHAR |
Az adatokat az ügyfélkódlapon vagy a rendezés által sugallt kódlapon küldi el a rendszer. Az effektus ugyanaz, mint a -c kapcsoló megadása formátumfájl megadása nélkül. |
SQLNCHAR vagy SQLNVARCHAR |
Az adatok Unicode formátumban lesznek elküldve. Az effektus ugyanaz, mint a -w kapcsoló megadása formátumfájl megadása nélkül. |
SQLBINARY vagy SQLVARYBIN |
Az adatok konvertálás nélkül lesznek elküldve. |
Egy bcp out
művelethez SELECT
engedély szükséges a forrástáblában.
Egy bcp in
művelethez minimálisan SELECT
/INSERT
engedély szükséges 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_CONSTRAINTS
tipp 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 -h
lehetőséget a CHECK_CONSTRAINTS
tipptel.
Az eseményindítók léteznek, és nincs megadva a FIRE_TRIGGER
tipp.
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 -h
lehetőséget a FIRE_TRIGGERS
tippel.
A -E
beállítással importálhat identitásértékeket egy adatfájlból.
Jegyzet
A céltáblán ALTER TABLE
engedély megkövetelése az SQL Server 2005-ben (9.x) lett bevezetve. Ez a követelmény miatt a bcp szkriptek, amelyek nem kényszerítik ki az eseményindítókat és a kényszerellenőrzéseket, sikertelenek lehetnek, ha a felhasználói fiók nem rendelkezik a céltáblához szükséges ALTER TABLE
engedélyekkel.
Ez a szakasz a karakter módra (-c
) és a natív módra (-n
) vonatkozó javaslatokat tartalmazza.
(Rendszergazda/Felhasználó) Ha lehetséges, használjon natív formátumot (-n
) az elválasztó probléma elkerülése érdekében. A natív formátum használatával exportálhatja és importálhatja az SQL Servert. Exportálja az adatokat az SQL Serverről a -c
vagy -w
beállítással, ha az adatok nem SQL Server-adatbázisba lesznek importálva.
(Rendszergazda) Ellenőrizze az adatokat bcp out
használatakor. Például használja a bcp out
, bcp in
, majd bcp out
kódokat, és ellenőrizze, hogy az adatok megfelelően vannak exportálva, és hogy a terminátorértékeket nem használják-e valamilyen adatérték részeként. Fontolja meg az alapértelmezett terminátorok (-t
és -r
beállításainak) felülírását véletlenszerű hexadecimális értékekkel, hogy elkerülje a terminátorértékek és az adatértékek közötti ütközéseket.
(Felhasználó) Használjon hosszú és egyedi terminátort (bájtok vagy karakterek bármilyen sorozata) a tényleges sztringértékkel való ütközés lehetőségének minimalizálásához. Ezt a -t
és -r
lehetőségekkel teheti meg.
Az ebben a szakaszban szereplő példák az SQL Server 2016 (13.x) és újabb verzióihoz, az Azure SQL Database-hez és a felügyelt Azure SQL-példányhoz készült WideWorldImporters
mintaadatbázist használják.
WideWorldImporters
letölthető innen https://github.com/Microsoft/sql-server-samples/releases/tag/wide-world-importers-v1.0-ről. A mintaadatbázis visszaállításához tekintse meg VISSZAÁLLÍTÁSI utasítások szintaxist.
Ha másként nincs megadva, a példák feltételezik, hogy Windows-hitelesítést használ, és megbízható kapcsolattal rendelkezik ahhoz a kiszolgálópéldányhoz, amelyen a bcp parancsot futtatja. Számos példa egy D:\bcp
nevű könyvtárat használ.
A következő Transact-SQL szkript létrehozza a WideWorldImporters.Warehouse.StockItemTransactions
tábla egy üres példányát, majd hozzáad egy elsődleges kulcskorlátozást:
USE WideWorldImporters;
GO
SET NOCOUNT ON;
IF NOT EXISTS (SELECT *
FROM sys.tables
WHERE name = 'Warehouse.StockItemTransactions_bcp')
BEGIN
SELECT *
INTO WideWorldImporters.Warehouse.StockItemTransactions_bcp
FROM WideWorldImporters.Warehouse.StockItemTransactions
WHERE 1 = 2;
ALTER TABLE Warehouse.StockItemTransactions_bcp
ADD CONSTRAINT PK_Warehouse_StockItemTransactions_bcp
PRIMARY KEY NONCLUSTERED (StockItemTransactionID ASC);
END
Amennyiben szükséges, csonkíthatja a StockItemTransactions_bcp
táblát.
TRUNCATE TABLE WideWorldImporters.Warehouse.StockItemTransactions_bcp;
A parancssorban adja meg a következő parancsot:
bcp -v
Az alábbi példák a out
opciót szemléltetik a WideWorldImporters.Warehouse.StockItemTransactions
táblán.
Alapszintű
Ez a példa létrehoz egy StockItemTransactions_character.bcp
nevű adatfájlt, és karakter formátumban másolja be a táblázat adatait.
A parancssorban adja meg a következő parancsot:
bcp WideWorldImporters.Warehouse.StockItemTransactions out D:\bcp\StockItemTransactions_character.bcp -c -T
bővített
Ez a példa létrehoz egy StockItemTransactions_native.bcp
nevű adatfájlt, amelybe a táblaadatokat a natív formátum használatával másolja. A példa a szintaxishibák maximális számát, egy hibafájlt és egy kimeneti fájlt is meghatározza.
A parancssorban adja meg a következő parancsot:
bcp WideWorldImporters.Warehouse.StockItemTransactions OUT D:\bcp\StockItemTransactions_native.bcp -m 1 -n -e D:\bcp\Error_out.log -o D:\bcp\Output_out.log -S -T
Tekintse át Error_out.log
és Output_out.log
.
Error_out.log
üresnek kell lennie. Hasonlítsa össze a fájlméreteket StockItemTransactions_character.bcp
és StockItemTransactions_native.bcp
között.
Az alábbi példa a out
tábla WideWorldImporters.Warehouse.StockItemTransactions
beállítását szemlélteti. Ez a példa létrehoz egy StockItemTransactions_character.bcp
nevű adatfájlt, és karakter formátumban másolja be a táblázat adatait.
A példa feltételezi, hogy vegyes módú hitelesítést használ, és a bejelentkezési azonosító megadásához a -U
kapcsolót kell használnia. Emellett, ha nem csatlakozik a helyi számítógépen található SQL Server alapértelmezett példányához, használja a -S
kapcsolót a rendszer nevének és opcionálisan a példány nevének megadásához.
A parancssorban adja meg a következő parancsot: (A rendszer kéri a jelszót.)
bcp WideWorldImporters.Warehouse.StockItemTransactions out D:\bcp\StockItemTransactions_character.bcp -c -U<login_id> -S<server_name\instance_name>
Az alábbi példák a korábban létrehozott fájlok használatával szemléltetik a in
tábla WideWorldImporters.Warehouse.StockItemTransactions_bcp
beállítását.
Alapszintű
Ez a példa a korábban létrehozott StockItemTransactions_character.bcp
adatfájlt használja.
A parancssorban adja meg a következő parancsot:
bcp WideWorldImporters.Warehouse.StockItemTransactions_bcp IN D:\bcp\StockItemTransactions_character.bcp -c -T
bővített
Ez a példa a korábban létrehozott StockItemTransactions_native.bcp
adatfájlt használja. A példa továbbá: használja a tippet TABLOCK
, megadja a köteg méretét, a szintaxishibák maximális számát, egy hibafájlt és egy kimeneti fájlt.
A parancssorban adja meg a következő parancsot:
bcp WideWorldImporters.Warehouse.StockItemTransactions_bcp IN D:\bcp\StockItemTransactions_native.bcp -b 5000 -h "TABLOCK" -m 1 -n -e D:\bcp\Error_in.log -o D:\bcp\Output_in.log -S -T
Tekintse át Error_in.log
és Output_in.log
.
Egy adott oszlop másolásához használhatja a queryout
lehetőséget. Az alábbi példa csak a StockItemTransactionID
tábla Warehouse.StockItemTransactions
oszlopát másolja egy adatfájlba.
A parancssorban adja meg a következő parancsot:
bcp "SELECT StockItemTransactionID FROM WideWorldImporters.Warehouse.StockItemTransactions WITH (NOLOCK)" queryout D:\bcp\StockItemTransactionID_c.bcp -c -T
Egy adott sor másolásához használhatja a queryout
lehetőséget. Az alábbi példa csak a Amy Trefl
nevű személy sorát másolja át a WideWorldImporters.Application.People
táblából egy adatfájlba Amy_Trefl_c.bcp
.
Jegyzet
A -d
kapcsoló az adatbázis azonosítására szolgál.
A parancssorban adja meg a következő parancsot:
bcp "SELECT * from Application.People WHERE FullName = 'Amy Trefl'" queryout D:\bcp\Amy_Trefl_c.bcp -d WideWorldImporters -c -T
Ha az eredményhalmazt egy Transact-SQL utasításból egy adatfájlba szeretné másolni, használja a queryout
lehetőséget. Az alábbi példa a teljes névvel rendezett WideWorldImporters.Application.People
táblából másolja a neveket a People.txt
adatfájlba.
Jegyzet
A -t
kapcsolóval vesszővel tagolt fájlt hozhat létre.
A parancssorban adja meg a következő parancsot:
bcp "SELECT FullName, PreferredName FROM WideWorldImporters.Application.People ORDER BY FullName" queryout D:\bcp\People.txt -t, -c -T
Az alábbi példa három különböző formátumfájlt hoz létre a Warehouse.StockItemTransactions
adatbázis WideWorldImporters
táblázatához. Tekintse át az egyes létrehozott fájlok tartalmát.
A parancssorban adja meg a következő parancsokat:
REM non-XML character format
bcp WideWorldImporters.Warehouse.StockItemTransactions format nul -f D:\bcp\StockItemTransactions_c.fmt -c -T
REM non-XML native format
bcp WideWorldImporters.Warehouse.StockItemTransactions format nul -f D:\bcp\StockItemTransactions_n.fmt -n -T
REM XML character format
bcp WideWorldImporters.Warehouse.StockItemTransactions format nul -f D:\bcp\StockItemTransactions_c.xml -x -c -T
Jegyzet
A -x
kapcsoló használatához bcp 9.0-s ügyfelet kell használnia. A bcp 9.0-s ügyfél használatáról további információt a Megjegyzések szakaszban talál.
További információ: Nem XML formátumú fájlok (SQL Server) és XML-formátumfájlok (SQL Server).
Ha korábban létrehozott formátumfájlt szeretne használni az ADATOK SQL Server-példányba való importálásához, használja a -f
kapcsolót a in
beállítással. Az alábbi parancs például tömegesen átmásolja egy adatfájl tartalmát ( StockItemTransactions_character.bcp
) a Warehouse.StockItemTransactions_bcp
tábla egy másolatába a korábban létrehozott formátumfájl használatával, StockItemTransactions_c.xml
.
Jegyzet
A -L
kapcsoló csak az első 100 rekord importálására szolgál.
A parancssorban adja meg a következő parancsot:
bcp WideWorldImporters.Warehouse.StockItemTransactions_bcp in D:\bcp\StockItemTransactions_character.bcp -L 100 -f D:\bcp\StockItemTransactions_c.xml -T
Jegyzet
A fájlok formázása akkor hasznos, ha az adatfájl mezői eltérnek a táblaoszlopoktól; például számban, sorrendben vagy adattípusokban. További információ: Fájlok formázása adatok importálásához vagy exportálásához (SQL Server).
Az alábbi részleges kódpélda bemutatja a bcp importálását a 65001 kódlap megadásával.
bcp MyTable in "D:\data.csv" -T -c -C 65001 -t , ...
Ez a példa két mintafájlt mutat be, amelyeket bcp generált egyéni mező- és sorelválasztók használatával.
Hozzon létre egy táblát dbo.T1
a tempdb
adatbázisban két oszloptal, ID
és Name
.
USE tempdb;
GO
CREATE TABLE dbo.T1 (ID INT, [Name] NVARCHAR (20));
GO
INSERT INTO dbo.T1 VALUES (1, N'Natalia');
INSERT INTO dbo.T1 VALUES (2, N'Mark');
INSERT INTO dbo.T1 VALUES (3, N'Randolph');
GO
Hozzon létre egy kimeneti fájlt a dbo.T1
példatáblából egy egyéni mező terminátorával.
Ebben a példában a kiszolgáló neve MYSERVER
, -t ,
pedig az egyéni mező terminátorát adja meg.
bcp dbo.T1 out T1.txt -T -S MYSERVER -d tempdb -w -t ,
Itt van az eredményhalmaz.
1,Natalia
2,Mark
3,Randolph
Hozzon létre egy kimeneti fájlt a dbo.T1
példatáblából egy egyéni mező-terminátor és egy egyéni sorkifejező használatával.
Ebben a példában a kiszolgáló neve MYSERVER
, -t ,
az egyéni mező terminátorát, -r :
pedig az egyéni sor terminátorát adja meg.
bcp dbo.T1 out T1.txt -T -S MYSERVER -d tempdb -w -t , -r :
Itt van az eredményhalmaz.
1,Natalia:2,Mark:3,Randolph:
Jegyzet
A sorvégjelet mindig hozzáadják, még az utolsó rekord esetében is. A mezőhatároló azonban nem adódik hozzá az utolsó mezőhöz.
Az alábbi cikkek példákat tartalmaznak bcphasználatára:
Adatformátumok tömeges importáláshoz vagy tömeges exportáláshoz (SQL Server)
Null értékek vagy alapértelmezett értékek megőrzése tömeges importáláskor (SQL Server)
Identitásértékek megőrzése adatok tömeges importálásakor (SQL Server)
Fájlok formázása adatok importálásához vagy exportálásához (SQL Server)
PÉLDÁK XML-dokumentumok (SQL Server) tömeges importálására és exportálására
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óért lásd: Az SQL Server dokumentációjához való hozzájárulás módja
Oktatás
Képzési terv
Use advance techniques in canvas apps to perform custom updates and optimization - Training
Use advance techniques in canvas apps to perform custom updates and optimization