Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
databáze SQL v Microsoft Fabric
Nástroj programu hromadného kopírování (bcp) kopíruje data mezi instancí SQL Serveru a datovým souborem v uživatelsky určeném formátu.
Nástroj bcp slouží k importu velkého počtu nových řádků do tabulek SQL Serveru nebo k exportu dat z tabulek do datových souborů. Kromě použití s možností queryout nástroj nevyžaduje žádné znalosti jazyka Transact-SQL. Pokud chcete importovat data do tabulky, musíte použít formátový soubor vytvořený pro danou tabulku nebo porozumět struktuře tabulky a typům dat, která jsou platná pro jeho sloupce.
Další informace o tom, která verze bcp je nainstalována v systému, požadavky na systém a jak získat bcp, naleznete v tématu Stažení a instalace nástroje bcp.
Note
Datové soubory bcp neobsahují žádné informace o schématu ani formátu. Pokud použijete bcp k zálohování dat a později zahodíte nebo změníte zdrojovou tabulku, budete potřebovat buď identickou definici tabulky, nebo formátový soubor pro import dat zpět.
Konvence syntaxe používané pro syntaxi bcp najdete v tématu Transact-SQL konvence syntaxe (Transact-SQL).
Jak používat bcp
Informace o tom, jak používat bcp, včetně ukázkových příkazů, naleznete v tématu Použití nástroje bcp.
Použití nástroje bcp v Linuxu a macOS
Informace o tom, jak nainstalovat nástroje příkazového řádku v systémech macOS a Linux, najdete v tématu Instalace nástrojů příkazového řádku sqlcmd a bcp SQL Serveru v Linuxu.
Důležité informace o bcp v Linuxu a macOS
Ukončovací znak pole je tabulátor (
\t).Ukončovací znak řádku je nový řádek (
\n).Pro přenosy SQL Serveru na SQL Server použijte nativní formát (
-n). Formát znaků (-c) použijte pouze v případě, že data přejdou do systému jiného než SQL Serveru nebo pokud datový soubor nesmí obsahovat rozšířené znaky. Další informace naleznete v tématu Režim znaků a osvědčené postupy nativního režimu.Argument příkazového řádku musíte uzavřít do uvozovek nebo escapovat zpětné lomítko (
\). Pokud chcete například zadat nový řádek jako vlastní ukončovací znak řádku, použijte jeden z následujících mechanismů:-r\\n-r"\n"-r'\n'
Podpora TDS 8.0
SQL Server 2025 (17.x) zavádí podporu TDS 8.0 pro nástroj bcp .
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 ]
Možnosti příkazového řádku
Následující tabulka uvádí možnosti příkazového řádku dostupné v bcpa operační systémy, které podporují.
1 Vyžaduje bcp verze 18 nebo novější, která se dodává s SQL Serverem 2025 (17.x).
2 ODBC 18.6.1.1 a novější verze.
Režim objektu a přenosu
database_name
Název databáze, která obsahuje zadanou tabulku nebo zobrazení. Pokud tento parametr nezadáte, použije se výchozí databáze uživatele.
Můžete také explicitně zadat název databáze pomocí -d.
schema
Jméno vlastníka tabulky nebo zobrazení. schéma je volitelné, pokud uživatel provádějící operaci vlastní zadanou tabulku nebo zobrazení. Pokud nezadáte schéma a uživatel provádějící operaci nevlastní zadanou tabulku nebo zobrazení, sql Server vrátí chybovou zprávu a operace se zruší.
table_name
Název cílové tabulky při importu dat do SQL Serveru (in) a zdrojové tabulky při exportu dat z SQL Serveru (out).
view_name
Název cílového zobrazení při kopírování dat do SQL Serveru (in) a zdrojového zobrazení při kopírování dat z SQL Serveru (out). Pokud se používá jako cíl (in), zobrazení se podporuje jenom v případě, že všechny jeho sloupce odkazují na stejnou tabulku. Toto omezení neplatí, pokud se zobrazení používá jako zdroj (out). Další informace o omezeních kopírování dat do zobrazení najdete v sekci INSERT.
"query"
Dotaz Transact-SQL, který vrátí sadu výsledků. Pokud dotaz vrátí více sad výsledků, zkopíruje se do datového souboru pouze první sada výsledků; následující sady výsledků jsou ignorovány. Kolem dotazu použijte dvojité uvozovky a jednoduché uvozovky kolem všeho, co je v dotazu vložené. Musíte také určit queryout , kdy hromadně kopírujete data z dotazu.
Dotaz může odkazovat na uloženou proceduru, pokud existují všechny tabulky odkazované uvnitř uložené procedury před provedením příkazu bcp. Pokud například uložená procedura generuje dočasnou tabulku, příkaz bcp selže, protože dočasná tabulka je k dispozici pouze za běhu a ne v době provádění příkazu. V takovém případě zvažte vložení výsledků uložené procedury do tabulky a následné použití bcp ke zkopírování dat z tabulky do datového souboru.
v
Zkopíruje data ze souboru do databázové tabulky nebo zobrazení. Určuje směr hromadného kopírování.
out
Zkopíruje data z databázové tabulky nebo zobrazení do souboru. Určuje směr hromadného kopírování.
Pokud zadáte existující soubor, soubor se přepíše. Když nástroj bcp extrahuje data, reprezentuje prázdný řetězec jako null a null řetězec jako prázdný.
data_file
Úplná cesta k datovému souboru. Při hromadném importu dat do SQL Serveru obsahuje datový soubor data, která chcete zkopírovat do zadané tabulky nebo zobrazení. Při hromadném exportu dat z SQL Serveru obsahuje datový soubor data zkopírovaná z tabulky nebo zobrazení. Cesta může mít 1 až 255 znaků. Datový soubor může obsahovat maximálně 2^63 – 1 řádky.
queryout
Kopíruje data z dotazu a musí být zadána pouze při hromadném kopírování dat z dotazu.
format
Vytvoří formátový soubor na základě zadané možnosti (-n, -c, -wnebo -N) a oddělovačů tabulky nebo zobrazení. Při hromadném kopírování dat může příkaz bcp odkazovat na formátový soubor, který vás zbaví nutnosti interaktivně zadávat informace o formátu. Tato format možnost vyžaduje -f možnost. Vytvoření souboru formátu XML také vyžaduje možnost -x . Další informace naleznete v tématu Vytvoření formátu souboru s bcp (SQL Server). Je nutné zadat nul jako hodnotu (format nul).
-q
Spustí příkaz SET QUOTED_IDENTIFIER ON v připojení mezi nástrojem bcp a instancí SQL Serveru. Pomocí této možnosti můžete zadat databázi, vlastníka, tabulku nebo název zobrazení, který obsahuje mezeru nebo jednoduchou uvozovku. Uzavřete celý název tabulky nebo zobrazení, který má tři části, do uvozovek ("").
Chcete-li zadat název databáze obsahující mezeru nebo jednoduchou uvozovku, musíte použít možnost -q.
-q se nevztahuje na hodnoty předané -d.
Další informace najdete v části Poznámky v tomto článku.
Připojení a ověřování
-S [server_name[\instance_name]]
Určuje název instance SQL Serveru, ke které se chcete připojit, nebo pokud používáte -Dnázev DSN.
Pokud neurčíte server, nástroj bcp se připojí k výchozí instanci SQL Serveru na místním počítači. Tuto možnost potřebujete při spuštění příkazu bcp ze vzdáleného počítače v síti nebo místní pojmenované instance. Pokud se chcete připojit k výchozí instanci SQL Serveru na serveru, zadejte pouze server_name. Pokud se chcete připojit k pojmenované instanci SQL Serveru, zadejte <server_name>\<instance_name>.
-d database_name
Určuje databázi, ke které se má připojit. Ve výchozím nastavení se bcp připojí k vaší výchozí databázi. Pokud zadáte -d <database_name> a tříčástný název (database_name.schema.table jako první parametr předaný do bcp), dojde k chybě, protože název databáze nelze zadat dvakrát. Pokud database_name začíná spojovníkem (-) nebo lomítkem (/), nepřidávejte mezeru mezi -d a názvem databáze.
-U login_id
Určuje přihlašovací ID použité pro připojení k SQL Serveru.
-P heslo
Určuje heslo pro přihlašovací ID. Pokud tuto možnost nepoužíváte, příkaz bcp zobrazí výzvu k zadání hesla. Pokud použijete tuto možnost na konci příkazového řádku bez hesla, použije bcp výchozí heslo (NULL).
Important
Nepoužívejte prázdné heslo. Použijte silné heslo.
Pokud chcete heslo maskovat, nezadávejte možnost -P spolu s možností -U. Místo toho po zadání bcp spolu s -U možností a dalšími přepínači (nezadávejte -P), stiskněte klávesu Enter a příkazový řádek vás vyzve k zadání hesla. Tato metoda zajišťuje maskování hesla při jeho zadání.
Pokud
Při použití s -G volbou bez -U, -P na Linuxu a macOS určuje soubor, který obsahuje přístupový token Microsoft Entra (verze 17.8 a novější). Soubor tokenu by měl být ve formátu UTF-16LE (bez BOM). Další informace naleznete v tématu Ověřování pomocí Microsoft Entra ID v bcp.
-G
Platí pro: Azure SQL Database, Azure SQL Managed Instance, SQL Database v Microsoft Fabric, Azure Synapse Analytics a SQL Server 2022 (16.x) a novější verze.
Tento přepínač používá klient k určení, že se uživatel ověřuje pomocí ID Microsoft Entra. Přepínač -G vyžaduje bcp verze 14.0.3008.27 nebo novější. Pokud chcete zjistit verzi, spusťte bcp -v. Další informace naleznete v tématu Použití ověřování Microsoft Entra s SQL Database nebo Azure Synapse Analytics nebo ověřování v databázi SQL v Microsoft Fabric.
Úplné podrobnosti o ověřování Microsoft Entra v bcp naleznete v tématu Ověřování pomocí Microsoft Entra ID v bcp.
-D
Způsobí, že se hodnota předaná bcp -S možnosti interpretuje jako název zdroje dat (DSN).
-D se může objevit kdekoli na příkazovém řádku; řazení vzhledem k -S na tom nezáleží.
DsN lze použít k:
- Možnosti ovladače vložit pro zjednodušení příkazových řádků.
- Vynucujte možnosti ovladače, které nejsou jinak přístupné z příkazového řádku, například
MultiSubnetFailover. - Pomozte chránit citlivé přihlašovací údaje před zjistitelnými jako argumenty příkazového řádku.
Další informace najdete v tématu Podpora DSN v sqlcmd a bcp.
-K application_intent
Deklaruje typ úlohy aplikace při připojování k serveru. Jedinou možnou hodnotou je ReadOnly. Pokud ho nezadáte -K, nástroj bcp nepodporuje připojení k sekundární replice ve skupině dostupnosti AlwaysOn. Další informace najdete v tématu Přenesení úlohy pouze pro čtení na sekundární replikát skupiny dostupnosti Always On.
-l časový limit přihlášení
Určuje časový limit přihlášení. Možnost -l určuje počet sekund před vypršením časového limitu přihlášení k SQL Serveru při pokusu o připojení k serveru. Výchozí časový limit přihlášení je 15 sekund. Časový limit přihlášení musí být číslo od 0 do 65534. Pokud zadaná hodnota není číselná nebo nepatří do této oblasti, nástroj bcp vygeneruje chybovou zprávu. Hodnota 0 určuje nekonečný časový limit.
-T
Určuje, že utilita bcp se připojuje k SQL Serveru pomocí důvěryhodného připojení s integrovaným zabezpečením. Přihlašovací bezpečnostní údaje síťového uživatele, login_ida heslo, nejsou povinné. Pokud nezadáte -T, musíte zadat -U a -P, aby se připojení zdařilo.
Important
Používejte -T pouze při připojování k SQL Serveru s důvěryhodným připojením integrovaným ve Windows. Při připojování ke službě Azure SQL Database nebo Azure Synapse Analytics -T (integrované ověřování Windows) není podporováno. Pro ověřování Microsoft Entra pro služby Azure nebo SQL Server 2022 (16.x) a novější verze použijte -G (viz Ověření pomocí Microsoft Entra ID v bcp).
-Y[s|m|o]
Platí pro: bcp verze 18 a novější verze, které se dodává s SQL Serverem 2025 (17.x).
Určuje, jestli připojení používají šifrování TLS přes síť.
-Y může být o (pro Optional), m (pro Mandatory, výchozí) nebo s (pro Strict). Pokud nezadáte -Y, -Ym je výchozí hodnota (for Mandatory).
-u
Platí pro: bcp verze 18 a novější verze, které se dodává s SQL Serverem 2025 (17.x).
Důvěřovat certifikátu serveru. Pokud se používá s možností šifrování pro připojení, povolí šifrování pomocí certifikátu serveru podepsaného svým držitelem.
Reprezentace dat
-c
Provádí operaci používající datový typ znaku. Tato možnost nevyžaduje potvrzení pro každé pole. Jako typ úložiště používá znak bez předpon a jako oddělovač polí používá \t znak (znak tabulátoru) a \r\n jako ukončovací znak řádku (znak nového řádku).
-c není kompatibilní s -w.
Další informace naleznete v tématu Použití formátu znaků k importu nebo exportu dat (SQL Server).
Osvědčené postupy najdete v tématu Režim znaků a osvědčené postupy nativního režimu.
-C { ACP | OEM | RAW | code_page }
Platí jenom pro: Windows. Nepodporuje se v Linuxu a macOS.
Určuje znakovou stránku dat v datovém souboru. code_page je relevantní pouze v případě, že data obsahují char, varcharnebo text sloupce s hodnotami většími než 127 nebo menšími než 32.
Zadejte název kolace pro každý sloupec ve formátu souboru s výjimkou případů, kdy chcete, aby měla možnost 65001 prioritu oproti specifikaci kolace nebo znakové stránky.
| Hodnota kódové stránky | Description |
|---|---|
ACP |
ANSI/Microsoft Windows (ISO 1252). |
OEM |
Výchozí znaková stránka používaná klientem Tato znaková stránka je výchozí, pokud nezadáte -C. |
RAW |
Nedojde k žádnému převodu z jedné znakové stránky na jinou. Tato možnost je nejrychlejší, protože nedojde k žádnému převodu. |
<code_page> |
Konkrétní číslo znakové stránky, například 850. Verze před SQL Serverem 2016 (13.x) nepodporují kódovou stránku 65001 (kódování UTF-8). Verze začínající verzí 13 můžou importovat kódování UTF-8 do starších verzí SQL Serveru. |
-n
Provede operaci hromadného kopírování pomocí nativních datových typů dat (databáze). Tato možnost nezobrazí výzvu pro každé pole. Používá nativní hodnoty.
Další informace naleznete v tématu Použití nativního formátu k importu nebo exportu dat (SQL Server).
Osvědčené postupy najdete v tématu Režim znaků a osvědčené postupy nativního režimu.
-N
Platí jenom pro: Windows. Nepodporuje se v Linuxu a macOS.
Provede hromadné kopírování využívající nativní (databázové) datové typy pro neznaková data a znaky Unicode pro znaková data. Tato možnost nabízí vyšší výkonovou alternativu k možnosti -w a je určená k přenosu dat z jedné instance SQL Serveru do jiného pomocí datového souboru. Systém nezobrazí výzvu pro každé pole. Tuto možnost použijte při přenosu dat obsahujících rozšířené znaky ANSI a chcete využít výkon nativního režimu.
Další informace najdete v tématu Použití nativního formátu Unicode k importu nebo exportu dat (SQL Server).
Pokud exportujete a poté importujete data do stejného schématu tabulky pomocí bcp s -N, může se zobrazit upozornění na zkrácení, je-li zde sloupec s pevnou délkou bez unicode znaků (například CHAR(10)).
Upozornění můžete ignorovat. Jedním ze způsobů, jak toto upozornění vyřešit, je použít -n místo -N.
-w
Provede operaci hromadného kopírování pomocí znaků Unicode. Tato možnost nezobrazí výzvu pro každé pole. Jako typ úložiště používá nchar, žádné předpony, \t (znak tabulátoru) jako oddělovač polí a \n (znak nového řádku) jako ukončovací znak řádku.
-w není kompatibilní s -c.
Další informace naleznete v tématu Použití formátu znaků Unicode k importu nebo exportu dat (SQL Server).
-z
Platí pouze pro: bcp (ODBC), Linux a macOS. Windows se nepodporuje.
Povolí podporu vektorových datových typů v nástroji bcp . Tato funkce je ve výchozím nastavení zakázaná. Pokud je tato možnost zakázaná, vektorová data se naimportují nebo exportují jako řetězce pole float JSON. Při povolení a při připojování k SQL Serveru 2025 (17.x) a novějších verzích se vektorová data importují nebo exportují v binárním nativním vektoru .
Formátování souborů
-f format_file
Určuje úplnou cestu k souboru formátu. Význam této možnosti závisí na prostředí, ve kterém se používá, následujícím způsobem:
Pokud použijete
-fsformatmožností, vytvoří se zadaný format_file pro zadanou tabulku nebo zobrazení. Chcete-li vytvořit soubor formátu XML, zadejte také možnost-x. Další informace naleznete v tématu Vytvoření formátu souboru s bcp (SQL Server).Pokud používáte
-fs možnostíinneboout, je třeba existující formátový soubor.Note
Použití souboru s formátem pomocí možnosti
innebooutje volitelné. Pokud nezadáte možnost-fa nezadáte-n,-c,-wnebo-N, příkaz vás vyzve k zadání informací o formátu a umožní uložit vaše odpovědi do souboru formátu. Výchozí název souboru jebcp.fmt.
Pokud format_file začíná pomlčkou (-) nebo lomítkem (/), nezahrnujte mezeru mezi -f a hodnotou format_file.
-x
Platí jenom pro: Windows. Nepodporuje se v Linuxu a macOS.
Tuto možnost použijte s možnostmi format a -fformat_file . Vygeneruje soubor formátu založený na jazyce XML namísto výchozího souboru formátu jiného než XML. Tato -x možnost nefunguje při importu nebo exportu dat. Vygeneruje chybu, pokud se používá bez format i -fformat_file.
Dávkování a výkon
-packet_size
Určuje počet bajtů pro každý síťový paket, který klient odesílá na server a přijímá ze serveru. Tuto možnost konfigurace serveru nastavte pomocí aplikace SQL Server Management Studio nebo sp_configure systémové uložené procedury. Možnost konfigurace serveru však můžete přepsat jednotlivě pomocí této možnosti.
packet_size může být od 4 096 bajtů do 65 535 bajtů. Výchozí hodnota je 4096.
Zvýšení velikosti paketů může zlepšit výkon operací hromadného kopírování. Pokud požadujete větší paket, ale server ho nemůže udělit, použije se výchozí hodnota. Statistika výkonu, kterou nástroj bcp generuje, zobrazuje použitou velikost paketu.
-b batch_size
Určuje počet řádků na dávku importovaných dat. Každá dávka se naimportuje a zaprotokoluje jako samostatná transakce, která před potvrzením importuje celou dávku. Ve výchozím nastavení nástroj bcp naimportuje všechny řádky v datovém souboru jako jednu dávku. Chcete-li distribuovat řádky mezi více dávek, zadejte batch_size, která je menší než počet řádků v datovém souboru. Pokud transakce u libovolné dávky selže, zruší se pouze vložené položky z aktuální dávky. Dávky, které jsou již importovány potvrzenými transakcemi, nejsou ovlivněny pozdějším selháním.
-b a -h "ROWS_PER_BATCH=<bb>" rada se vzájemně vylučují. Použijte -b, pokud chcete, aby bcp explicitně řídilo dávkování, nebo použijte ROWS_PER_BATCH, abyste naznačili optimalizátoru serveru odeslání dat jako jednotlivé transakce.
-h "rady [, ... n]"
Platí jenom pro: Windows. Nepodporuje se v Linuxu a macOS.
Určuje nápovědu nebo rady, které se mají použít při hromadném importu dat do tabulky nebo zobrazení.
SEŘADIT (sloupec [ASC | DESC] [, ...n])
Pořadí řazení dat v datovém souboru Výkon hromadného importu se zlepší, pokud se importovaná data seřadí podle clusterovaného indexu v tabulce( pokud existuje). Pokud je datový soubor seřazený v jiném pořadí, to znamená jiné než pořadí clusterovaného indexového klíče nebo pokud v tabulce není žádný clusterovaný index, bude klauzule
ORDERignorována. Zadané názvy sloupců musí být platné názvy sloupců v cílové tabulce. Ve výchozím nastavení bcp předpokládá, že datový soubor není seřazený. Pro optimalizovaný hromadný import SQL Server také ověří, že jsou importovaná data seřazená.ROWS_PER_BATCH = bb
Počet řádků dat na dávku (jako bb). Používá se, když nezadáte
-b, což vede k tomu, že se celý datový soubor odesílá na server jako jedna transakce. Server optimalizuje hromadnou zátěž podle hodnoty bb. Ve výchozím nastavení jeROWS_PER_BATCHneznámý.KILOBYTES_PER_BATCH = cc
Přibližný počet kilobajtů dat na dávku (cc). Ve výchozím nastavení je
KILOBYTES_PER_BATCHneznámý.TABLOCK
Určuje, že se během operace hromadného načítání získá zámek na úrovni tabulky; jinak se získá zámek na úrovni řádku. Tento tip výrazně zvyšuje výkon, protože držení zámku během operace hromadného kopírování snižuje kolize zámků v tabulce. Tabulku můžete načíst souběžně z více klientů, pokud tabulka neobsahuje žádné indexy a
TABLOCKje zadána. Ve výchozím nastavení možnost tabulkytable lock on bulkloadurčuje chování uzamčení. Další informace viz sp_tableoption.Note
Pokud je cílová tabulka shlukovaný columnstore index, není vyžadována
TABLOCKnápověda pro načítání více souběžnými klienty, protože každému souběžnému vláknu je přiřazena samostatná skupina řádků v rámci indexu, do které načítá data. Další informace najdete v článku Indexy columnstore: přehled.CHECK_CONSTRAINTS
Určuje, že všechna omezení cílové tabulky nebo zobrazení musí být kontrolována během operace hromadného importu. Bez nápovědy
CHECK_CONSTRAINTSse všechnyCHECKaFOREIGN KEYomezení ignorují a po operaci se omezení v tabulce označí jako nedůvěryhodné.Note
UNIQUE,PRIMARY KEYaNOT NULLomezení se vždy vynucují.V určitém okamžiku je potřeba zkontrolovat omezení celé tabulky. Pokud byla tabulka před hromadným importem neprázdná, náklady na opětovné ověření omezení mohou překročit náklady na použití
CHECKomezení na přírůstková data. Proto můžete obvykle povolit kontrolu omezení během přírůstkového hromadného importu.Situace, kdy můžete chtít zakázat omezení (výchozí chování), je situace, kdy vstupní data obsahují řádky, které porušují omezení. Zakázáním
CHECKomezení můžete importovat data a potom pomocí příkazů Transact-SQL odebrat data, která nejsou platná.Note
Přepínač
-mmax_errors se nevztahuje na kontrolu omezení.FIRE_TRIGGERS
Když tuto možnost zadáte pomocí v argumentu, všechny triggery vložení definované v cílové tabulce se spustí během operace hromadného kopírování. Pokud nezadáte
FIRE_TRIGGERS, nespustí se žádné triggery vložení.FIRE_TRIGGERSse ignoruje pro argumentyout,queryoutaformat.
-m maximální_počet_chyb
Určuje maximální počet chyb syntaxe, ke kterým může dojít před zrušením operace bcp. Chyba syntaxe znamená chybu převodu dat na cílový datový typ. Celkový součet max_errors vylučuje všechny chyby, které může server rozpoznat, například porušení omezení.
Řádek, který nástroj bcp nemůže kopírovat, se ignoruje a počítá se jako jedna chyba. Pokud tuto možnost nezadáte, výchozí hodnota je 10.
Note
Tato -m možnost se nevztahuje při převodu datových typů money nebo bigint.
-F první_řádek
Určuje počet prvního řádku, který se má exportovat z tabulky nebo importovat z datového souboru. Tento parametr vyžaduje hodnotu větší než (>) 0, ale menší než (<) nebo rovno celkovému počtu řádků. Pokud tento parametr nezadáte, je výchozím řádkem souboru první řádek.
first_row může být kladné celé číslo s hodnotou až 2^63-1.
-F
first_row používá číslování založené na 1.
-L poslední_řádek
Určuje počet posledního řádku, který se má exportovat z tabulky nebo importovat z datového souboru. Tento parametr vyžaduje hodnotu větší než (>) 0, ale menší než (<) nebo rovnou číslu posledního řádku. Pokud tento parametr nezadáte, je výchozím řádkem souboru poslední řádek.
last_row může být kladné celé číslo s hodnotou až 2^63-1.
-r row_term
Určuje ukončovací znak řádku. Výchozí hodnota je \n (znak nového řádku). Tento parametr použijte k nahrazení výchozího oddělovače řádku. Další informace naleznete v tématu Zadání ukončovačů polí a řádků (SQL Server).
Pokud zadáte ukončovací znak řádku v šestnáctkovém zápisu v příkazu bcp, hodnota bude zkrácena v 0x00. Pokud například zadáte 0x410041, použije se 0x41.
Pokud row_term začíná pomlčkou (-) nebo lomítkem (/), nezahrnujte mezeru mezi -r a hodnotou row_term.
-t field_term
Určuje ukončovací znak pole. Výchozí hodnota je \t (znak tabulátoru). Tento parametr použijte k přepsání výchozího ukončovače pole. Další informace naleznete v tématu Zadání ukončovačů polí a řádků (SQL Server).
Pokud zadáte ukončovací znak pole v šestnáctkovém zápisu v příkazu bcp, hodnota bude zkrácena v 0x00. Pokud například zadáte 0x410041, použije se 0x41.
Pokud field_term začíná spojovníkem (-) nebo lomítkem (/), nezahrnujte mezeru mezi -t a hodnotou field_term.
Zpracování hodnot
-k
Určuje, že prázdné sloupce mají během operace hodnotu null, a ne vložení výchozích hodnot pro sloupce. Další informace naleznete v tématu Zachovat hodnoty null nebo výchozí hodnoty při hromadném importu (SQL Server).
-E
Určuje, že operace používá hodnoty identity v importovaném datovém souboru pro sloupec identity. Pokud nezadáte -E, SQL Server ignoruje hodnoty identity pro tento sloupec v importovaném datovém souboru a automaticky přiřadí jedinečné hodnoty na základě počátečních a přírůstkových hodnot zadaných během vytváření tabulky. Další informace naleznete v tématu DBCC CHECKIDENT.
Pokud datový soubor neobsahuje hodnoty sloupce identity v tabulce nebo zobrazení, použijte formátový soubor k určení, že sloupec identity v tabulce nebo zobrazení by se při importu dat měl přeskočit. SQL Server automaticky přiřadí jedinečné hodnoty pro sloupec.
Možnost -E má zvláštní požadavek na oprávnění. Další informace najdete v části "Poznámky" dále v tomto článku.
Vstupně-výstupní operace a protokolování souborů
-i input_file
Platí jenom pro: Windows. Nepodporuje se v Linuxu a macOS.
Určuje název souboru odpovědi. Soubor obsahuje odpovědi na otázky příkazového řádku pro každé datové pole při provádění operace hromadného kopírování pomocí interaktivního režimu (-n, -c, -wnebo -N není zadáno).
Pokud input_file začíná spojovníkem (-) nebo lomítkem (/), nezahrnujte mezeru mezi -i a hodnotou input_file.
-o výstupní_soubor
Platí jenom pro: Windows. Nepodporuje se v Linuxu a macOS.
Určuje název souboru, který přijímá výstup přesměrovaný z příkazového řádku.
Pokud output_file začíná spojovníkem (-) nebo lomítkem (/), nezahrnujte mezeru mezi -o a hodnotou output_file.
-e err_file
Určuje úplnou cestu k souboru chyby použitému k uložení všech řádků, které nástroj bcp nemůže přenést ze souboru do databáze. Chybové zprávy z příkazu bcp jsou zasílány na pracovní stanici uživatele. Pokud tuto možnost nepoužíváte, nevytvořil se chybový soubor.
Pokud err_file začíná spojovníkem (-) nebo lomítkem (/), nezahrnujte mezeru mezi -e a hodnotou err_file.
Kompatibilita a správa verzí
-V { 80 | 90 | 100 | 110 | 120 | 130 | 140 | 150 | 160 | 170 }
Platí jenom pro: Windows. Nepodporuje se v Linuxu a macOS.
Provede operaci hromadného kopírování pomocí datových typů ze starší verze SQL Serveru. Tato možnost nezobrazí výzvu pro každé pole; používá výchozí hodnoty.
-
80= SQL Server 2000 (8.x) -
90= SQL Server 2005 (9.x) -
100= SQL Server 2008 (10.0.x) a 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)
Pokud například chcete vygenerovat data pro typy, které SQL Server 2000 (8.x) nepodporuje, ale byly zavedeny v novějších verzích, použijte tuto -V80 možnost.
Další informace naleznete v tématu Import nativních a znakových formátů dat ze starších verzí SQL Serveru.
Různé možnosti
-R
Určuje, že nástroj bcp hromadně kopíruje data měny, data a času do SQL Serveru pomocí místního formátu definovaného pro nastavení národního prostředí klientského počítače. Ve výchozím nastavení bcp ignoruje místní nastavení.
-v
Uvádí číslo verze nástroje bcp a autorská práva.
Remarks
Nástroj bcp podporuje nativní datové soubory, které jsou kompatibilní se všemi podporovanými verzemi SQL Serveru.
Nástroj bcp zobrazí pouze prvních 512 bajtů chybové zprávy.
Povolení
Operace bcp out vyžaduje oprávnění SELECT ke zdrojové tabulce.
Operace bcp in minimálně vyžaduje oprávnění SELECT a INSERT k cílové tabulce. Kromě toho se vyžaduje ALTER TABLE oprávnění, pokud platí některá z následujících podmínek:
Existují omezení a
CHECK_CONSTRAINTStip není specifikován.Zakázání omezení je výchozí chování. Pokud chcete explicitně povolit omezení, použijte možnost
-hs nápovědouCHECK_CONSTRAINTS.Spouštěče existují a není zadána
FIRE_TRIGGERSznačka.Ve výchozím nastavení se triggery neaktivují. K explicitní aktivaci triggerů použijte možnost
-hs nápovědouFIRE_TRIGGERS.K importu hodnot identity z datového souboru použijete možnost
-E.
Související obsah
- Příprava dat pro hromadný export nebo import
- hromadné vložení (Transact-SQL)
- OPENROWSET (Transact-SQL)
- SET QUOTED_IDENTIFIER (Transact-SQL)
-
sp_configure (Transact-SQL) - sp_tableoption (Transact-SQL)
- Formát souborů pro import nebo export dat (SQL Server)
Získejte pomoc 
- Návrhy pro SQL: Máte návrhy na vylepšení SQL Serveru?
- Microsoft Otázky a odpovědi (SQL Server)
- DBA Stack Exchange (značka sql-server): Položte dotazy k SQL Serveru
- Stack Overflow (značka sql-server): Odpovědi na otázky týkající se vývoje SQL
- Licenční podmínky a informace pro Microsoft SQL Server
- Možnosti podpory pro firemní uživatele
- Další nápověda a zpětná vazba k SQL Serveru
Přispějte k dokumentaci SQL
Věděli jste, že obsah SQL můžete upravovat sami? Pokud to uděláte, nejen že vám pomůžete vylepšit naši dokumentaci, ale také jste získali kredit jako přispěvatel na stránku.
Další informace naleznete v Upravit dokumentaci Microsoft Learn.