Dotyczące importu zbiorczego i operacji wywozowych luzem

SQL Serverluzem obsługuje eksportowanie danych z SQL Server tabela i dla masowych importowania danych do SQL Server tabela lub widoku nonpartitioned.Dostępne są następujące metody podstawowej.

Metoda

Opis

Importuje dane

Eksportuje dane

Narzędzie BCP

Narzędzie wiersza polecenia (Bcp.exe), który luzem wywozu i luzem importuje dane i generuje pliki w formacie.

Tak

Tak

Instrukcja WSTAW luzem

A Transact-SQL instrukcja który importuje dane bezpośrednio z pliku danych do tabela bazy danych lub w widoku nonpartitioned.

Tak

Nie

WSTAW...SELECT * FROM OPENROWSET(BULK...) statement

A Transact-SQL statement that uses the OPENROWSET bulk rowset provider to bulk import data into a SQL Server table by specifying the OPENROWSET(BULK…) function to select data in an INSERT statement. 

Tak

Nie

Ograniczenia

SQL Serveroperacji importu zbiorczego nie obsługuje importowania danych z plików wartości oddzielone przecinkami (CSV).Jednak W 32-bitowych systemów możliwe jest importowanie danych CSV do SQL Server tabela bez optymalizacje importu zbiorczego, za pomocą OPENROWSET z OLE DB Provider for Jet.Jet traktuje pliki tekstowe jako tabele, ze schematem zdefiniowane przez pliku schema.ini, który znajduje się w tym samym katalogu co źródło danych.Dane w formacie CSV, jeden z parametrów w pliku schema.ini będzie "FORMAT = CSVDelimited".Aby użyć tego rozwiązania, trzeba zrozumieć, jak Test Jet operacji IISAMm — połączenie ciąg składni, obciążenie schema.ini, opcje ustawień rejestru i tak dalej).Najlepszych źródeł informacji są w Pomocy programu Microsoft Access i artykuły bazy wiedza wiedza base (KB).Aby uzyskać więcej informacji, zobacz Inicjowanie sterownika źródła danych tekstowych, jak używać programu SQL Server 7.0 rozproszonych kwerendy z serwera połączonego z zabezpieczonej bazy danych programu Access, i jak: Dostawca DB OLE aparatu Jet 4.0 należy użyć łączenia do DB ISAM,jak otworzyć pliki rozdzielane tekstu przy użyciu dostawcy Jet IIsam tekstu.

W trakcie vs.Operacja Out of Process

Instrukcja WSTAW luzem i funkcja OPENROWSET(BULK) wykonać proces z SQL Server, udostępniania tym samym pamięci adres miejsca.Ponieważ pliki danych są otwierane przez SQL Server Przetwarzanie danych nie jest kopiowana między procesu klient i SQL Server procesów.Dla względy bezpieczeństwa podczas importowania danych za pomocą WSTAWIANIA ZBIORCZEGO lub INSERT...Wybierz * Z OPENROWSET(BULK...), zobacz Importowanie danych luzem za pomocą ZBIORCZYM WSTAWIANIEM lub OPENROWSET(BULK...).

Natomiast bcp narzędzie działa poza procesem.Do przenoszenia danych między przestrzeni pamięci procesów, bcp należy użyć danych między procesami kierowanie.Inter-process data marshalingis the process of converting parameters of a method call into a stream of bytes.To dodanie znaczne obciążenie procesora.Jednakże ponieważ obie bcp analizowanie danych i konwertowanie danych do składowania macierzysty format w procesie klient, one odciążania konwersji danych i analizy z SQL Server procesu.Dlatego, jeśli ograniczenie Procesora, może osiągnąć lepszą wydajność importu zbiorczego, na komputerze z więcej niż jednego Procesora lub na różnych komputerach za pomocą bcp zamiast przy użyciu WSTAW ZBIORCZEGO lub INSERT...WYBIERZ * Z OPENROWSET(BULK).

Format plików

Bcp narzędzie, WSTAW luzem i WSTAW...Wybierz * Z OPENROWSET(BULK...) wszystkie obsługują specjalistycznej plik formatu że przechowuje formatowanie informacji dla każdego pole w pliku danych.Plik formatu może także zawierać informacje o odpowiednich SQL Server tabela.plik formatu można podać wszystkie informacje wymagane do masowych format eksportu danych z i import zbiorczy danych do wystąpienie SQL Server.

Pliki w formacie zapewniają elastyczny sposób interpretowania danych, jak w pliku danych podczas importowania i sformatować dane w pliku danych podczas eksportowania.Elastyczność ta eliminuje konieczność napisać kod specjalnych interpretacji danych lub ponownie sformatować dane do szczególnych wymagań SQL Server lub w aplikacji zewnętrznej.Na przykład jeśli luzem eksportowania danych do załadowania do aplikacji, która wymaga wartości rozdzielanych przecinkami, plik formatu umożliwia wstawianie przecinki jako pole terminatory eksportowanych danych.

SQL Server 2005i nowsze wersje obsługują dwa rodzaje plików w formacie: Pliki w formacie XML i plików w formacie XML programu.Pliki w formacie XML nie są obsługiwane we wcześniejszych wersjach SQL Server; Pliki w formacie XML były nowe w SQL Server 2005.

Bcp narzędzie to jedyne narzędzie, które można wygenerować plik formatu.Aby uzyskać więcej informacji, zobacz Tworzenie pliku formatu.Aby uzyskać więcej informacji na temat formatu plików, zobacz Format plików importowanie lub eksportowanie danych.

Ostrzeżenie

W przypadkach, kiedy plik formatu nie jest podany podczas luzem, eksportowania i importowania operacji, użytkownik może zdecydować zastąpić domyślne formatowanie w wierszu polecenia.

Procesor kwerend i importu zbiorczego

Aby import zbiorczy danych do wystąpienie SQL Server, bcp , narzędzie luzem instrukcja INSERT i WSTAW...Wybierz * wszystkie pracować procesor kwerend instrukcja Z OPENROWSET(BULK...).

Wszystkie trzy metody konwertowanie danych w pliku danych OLE DB zestawów wierszy.Jednak metoda konwersji zależy w następujący sposób:

  • Bcp Narzędzie odczytuje plik danych i wysyła strumieniu TDS do SQL Server Luzem kopii programu (BCP) interfejsu API, które konwertuje danych OLE DB zestawów wierszy.

  • WSTAW luzem i dostawca zbiorczych zestawów zestaw wierszy OPENROWSET zarówno przekonwertować dane pliku bezpośrednio zestaw wierszy OLE DB.

OLE DB zestawów wierszy są wstawiane do tabela miejsce docelowe przez procesor kwerend, które plany i optymalizuje każdej operacji.

Zagadnienia wydajności

Zagadnienia wydajności mogą być również znaczące przy importowaniu dużych ilości danych.W niektórych przypadkach można poprawić wydajność zmieniając jak operacji importu zbiorczego lub wywóz luzem obsługuje jeden lub więcej z następujących czynności:

  • Parametry wsadowe

  • Ograniczenia kontroli ograniczeń CHECK

  • Jak transakcje zbiorcze są rejestrowane.Jest to istotne dla baz danych, które zazwyczaj pełny model odzyskiwanie.

  • Zamawianie wyeksportowane dane

  • Równoległe dane, importowanie

  • Blokadę tabeli

  • Wykonanie wyzwalacza

Aby uzyskać więcej informacji, zobacz Optymalizacja wydajności importu zbiorczego.

Ostrzeżenie

Nie optymalizacji specjalne techniki istnieje dla operacji eksportowania luzem.Operacje te po prostu zaznacz dane z źródło tabela za pomocą instrukcja SELECT.