Narzędzie BCP

The bcp utility bulk copies data between an instance of Microsoft SQL Server and a data file in a user-specified format.The bcp utility can be used to import large numbers of new rows into SQL Server tables or to export data out of tables into data files.O ile nie użyto QUERYOUT Opcja , narzędzie wymaga nie wiedza Transact-SQL. Aby importować dane do tabela, należy użyć formatu pliku utworzonego dla tej tabela lub zrozumieć strukturę tabela i typy danych, które są ważne dla kolumn.

Topic link icon Dla konwencje składni, które są używane do BCP patrz składniTransact-SQL Syntax Conventions (Transact-SQL).

Uwaga

If you use bcp to back up your data, create a format file to record the data format.bcp data files do not include any schema or format information, so if a table or view is dropped and you do not have a format file, you may be unable to import the data.

bcp {[[database_name.][schema].]{table_name | view_name} | "query"}
    {in | out | queryout | format} data_file
    [-m max_errors] [-f format_file] [-x] [-e err_file]
    [-F first_row] [-L last_row] [-b batch_size]
    [-n] [-c] [-N] [-w] [-V (70 | 80 | 90 )] 
    [-q] [-C { ACP | OEM | RAW | code_page } ] [-t field_term] 
    [-r row_term] [-i input_file] [-o output_file] [-a packet_size]
    [-S server_name[\instance_name]] [-U login_id] [-P password]
    [-T] [-v] [-R] [-k] [-E] [-h"hint [,...n]"]

Argumenty

  • database_name
    Jest nazwą bazy danych, w którym znajduje się określona tabela lub widok.Jeśli nie zostanie określony, jest to domyślna baza danych użytkownika.

  • owner
    Is the name of the owner of the table or view.owneris optional if the user performing the operation owns the specified table or view.If owneris not specified and the user performing the operation does not own the specified table or view, SQL Server returns an error message, and the operation is canceled.

  • table_name
    Jest to nazwa obiekt docelowy tabela podczas importowania danych do SQL Server (w), a w tabela źródłowej podczas eksportowania danych z SQL Server (limit czasu).

  • view_name
    Jest to nazwa widoku docelowych podczas kopiowania danych do SQL Server (w) i w widoku urządzenie źródłowe podczas kopiowania danych z SQL Server (limit czasu).Tylko widoki, w której wszystkie kolumny odnoszą się do tej samej tabela może służyć jako obiekt obiekt docelowy widoki.Aby uzyskać więcej informacji na temat ograniczeń dotyczących kopiowania danych do widoków Zobacz INSERT (Transact-SQL).

  • "query"
    Czy Transact-SQL kwerendy, która zwraca zestaw wyników. Jeżeli zapytanie zwróci wiele zestawów wyników, takich jak instrukcja SELECT, określająca klauzulę COMPUTE tylko pierwszy zestaw wyników jest kopiowana do pliku danych; zestaw wyników kolejnych, są ignorowane.Use double quotation marks around the query and single quotation marks around anything embedded in the query.queryout must also be specified when bulk copying data from a query.

    Kwerendy mogą odwoływać się znajdować się przed do wykonywania instrukcja bcp wszystkie tabele, do którego odwołuje się wewnątrz procedura przechowywana procedura przechowywana.Na przykład, jeśli procedura przechowywana zostanie utworzona dwukolumnowa tabela tymczasowa BCP instrukcja nie działa, ponieważ tabela tymczasowa jest dostępna tylko w czasie wykonywania, a nie w czasie wykonywania instrukcja.W takim przypadek należy wziąć pod uwagę wstawiania wyniki procedura przechowywana w tabela, a następnie użyj BCP , aby skopiować dane z tabela do pliku danych.

  • w | limit czasu| QUERYOUT | Format
    Określa kierunek kopiowanie masowe w następujący sposób:

    • w są kopiowane z pliku do tabela bazy danych lub widoku.

    • limit czasu kopiuje z tabela bazy danych lub widoku do pliku.Jeśli określono istniejący plik, plik jest zastępowany.Gdy chcemy pobrać dane, należy pamiętać, że BCP narzędzie reprezentuje pusty ciąg znaków, jako wartość null i ciąg pusty, jako pusty ciąg.

    • QUERYOUT kopiuje z kwerendy i musi być określony tylko wtedy, gdy zbiorczej kopiowania danych z kwerendy.

    • Format tworzy plik formatu na podstawie opcji określonych (-n, -c, -w, or -N) i ograniczniki tabela lub widok.W przypadku zbiorczego kopiowania danych, BCP polecenia mogą odwoływać się do formatu pliku, który użytkownik zapisuje od ponownego informacji o formacie interaktywnie.The format option requires the -f option; creating an XML plik formatu, also requires the -x option.Aby uzyskać więcej informacji zobaczCreating a Format File.

  • data_file
    Jest to pełna ścieżka pliku danych.Kiedy dane są zbiorcze, importowane do SQL Server, plik danych zawiera dane, które mają zostać skopiowane do określonej tabela lub widoku. Gdy dane są zbiorcze wyeksportowane z SQL Server, plik danych zawiera dane skopiowane z tabela lub widoku. Ścieżka może zawierać od 1 do 255 znaków.Plik danych może zawierać maksymalnie 263 - 1 wierszy.

    Important noteImportant Note:

    For the format option, you must specify nul as the value of data_file (formatnul).

  • -mmax_errors
    Określa maksymalną liczbę błędów składni, która może być wcześniejsza niż BCP operacja została anulowana.Błąd składniowy oznacza błąd konwersji danych na typ miejsce docelowe.The max_errors total excludes any errors that can be detected only at the server, such as constraint violations.

    Wiersz, który nie może być skopiowane przez BCP narzędzie jest ignorowany i jest liczony jako jeden błąd.Jeśli ta opcja nie jest włączone, wartością domyślną jest 10.

    Uwaga

    The -m option also does not apply to converting the money or bigint data types.

  • -fformat_file
    Określa pełną ścieżka plik formatu.Znaczenie tej opcji zależy od środowiska, w którym jest on, w następujący sposób:

    • Jeśli -f jest używanyFormat określony opcjiformat_file jest tworzony dla określonej tabela lub widoku. Aby utworzyć plik formatu XML, również określić -x opcji.Aby uzyskać więcej informacji zobaczCreating a Format File.

    • Jeśli używany w or limit czasu option, -f wymaga istniejącego plik formatu.

      Uwaga

      Using a format file in with thein or out option is optional.W przypadku braku -f opcji, jeśli -n, -c, -w, or -N nie jest określony, polecenie wyświetla monit o podanie informacji o formacie i pozwala zapisać swoje odpowiedzi w formacie pliku (którego domyślna nazwa pliku jest bcp.fmt).

  • -x
    Used with the format and -fformat_file options, generates an XML-based format file instead of the default non-XML format file.The -x does not work when importing or exporting data.It generates an error if used without both format and -fformat_file.

    Uwaga

    Aby użyć -x przełącznika, należy korzystać z BCP 10.0 klient.Aby uzyskać informacje na temat używania BCP 10.0 klient, przeczytaj „ Spostrzeżenia w dalszej części tego tematu.

  • -eerr_file
    Określa pełną ścieżka pliku błędu używane do przechowywania żadnych wierszy, BCP narzędzia nie można przenieść z pliku do bazy danych.Błąd wiadomości od BCP polecenie Przejdź do stacja robocza użytkownika.Jeśli ta opcja nie jest używany, nie jest tworzony plik błędów.

  • -Ffirst_row
    Określa numer pierwszego wiersza, aby wyeksportować z tabela lub importować z pliku danych.Ten parametr wymaga wartości większej niż)>) 0, ale mniej niż ()<) lub równa (=), całkowita liczba wierszy. W przypadku braku tego parametru wartością domyślną jest pierwszy wiersz pliku.

    first_row może być dodatnią liczbą całkowitą o wartości maksymalnie 2 ^ 63-1.-Ffirst_row is 1-based.

  • -Llast_row
    Określa ostatni wiersz, aby wyeksportować z tabela lub importować z pliku danych.Ten parametr wymaga wartości większej niż)>) 0, ale mniej niż ()<) lub równa (=) numer ostatniego wiersza. W przypadku braku tego parametru wartością domyślną jest ostatni wiersz w pliku.

    last_row może być dodatnią liczbą całkowitą o wartości maksymalnie 2 ^ 63-1.

  • -bbatch_size
    Określa liczbę wierszy na partia importowanych danych.Każdej partia jest importowany i zalogować się jako osobne transakcji, która importuje całej partia przed jest zatwierdzona.Domyślnie wszystkie wiersze w pliku dane są importowane jako jednej partia.Określić, aby rozpowszechnić wierszy między wiele instancji, batch_size jest mniejsza niż liczba wierszy w pliku danych. Jeśli transakcja dla każdej instancji nie powiedzie się, elementy wstawione tylko z bieżącego zadania są przywracane.Nie wpływa to na już zaimportowane przez zatwierdzone transakcje partii z powodu awarii później.

    Do not use this option in conjunction with the **h"**ROWS_PER_BATCH =bb" option.

    Aby uzyskać więcej informacji zobaczManaging Batches for Bulk Import.

  • -n
    Wykonuje operację masowego kopiowania za pomocą macierzystego (Baza danych) typy danych danych.Ta opcja nie wyświetla monitu, dla każdego pole, korzysta z macierzystej wartości.

    Aby uzyskać więcej informacji zobaczUsing Native Format to Import or Export Data.

  • -c
    Wykonuje operację, używając typu danych znaków.Ta opcja nie wyświetla monitu, dla każdego pole, a jej używa char jako typ magazynu, z i bez prefiksów \t (znak tabulacji) jako separatora pole i \r\n (znak nowego wiersza) jako terminator wiersza.

    Aby uzyskać więcej informacji zobaczUsing Character Format to Import or Export Data.

  • -N
    Wykonuje operację masowego kopiowania za pomocą macierzystego (Baza danych) danych dla danych noncharacter i znaków Unicode dla danych znakowych typów danych.Ta opcja oferuje alternatywę wyższej wydajności -w opcji i jest przeznaczony do przesyłania danych z jednego wystąpienie SQL Server do innej przy użyciu pliku danych. Nie wyświetla monitu dla każdego pole.Opcja ta jest użyteczna w przypadku transferu danych, które zawierają rozszerzone znaki ANSI, a użytkownik chce korzystać z działania w trybie macierzystym.

    Aby uzyskać więcej informacji zobaczUsing Unicode Native Format to Import or Export Data.

    Począwszy od SQL Server 2005 Z dodatkiem SP1, jeśli eksportować i importować dane do tego samego schematu tabela przy użyciu bcp.exe z -N, może zostać wyświetlony obcinania, ostrzeżenie, jeśli nie ma stałej długości kolumna znaków nie obsługujących kodu Unicode (na przykład, char(10)).

    Można zignorować ostrzeżenie.Jednym ze sposobów rozwiązania to ostrzeżenie jest użycie -n zamiast -N.

  • -w
    Wykonuje operację kopiowanie masowe przy użyciu znaków Unicode.Ta opcja nie wyświetla monitu, dla każdego pole, a jej używa nchar jako typ magazynu, nie prefiksów \t (znak tabulacji) jako separatora pole, a \n (znak nowego wiersza) jako terminator wiersza.

    Aby uzyskać więcej informacji zobaczUsing Unicode Character Format to Import or Export Data.

  • -V (70 | 80 | 90 )
    Wykonuje operację masowego kopiowania przy użyciu typy danych z wcześniejszych wersja programu SQL Server. Ta opcja nie wyświetla monitu, dla każdego pole, użyto wartości domyślnych.

    70 = SQL Server 7.0

    80 = SQL Server 2000

    90 = SQL Server 2005

    Na przykład do generowania danych nie obsługiwanych przez program SQL Server 7.0, ale zostały wprowadzone w nowszych wersjach programu SQL Server (na przykład bigint, sql_variant, a xml), należy użyć opcji - V70.

    Aby uzyskać więcej informacji zobaczImporting Native and Character Format Data from Earlier Versions of SQL Server.

  • -q
    Wykonuje instrukcję zestaw ON QUOTED_IDENTIFIERS połączenia między BCP narzędzie i wystąpienie SQL Server. Ta opcja umożliwia określenie bazy danych, właściciela, tabela lub widoku nazwy, która zawiera spację lub pojedynczy cudzysłów.Należy wpisać całą nazwę tabela lub widoku trzy części w cudzysłowie ("").

    Aby określić nazwę bazy danych, która zawiera spację lub pojedynczy cudzysłów, należy użyć –q opcji.

    Aby uzyskać więcej informacji zobacz Spostrzeżenia w dalszej części tego tematu.

  • -C { AKP | OEM | NIEPRZETWORZONE | code_page }
    Specifies the code page of the data in the data file.code_page is relevant only if the data contains char, varchar, or text columns with character values greater than 127 or less than 32.

    Uwaga

    Zaleca się, określając nazwę sortowanie dla każdej kolumna w pliku w formacie.

    strona kodowa

    Description

    AKP

    ANSI/ Microsoft Windows (ISO 1252).

    OEM

    Domyślna strona kodowa używana przez klient.Jest to domyślna strona kodowa używana, jeśli -C nie została określona.

    NIEPRZETWORZONE

    Występuje, bez konwersji ze strona kodowa jednego do drugiego.Jest to opcja najszybszy, ponieważ konwersja nie występuje.

    code_page

    Numer strona kodowa określonego; na przykład 850.

    Important noteImportant Note:
    SQL Server nie obsługuje strona kodowa 65001 (kodowania UTF-8).

    Aby uzyskać więcej informacji zobaczCopying Data Between Different Collations.

  • -tfield_term
    Określa terminator pole.Wartość domyślna to \t (znak tabulacji).Za pomocą tego parametru można zastąpić terminator pole domyślny.Aby uzyskać więcej informacji zobaczSpecifying Field and Row Terminators.

  • -rrow_term
    Określa terminator wiersza.Wartość domyślna to \n (znak nowego wiersza).Za pomocą tego parametru można zastąpić domyślne terminator wiersza.Aby uzyskać więcej informacji zobaczSpecifying Field and Row Terminators.

  • -iinput_file
    Określa nazwę pliku odpowiedzi, zawierającego odpowiedzi na pytania wiersz polecenia dla każdego pole danych, gdy kopiowanie masowe jest wykonywana przy użyciu (tryb interakcyjny-n, -c, -w, or -N nie określony).

  • -ooutput_file
    Określa nazwę pliku, który odbiera przekierowano dane wyjściowe wiersz polecenia.

  • -apacket_size
    Określa liczbę bajtów, pakiet sieciowy, przesyłane do i z serwera.zestaw jedną z opcji konfiguracja serwera, używając SQL Server Management Studio (lub sp_configure procedury zapisanej w systemie).However, the server configuration option can be overridden on an individual basis by using this option.packet_size can be from 4096 to 65535 bytes; the default is 4096.

    Rozmiar pakiet zwiększoną może zwiększyć wydajność operacji masowego kopiowania.Jeśli większych pakiet jest wymagane, ale nie można udzielić, używana jest domyślna.Statystyki wydajności, generowany przez BCP , narzędzie pokazuje użyty rozmiar pakiet.

  • -Sserver_name[ **\instance_name]
    Określa wystąpienie SQL Server z którym ma być nawiązane połączenie. Jeśli serwer nie zostanie określony, BCP narzędzie łączy się z wystąpienie domyślne z SQL Server na komputerze lokalnym. Ta opcja jest wymagana, gdy BCP polecenie jest wykonywane z komputera zdalnego w sieci lub lokalnym wystąpienie nazwane.Aby połączyć się z domyślnym wystąpienie SQL Server na serwerze określ tylko server_name. Aby połączyć się z nazwanego wystąpienie programu SQL Server, określanie server_name
    \**instance_name.

  • -Ulogin_id
    Określa identyfikator logowania używany do łączenia się z identyfikator logowania SQL Server.

    Security noteSecurity Note:

    Gdy BCP narzędzie łączy się z SQL Server z zaufane połączenie przy użyciu zintegrowanych zabezpieczeń, należy użyć -T opcji (zaufane połączenie) zamiast user name i password połączenie.

  • -Ppassword
    Określa hasło dla identyfikator logowania.Jeśli ta opcja nie jest używany, BCP polecenia monituje o podanie hasła.Jeśli ta opcja jest używana na końcu wiersz polecenia bez podania hasła BCP używa domyślnego hasła (NULL).

    Security noteSecurity Note:

    Do not use a blank password. Use a strong password.

    W celu zamaskowania hasła, nie zostanie określony -P Opcja -U opcji.Zamiast tego po określeniu BCP-U opcji i inne przełączniki (nie zostanie określony -P), naciśnij klawisz ENTER, a polecenie zostanie wyświetlony monit o hasło.Metoda taka daje pewność, że hasła, będą ukryte, gdy jest on wprowadzany.

  • -T
    Określa, że BCP łączy narzędzie SQL Server z zaufane połączenie przy użyciu zintegrowanych zabezpieczeń. Poświadczenia zabezpieczeń użytkownika sieci login_id, a password nie są wymagane. Jeśli –T nie jest określony, konieczne jest określenie –U and –P pomyślnie rejestrować cali

  • -v
    Raporty BCP numer wersja narzędzia i informacje o prawach autorskich.

  • -R
    Określa, że waluta, Data i godzina danych jest zbiorcza skopiowane do SQL Server w formacie regionalnym zdefiniowane dla regionalny komputera klient. Domyślnie ustawienia regionalne są ignorowane.

  • -k
    Określa, że puste kolumny powinny zachować podczas operacji, a nie ma żadnego domyślne wartości dla kolumn, dodaje wartość null.Aby uzyskać więcej informacji zobaczKeeping Nulls or Using Default Values During Bulk Import.

  • -E
    Określa, że wartość lub wartości tożsamości w importowanym pliku danych będą używane w kolumnie tożsamości.Jeśli nie zostanie podany przełącznik -E, wartości tożsamości dla tej kolumny, które pochodzą z importowanego pliku danych, będą ignorowane, a program SQL Server automatycznie przypisze unikatowe wartości na podstawie wartości inicjatora i przyrostu określonych podczas tworzenia tabeli.

    Jeśli plik danych nie zawiera wartości kolumny tożsamości w tabela lub widoku, należy użyć pliku w formacie do określenia, że kolumna identyfikacji tabela lub widoku powinny być pominięte podczas importowania danych. SQL Server automatycznie przypisuje unikatowe wartości dla kolumny. Aby uzyskać więcej informacji zobaczDBCC CHECKIDENT (Transact-SQL).

    The -E option has a special permissions requirement.Aby uzyskać więcej informacji przeczytaj „ Spostrzeżenia w dalszej części tego tematu.

    Aby uzyskać więcej informacji zobacz temat zachowanie zidentyfikować Zobacz wartości Keeping Identity Values When Bulk Importing Data.

  • **-h"**hint[ ,... n] "
    Określa Wskazówka lub wskazówki, które ma być używany podczas import zbiorczy danych do tabela lub widoku.

    • ORDER**(column[ASC | DESC] [,...n])**
      kolejność sortowania danych w pliku danych.Wydajność import zbiorczy lepsza Jeśli importowane dane są sortowane zgodnie z indeksem klastrowanym dla tabela, a ewentualne.Jeśli plik danych jest sortowane w innej kolejności, które jest inna niż kolejność klucz indeks klastrowany lub brak klastrowanego indeksu, w tabela, z klauzula ORDER jest ignorowana.Nazwy kolumn, dostarczane muszą być nazwy prawidłowego kolumn w tabela docelowej.Domyślnie BCP zakłada się nieuporządkowana plik danych.Dla import zbiorczy zoptymalizowane, SQL Server sprawdza również, że importowane dane są sortowane.

      Aby uzyskać więcej informacji zobaczControlling the Sort Order When Bulk Importing Data.

    • ROWS_PER_BATCH **=**bb
      Liczba wierszy danych na partia (jak bb). Kiedy używać -b nie jest określony, co w pliku danych są wysyłane do serwera jako pojedyncza transakcja.Serwer optymalizuje ładowanie zbiorcze bb. Domyślnie ROWS_PER_BATCH jest nieznany.

      Aby uzyskać więcej informacji zobaczManaging Batches for Bulk Import.

    • KILOBYTES_PER_BATCH = cc
      Przybliżoną liczbę kilobajtów danych na partię (jak cc). Domyślnie KILOBYTES_PER_BATCH jest nieznany.

      Aby uzyskać więcej informacji zobaczManaging Batches for Bulk Import.

    • TABLOCK
      Określa, że blokada zbiorczej aktualizacji poziomie tabela jest nabytych przez cały czas trwania operacji ładowanie zbiorcze; w przeciwnym razie blokada poziomie wiersza.Ta wskazówka znacznie zwiększa wydajność, ponieważ utrzymywać blokada przez czas trwania operacji masowego kopiowania zmniejsza rywalizacji blokad w tabela.Tabelę można załadować jednocześnie przez wielu klientów, gdy tabela nie zawiera żadnych indeksów i TABLOCK została określona.Domyślnie blokowania zachowanie zależy od opcji tabela Blokada tabela ładowanie zbiorcze.

      Aby uzyskać więcej informacji zobaczControlling Locking Behavior for Bulk Import.

    • artcache_db_address
      Określa, że wszystkie ograniczenia dla tabela miejsce docelowe lub w widoku musi być sprawdzane podczas operacji importu zbiorczego.Bez wskazówki CHECK_CONSTRAINTS ograniczenia sprawdzanie i klucz obcy są ignorowane, a po operacji ograniczenia dla tabela jest oznaczone jako zaufane nie.

      Uwaga

      Unikatowy, klucz podstawowy i NOT NULL ograniczenia są zawsze wymuszane.

      W pewnym momencie należy sprawdź ograniczenia całą tabela.Jeśli tabela została niepustą przed operacji import zbiorczy, koszt revalidating ograniczenie może przekroczyć koszt stosowanie ograniczeń typu CHECK do pierwotnych danych.Firma Microsoft zaleca więc zazwyczaj włączenie ograniczenia sprawdzania podczas import zbiorczy przyrostowych.

      Sytuacja, w którym może być wyłączone ograniczeń (zachowanie domyślne) jest, jeśli dane wejściowe zawiera wiersze, które naruszają ograniczenia.Z ograniczeń CHECK wyłączone importowane dane i następnie przy użyciu Transact-SQL instrukcje, aby usunąć dane, które nie są prawidłowe.

      Uwaga

      BCP teraz wymusza sprawdzanie poprawności danych i kontroli dane, które mogą spowodować skryptów, aby się nie powieść, jeśli są one wykonywane na nieprawidłowe dane w pliku danych.

      Uwaga

      The -m max_errors switch does not apply to constraint checking.

      Aby uzyskać więcej informacji zobaczControlling Constraint Checking by Bulk Import Operations.

    • FIRE_TRIGGERS
      Określona z w argument, wszelkie wstawiania wyzwalacze zdefiniowane w tabela docelowej zostanie uruchomione podczas operacji masowego kopiowania.Jeśli FIRE_TRIGGERS nie jest określony, zostanie uruchomiony nie wyzwalacza wstawienia.FIRE_TRIGGERS jest ignorowany w przypadku limit czasu, QUERYOUT, and Format argumentów.

      Aby uzyskać więcej informacji zobaczControlling Trigger Execution When Bulk Importing Data.

Remarks

The bcp 10.0 client is installed when you install Microsoft SQL Server 2008 tools on your system.Jeśli zainstalowane są narzędzia dla obu SQL Server 2008 i wcześniejszych wersja programu SQL Server, w zależności od wartości zmiennej środowiskowej ścieżka, być może używasz wcześniej BCP klient zamiast BCP 10.0 klient.Ta zmienna środowiskowa definiuje zestaw katalogów używanych przez system Windows do wyszukiwania plików wykonywalnych.Aby odkryć, której wersja używasz, należy uruchomić BCP /v polecenie w wiersz polecenia systemu Windows.Aby uzyskać informacje na temat ustawiania ścieżka poleceń w zmiennej środowiskowej ścieżka zobacz Pomoc systemu Windows.

Pliki w formacie XML są tylko kiedy obsługiwana SQL Server narzędzia są instalowane wraz z SQL Server Macierzysta klient.

Aby dowiedzieć się, gdzie można znaleźć lub uruchamiania BCP narzędzia i o konwencjach Składnia narzędzia wiersz polecenia, zobacz temat Command Prompt Utilities.

Aby uzyskać informacje dotyczące przygotowywania danych do masowego importu i eksportu operacje — zobacz Preparing Data for Bulk Export or Import.

Aby uzyskać informacje na temat podczas operacji wstawiania wierszy, które są wykonywane przez import zbiorczy są rejestrowane dziennik transakcji zobacz Prerequisites for Minimal Logging in Bulk Import.

Macierzysta obsługa plików danych

W SQL Server 2008, BCP narzędzie obsługuje pliki macierzystym danych zgodne z SQL Server 7.0, SQL Server 2000, SQL Server 2005, a SQL Server 2008 tylko. SQL Server w wersji 6.0 i SQL Server 6.5 plików danych macierzystym nie są obsługiwane przez SQL Server 2008.

Kolumny obliczane i kolumny sygnatury czasowej

Wartości w danych pliku importowanego do obliczona lub timestamp kolumny są ignorowane, a SQL Server automatycznie przypisuje się wartości. Jeśli plik danych nie zawiera wartości obliczanej lub timestamp kolumna w tabela, należy użyć plik formatu aby określić, że obliczanej lub timestamp kolumna w tabela powinny być pominięte podczas importowania danych. SQL Server automatycznie przypisuje wartości dla kolumna.

Obliczona i timestamp kolumny są zbiorcze skopiowany z SQL Server z plikiem danych jak zwykłych.

Określanie identyfikatorów zawierające spacje lub znaki oferty

SQL Server identyfikatory mogą zawierać znaki, takie jak osadzony spacje i znaki cudzysłowu.Identyfikatory te muszą być traktowane w następujący sposób:

  • Po określeniu identyfikatora lub nazwy pliku, który zawiera spację lub znak cudzysłowu w wiersz polecenia programu, identyfikator należy ująć w cudzysłów ("").

    For example, the following bcp out command creates a data file named Currency Types.dat:

    bcp AdventureWorks.Sales.Currency out "Currency Types.dat" -T -c
    
  • Aby określić nazwę bazy danych, która zawiera spację lub znak cudzysłowu, należy użyć -q opcji.

  • Właściciel, tabela lub nazw widoków, które zawierają osadzone spacje lub znaki cudzysłowu można wykonać jedną z następujących czynności:

    • Określ -q Opcja lub

    • Należy ująć właściciela, tabela lub nazwie widoku w nawiasach kwadratowych ([]) wewnątrz cudzysłowów.

Sprawdzanie poprawności danych

BCP teraz wymusza sprawdzanie poprawności danych i kontroli dane, które mogą spowodować skryptów, aby się nie powieść, jeśli są one wykonywane na nieprawidłowe dane w pliku danych.Na przykład BCP teraz weryfikuje, że:

  • Reprezentacja macierzystego float lub real typy danych są prawidłowe.

  • Dane w standardzie Unicode ma o długości nawet bajtów.

Formularze nieprawidłowe dane, które mogą być zbiorczej importowane z wcześniejszych wersji programu SQL Server może się nie powieść załadować teraz; dlatego we wcześniejszych wersjach, błąd nie wystąpił aż klient próbował uzyskać dostęp do nieprawidłowych danych. Dodano sprawdzania poprawności minimalizuje surprises podczas badania po ładowanie zbiorcze danych.

Zbiorcza eksportowanie lub importowanie SQLXML dokumenty

Zbiorcza eksportowania lub importowania danych SQLXML, użyj jednej z następujących typów danych w sieci plik formatu.

Typ danych

Efekt

SQLCHAR lub SQLVARYCHAR

Dane są przesyłane w stronie kodowej klient lub w stronie kodowej implikowane przez sortowanie).Efekt jest taki sam, jak określanie -c przełącznika bez określenia plik formatu.

SQLNCHAR lub SQLNVARCHAR

Dane są przesyłane w formacie Unicode.Efekt jest taki sam, jak określanie -w przełącznika bez określenia plik formatu.

SQLBINARY lub SQLVARYBIN

Dane są przesyłane bez żadnej konwersji.

Uprawnienia

A bcp out operation requires SELECT permission on the source table.

A bcp in operation minimally requires SELECT/INSERT permissions on the target table.Ponadto wymagane jest uprawnienie instrukcji ALTER tabela, jeśli spełniony jest dowolny z następujących czynności:

  • Istnieją ograniczenia i wskazówki CHECK_CONSTRAINTS nie został określony.

    Uwaga

    Wyłączanie ograniczenia jest to zachowanie domyślne.Aby jawnie włączone ograniczenia, należy użyć -h opcja z podpowiedzi CHECK_CONSTRAINTS.

  • Istnieją wyzwalacze i wskazówki FIRE_TRIGGER nie został określony.

    Uwaga

    Wyzwalacze nie są uruchamiane domyślnie.Uruchomienie wyzwalacza jawnie, należy użyć -h opcja z podpowiedzi FIRE_TRIGGERS.

  • Używasz -E opcja importowania tożsamości wartości z pliku danych.

Uwaga

Wymaganie instrukcji ALTER tabela uprawnienia zdefiniowane w tabela miejsce docelowe została nowego: SQL Server 2005. Tym nowym wymaganiu może spowodować, że BCP skryptów, które nie Wymuszaj wyzwalaczy i ich ograniczenia sprawdza się nie powieść, jeśli konto użytkownika nie ma tagu ALTER tabela uprawnienia w tabela miejsce docelowe.

Przykłady

W tej sekcji znajdują się następujące przykłady:

  • A.Kopiowanie wierszy tabela do pliku danych (z zaufane połączenie)

  • B.Kopiowanie wierszy tabela do pliku danych (z uwierzytelnianiem na tryb mieszany)

  • C.Kopiowanie danych z pliku do tabela

  • D.Kopiowanie kolumn określonych w pliku danych

  • E.Kopiowanie określonego wiersza w pliku danych

  • F.Kopiowanie danych z kwerendy do pliku danych

  • G.Tworząc plik formatu XML inny niż

  • H.Tworzenie XML plik formatu

  • I.Przy użyciu pliku w formacie do importowania z luzem BCP

A.Kopiowanie wierszy tabela do pliku danych (z zaufane połączenie)

Poniższy przykład ilustruje limit czasu Opcja AdventureWorks.Sales.Currency Tabela. W tym przykładzie tworzony plik danych o nazwie Currency.dat i sformatować dane w tabela do niej znaku, używając kopii. W przykładzie założono, że są przy użyciu uwierzytelnianie systemu Windows i mieć zaufane połączenie z wystąpienie serwera, na którym uruchomiono BCP polecenia.

W wiersz polecenia wprowadź następujące polecenie:

bcp AdventureWorks.Sales.Currency out Currency.dat -T -c

B.Kopiowanie wierszy tabela do pliku danych (przy użyciu uwierzytelnianie trybu mieszanego)

Poniższy przykład ilustruje limit czasu Opcja AdventureWorks.Sales.Currency Tabela. W tym przykładzie tworzony plik danych o nazwie Currency.dat i sformatować dane w tabela do niej znaku, używając kopii.

W przykładzie założono, że w przypadku korzystania z trybu mieszanego uwierzytelnianie, należy użyć -U przełącznika tego identyfikator logowania.Ponadto chyba że łączysz się z domyślnym wystąpienie SQL Server na komputerze lokalnym, należy użyć -S przełącznik do określenia nazwy systemu i, opcjonalnie, nazwę obiektu.

bcp AdventureWorks.Sales.Currency out Currency.dat -c -U<login_id> -S<server_name\instance_name>

System zostanie wyświetlony monit o podanie hasła.

C.Kopiowanie danych z pliku do tabela

Poniższy przykład ilustruje w opcji przy użyciu pliku utworzonego w poprzednim przykładzie (Currency.dat). Po pierwsze, jednak w tym przykładzie tworzony pusty kopii AdventureWorks Sales.Currency Tabela, Sales.Currency2, w której dane są kopiowane. W przykładzie założono, że są przy użyciu uwierzytelnianie systemu Windows i mieć zaufane połączenie z wystąpienie serwera, na którym uruchomiono BCP polecenia.

Aby utworzyć pustą tabela w edytorze kwerendy, wprowadź następujące polecenie:

USE AdventureWorks;
GO
SELECT * INTO AdventureWorks.Sales.Currency2 
FROM AdventureWorks.Sales.Currency WHERE 1=2

Aby zbiorczej kopii danych znakowych do nowej tabela, która jest, aby importować dane, wprowadź następujące polecenie w wiersz polecenia:

bcp AdventureWorks.Sales.Currency2 in Currency.dat -T -c

Aby sprawdzić, czy polecenie zostało pomyślnie wykonane, wyświetlanie zawartości tabela w edytorze kwerendy, a następnie wprowadź:

USE AdventureWorks;
GO
SELECT * FROM Sales.Currency2

D.Kopiowanie kolumn określonych w pliku danych

Aby skopiować danej kolumna, można użyć QUERYOUT opcji.W poniższym przykładzie kopiuje tylko Name Kolumna Sales.Currency Tabela w pliku danych. W przykładzie założono, że są przy użyciu uwierzytelnianie systemu Windows i mieć zaufane połączenie z wystąpienie serwera, na którym uruchomiono BCP polecenia.

W wiersz polecenia systemu Windows wpisz polecenie:

bcp "SELECT Name FROM AdventureWorks.Sales.Currency" queryout Currency.Name.dat -T -c

E.Kopiowanie określonego wiersza w pliku danych

Aby skopiować określonego wiersza, można użyć QUERYOUT opcji.W poniższym przykładzie kopiuje tylko wiersz dla kontaktu o nazwie Jarrod Rana z AdventureWorks.Person.Contact Tabela w (plik do danychJarrod Rana.dat). W przykładzie założono, że są przy użyciu uwierzytelnianie systemu Windows i mieć zaufane połączenie z wystąpienie serwera, na którym uruchomiono BCP polecenia.

W wiersz polecenia systemu Windows wpisz polecenie:

bcp "SELECT * FROM AdventureWorks.Person.Contact WHERE FirstName='Jarrod' AND LastName='Rana' "  queryout "Jarrod Rana.dat" -T -c

F.Kopiowanie danych z kwerendy do pliku danych

Aby skopiować zestaw wyników Transact-SQL Instrukcja w pliku danych, użycie QUERYOUT opcji.W przykładzie poniżej kopiowanie nazw z AdventureWorks.Person.Contact Tabela, uporządkowanych według nazwiska, a następnie imię, do Contacts.txt plik danych. W przykładzie założono, że są przy użyciu uwierzytelnianie systemu Windows i mieć zaufane połączenie z wystąpienie serwera, na którym uruchomiono BCP polecenia.

W wiersz polecenia systemu Windows wpisz polecenie:

bcp "SELECT FirstName, LastName FROM AdventureWorks.Person.Contact ORDER BY LastName, Firstname" queryout Contacts.txt -c -T

G.Tworząc plik formatu XML inny niż

W następującym przykładzie zostanie utworzony plik formatu XML inny niż Currency.fmt, aby Sales.Currency Tabela w AdventureWorks Baza danych. W przykładzie założono, że są przy użyciu uwierzytelnianie systemu Windows i mieć zaufane połączenie z wystąpienie serwera, na którym uruchomiono BCP polecenia.

W wiersz polecenia systemu Windows wpisz polecenie:

bcp AdventureWorks.Sales.Currency format nul -T -c  -f Currency.fmt

Aby uzyskać więcej informacji zobaczUnderstanding Non-XML Format Files.

H.Tworzenie XML plik formatu

W następującym przykładzie zostanie utworzony plik formatu XML o nazwie Currency.xml dla Sales.Currency Tabela w AdventureWorks Baza danych. W przykładzie założono, że są przy użyciu uwierzytelnianie systemu Windows i mieć zaufane połączenie z wystąpienie serwera, na którym uruchomiono BCP polecenia.

W wiersz polecenia systemu Windows wpisz polecenie:

bcp AdventureWorks.Sales.Currency format nul -T -c -x -f Currency.xml

Uwaga

Aby użyć -x przełącznika, należy korzystać z BCP 9,0 klient.Aby uzyskać informacje na temat używania BCP 9.0 klient, zobacz „ Spostrzeżenia. „

Aby uzyskać więcej informacji zobaczUnderstanding XML Format Files.

I.Przy użyciu pliku w formacie do masowych importu z bcp

Aby użyć wcześniej utworzony plik formatu podczas importowania danych do wystąpienie SQL Server, należy użyć -f przełącznika przy użyciu w opcji.Na przykład następujące masowe polecenia kopiuje zawartość pliku danych Currency.dat, w kopii Sales.Currency Tabela)Sales.Currency2) za pomocą utworzonego uprzednio plik formatu ()Currency.xml). W przykładzie założono, że są przy użyciu uwierzytelnianie systemu Windows i mieć zaufane połączenie z wystąpienie serwera, na którym uruchomiono BCP polecenia.

W wiersz polecenia systemu Windows wpisz polecenie:

bcp AdventureWorks.Sales.Currency2 in Currency.dat -T -f Currency.xml

Uwaga

Pliki w formacie są przydatne, gdy pola pliku danych różnią się od kolumny tabela, na przykład w ich liczbę, porządkowanie lub typów danych.Aby uzyskać więcej informacji zobaczFormat Files for Importing or Exporting Data.

Historia zmian

Microsoft Learning

Zaktualizowane bcp Składnia zmienić [właściciela] na [schematu].

Opis aktualizacji data_file parametr. Plik danych może zawierać maksymalnie 263 - 1 wierszy.

Updated the description of -Ffirst_row.

Opis aktualizacji code_page.

Dodaje informacje do -N opis, informacje dotyczące zachowania zmienić ten wystąpił począwszy od SQL Server 2005 Z DODATKIEM SP1.