SQL Server BCP narzędzie

SQL Server BCP narzędzie

SQL Server to jedna z najbardziej obszernych i solidnych baz danych SQL w współczesnym wieku. Nie tylko może obsługiwać śmieszne ilości danych, ale także zapewnia potężne narzędzia, które sprawiają, że praca z bazami danych SQL jest łatwiejsza i bardzo przyjemna.

Ten post obejmie jedno z tych narzędzi w ekosystemie SQL Server; Narzędzie BCP. Omówimy narzędzie BCP, instalację i różne scenariusze, których możesz użyć.

Wskakujmy.

Jaka jest narzędzie BCP?

Program kopiowania luzem lub BCP w skrócie jest potężnym narzędziem wiersza poleceń, które pozwala zleżać kopiowanie danych między dwoma lub więcej instancjami SQL Server lub plik danych w określonym formacie.

Poniżej przedstawiono niektóre akcje, które możesz wykonać za pomocą narzędzia BCP na serwerze SQL:

  1. Eksport danych zbiorczych z tabeli do określonego pliku danych w określonym formacie.
  2. Eksport danych zbiorczych z zapytania do zestawu danych.
  3. Importuj dane BUK z pliku danych do tabeli SQL Server.

Kolejną zaletą narzędzia BCP jest to, że nie wymaga ona zapoznania się z poleceniem Transact-SQL. Jednak podczas eksportowania danych z zapytania za pomocą parametru QueryOption musisz użyć poleceń Transact-SQL.

Instalowanie narzędzia BCP w systemie Windows

W zależności od zainstalowanego serwera SQL i metody instalacji może być konieczne ręczne zainstalowanie narzędzia BCP. Aby zainstalować, pobierz narzędzie BCP z poniższego linku:

https: // Go.Microsoft.com/fwlink/?linkId = 2142258 (x64)

https: // Go.Microsoft.com/fwlink/?linkId = 2142257 (x86)

Uwaga: Narzędzia linii poleceń SQL Server są domyślnie pakowane w SQL Server 2019 i powyżej.

Po przygotowaniu pobierania otwórz pakiet instalatora i kliknij następny, aby rozpocząć proces.

Zaakceptuj dostarczoną licencję oprogramowania i kontynuuj.

Na koniec ustaw opcję instalacji dla instalatora, aby skonfigurować narzędzia wiersza polecenia SQL Server na komputerze.

Aby potwierdzić, że narzędzie BCP jest dostępne, uruchom wiersz polecenia i uruchom polecenie:

BCP -V

Polecenie zwróci zainstalowaną wersję BCP jako:

BCP - program kopiowania luzem dla Microsoft SQL Server.
Prawa autorskie (c) Microsoft Corporation. Wszelkie prawa zastrzeżone.
Wersja: 15.0.2000.5

Aby wyświetlić wszystkie opcje poleceń, uruchom polecenie BCP bez żadnych parametrów:

$ BCP

Wyjście:

Użycie: BCP DBTable | Zapytanie in | Out | QueryOut | format plik danych
[-m maxerrors] [-f formatFile] [-e errfile]
[-F Firstrow] [-l Lastrow] [-b BatchSize]
[-n Typ natywny] [-C Typ znaku] [-w szeroki typ znaku]
[-N Zachowaj Native Native] [-V Wersja formatu pliku] [-Q Cytowany identyfikator]
[-C Code Codefier] [-t Terminator pola] [-r terminator wierszy]]
[-i inputFile] [-o Outfile] [-a Packetize]
[-S Nazwa serwera] [-u nazwa użytkownika] [-p hasło]
[-T zaufane połączenie] [-v wersja] [-r Regional Enable]
[-k zachowaj wartości zerowe] [-e zachowaj wartości tożsamości] [-g Azure Active Directory Authawicy]
[-h „ładuj wskazówki”] [-x generuj plik formatu XML]
[-d Nazwa bazy danych] [-K Intent aplikacji] [-l limit czasu logowania]

Polecenie zawiera obszerne opcje i parametry dla różnych operacji, które chcesz wykonać.

SQL SERVER EKSPORT Tabela pliku danych za pomocą narzędzia BCP

Poniższy przykład ilustruje użycie narzędzia BCP do eksportowania wpisów tabeli z bazy danych Resolver. Polecenie przechowuje tabelę we wpisach.plik danych DAT.

Wpisy BCP OUT „C: \ Users \ User \ Documents \ Wpisy.data "-c -t -d resolver -u nazwa użytkownika -t

Rozbijmy opcje w powyższym poleceniu.

Zaczynamy od wywołania narzędzia BCP, a następnie nazwy tabeli, którą chcemy wyeksportować.

  1. Parametr out pozwala nam określić ścieżkę do pliku danych.
  2. -C pozwala narzędziem do wykonania operacji eksportu za pomocą typu danych znaków. Jest to używane tylko do typów przechowywania bez prefiksów i z znakiem \ t jako separatora.
  3. -t Określa terminator polowy.
  4. -D Ustawia docelową nazwę bazy danych.
  5. -U nazwy użytkownika do łączenia się z serwerem.
  6. -T Użyj zaufanego połączenia.

Polecenie powyżej powinno zwrócić dane wyjściowe jako:

Rozpoczęcie kopii…
6 skopiowanych wierszy.
Rozmiar pakietu sieciowego (bajty): 4096
Czas zegara (MS.) Łącznie: 1 średnia: (6000.00 rzędy na sekundę.)

Upewnij się, że ścieżka do docelowego pliku danych istnieje przed wykonaniem polecenia.

SQL Server wyeksportuj wyniki zapytania do pliku danych

Możemy również wyeksportować wyniki danego zapytania, jak pokazano na przykładowym zapytaniu poniżej:

BCP „Wybierz * z wpisów” Queryout ”C: \ Users \ User \ Documents \ Query.dane „-t -d rozstrzyj -c -t

Opcja QueryOut pozwala nam przechowywać wynik zapytania Transact-SQL do określonego pliku. Załączamy zapytanie, które chcemy wykonać w parach znaków cytatowych, aby uniknąć konfliktu z parametrami polecenia BCP.

SQL Server Import Plik danych do tabeli

Jeśli masz plik danych, możesz zaimportować go do tabeli lub innej, jak pokazano poniżej.

Zacznij od utworzenia prostej bazy danych.

Z upuść bazę danych, jeśli istnieje BCP_DEMO;
Utwórz bazę danych BCP_DEMO;
ZEA BCP_DEMO;

Następnie utwórz tabelę o podobnej strukturze jak dane w pliku:

Utwórz próbki tabeli (
Id int, a nie zerowa tożsamość (1,
1) Klucz podstawowy,
Server_name Varchar (50),
server_address varchar (255) nie null,
kompresja_method varchar (100) Domyślnie „Brak”,
size_on_disk float nie null,
size_Compressed Float,
total_records int not null,
data init_date
);

Na koniec zaimportuj plik danych do tabeli jako:

BCP BCP_DEMO.dbo.Próbki w „C: \ Users \ User \ Documents \ Wpisy.dat '-c -t

Powinno to pobrać dane z pliku danych do tabeli. Przykładowe dane wyjściowe:

Rozpoczęcie kopii…
Sqlstate = s1000, natywnaSerror = 0
Error = [Microsoft] [sterownik ODBC 17 dla SQL Server] Nieoczekiwany EOF napotkany w pliku danych BCP
0 skopiowanych wierszy.
Rozmiar pakietu sieciowego (bajty): 4096
Czas zegara (MS.) Łącznie: 1

I pomyślnie zaimportowałeś dane z pliku danych.

Koniec podróży

W tym artykule nauczył Cię podstawy korzystania z narzędzia BCP do łączenia danych importowych i eksportowych do instancji i plików danych SQL Server.

Dziękujemy za spacer z nami w funkcjonalności BCP Utility. Zapraszam do eksploracji dokumentów w poszukiwaniu bardziej obszernych informacji. Do zobaczenia na następnym.