Optymalizacja wydajności importu zbiorczego

This topic describes options for optimizing the bulk import of data into a table in Microsoft SQL Server by using a bcp command, BULK INSERT statement, or OPENROWSET(BULK...) function (Transact-SQL).Aby import zbiorczy lub eksportować dane, tak szybko jak to możliwe, ważne jest, aby zrozumieć czynniki wpływające na wydajność i kwalifikatory polecenia dostępne do zarządzania wydajnością.W miarę możliwości używać Transact-SQL instrukcja do luzem importowanie danych do SQL Server ponieważ Transact-SQL jest szybsze niż bcp.

Ostrzeżenie

Porównanie tych metod, zobacz Dotyczące importu zbiorczego i operacji wywozowych luzem.

Jak najlepiej wzrost wydajności operacji import zbiorczy określonego wpływają następujące czynniki:

  • Czy tabela ma ograniczenia i/lub wyzwalaczy.

  • model odzyskiwanie Używane przez bazę danych.

    Aby uzyskać więcej informacji, zobacz Omówienie modelu odzyskiwania.

  • Czy tabela, do której dane są kopiowane jest pusta.

  • Czy tabela zawiera indeksy.

  • Czy określono jest TABLOCK.

  • Czy dane są skopiowane z pojedynczym klientem lub równolegle z wielu klient.

  • Czy dane są kopiowane między dwoma komputerami, na którym SQL Server jest uruchomiony.

Ważna informacjaWażne:

W SQL Server 2005 i nowsze wersje optymalizacje importu zbiorczego są dostępne po włączeniu wyzwalaczy.wersja wiersza jest używany dla wyzwalaczy i przechowuje wersje wierszy w sklepie wersja w tempdb.Zanim możliwe import zbiorczy dużych partia rekordy danych przy użyciu wyzwalaczy, może zajść potrzeba zwiększenia rozmiaru tempdb do wpływ wyzwalaczy na magazynu wersja.

Wpływ tych czynników informacji import zbiorczy scenariuszy, zobacz Wskazówki dotyczące optymalizowania importu zbiorczego.

Metody optymalizacji importu zbiorczego

Aby przyspieszyć import zbiorczy danych, SQL Server oferuje następujące metody:

  • Korzystanie z rejestrowania minimalne

    model odzyskiwanie prostego Minimalny zestaw dzienników większość operacji zbiorczych.

    Dla bazy danych w pełni model odzyskiwanie, wszystkie operacje wstawiania wierszy, które są wykonywane podczas import zbiorczy pełni są rejestrowane w dzienniku transakcji.Przywóz dużych danych może to spowodować szybkie wypełnianie dziennika transakcji.Dla operacji importu zbiorczego minimalny rejestrowanie jest bardziej wydajny niż pełne rejestrowanie i zmniejsza prawdopodobieństwo, że operacja importu zbiorczego spowoduje wypełnienie obszaru rejestrowania.Minimalny logowania operacji importu zbiorczego, na bazie zwykle używa pełnych model odzyskiwanie, można najpierw przełączyć bazie bulk-logged model odzyskiwanie.Po luzem, importowanie danych, przełącz model odzyskiwanie do pełnego model odzyskiwanie.Aby uzyskać więcej informacji, zobacz Zagadnienia dotyczące przełączania z modelu odzyskiwania Pełny lub Bulk-Logged.

    Ostrzeżenie

    Wiersze wstawione minimalny są rejestrowane, jeśli zoptymalizowane luzem rejestrowania jest stosowana; w przeciwnym razie wstawionych wierszy pełni są rejestrowane w dzienniku transakcji.Informacji na temat podczas operacji importu zbiorczego są rejestrowane i wykonywania operacji importu zbiorczego minimalny zarejestrowane, zobacz Operacje, które mogą być rejestrowane minimalny i Wymagania wstępne dotyczące minimalnych logowanie importu zbiorczego.

  • Importowanie danych równolegle z wielu klientów do pojedynczej tabela

    SQL Server Umożliwia dane mają być importowane do pojedynczej tabela z wielu klientów równolegle luzem.Wszystkie mechanizmy import zbiorczy trzy obsługuje równoległych import danych.Może to zwiększyć wydajność operacji importowania danych.

    Aby uzyskać więcej informacji, zobacz Importowanie danych równolegle z blokowania na poziomie tabeli.

  • Korzystanie z partii

    Informacje dotyczące używania instancji podczas importowania danych i informacji na temat kwalifikatory polecenia do zarządzania partii, zobacz Zarządzanie instancje importu zbiorczego.

    Ostrzeżenie

    Opcja luzem klauzula OPENROWSET nie obsługuje kontrolowania wielkości partia.

  • Wyłączanie wyzwalaczy

    Wyłączanie wyzwalaczy może zwiększyć wydajność.

    Aby uzyskać więcej informacji na temat wpływu wyzwalacza wykonanie operacji importu zbiorczego i sposobu włączania lub wyłączania wyzwalaczy, zobacz Sterowanie wykonywaniem wyzwalacza podczas zbiorczego, importowanie danych.

  • Wyłączanie ograniczenia

    Informacji na temat wpływu ograniczenia kontroli operacji importu zbiorczego i jak włączyć lub wyłączyć ograniczenia wyboru i klucza OBCEGO tabela, zobacz Kontrolowanie, ograniczenie sprawdzania przez operacji importu zbiorczego.

  • Porządkowanie danych w pliku danych

    Domyślnie operacji importu zbiorczego zakłada, że plik danych jest nieuporządkowane.Jeśli tabela ma indeks klastrowany bcp narzędzie, instrukcja WSTAW luzem i funkcja OPENROWSET(BULK…) (Transact-SQL) pozwalają określić sortowania danych w pliku danych podczas operacji importu zbiorczego.Jest fakultatywne dla danych w pliku danych, które mają być sortowane w kolejności tabela.Jednakże można zwiększyć wydajność operacji importu zbiorczego, jeśli określony w tej samej kolejności pliku danych w tabela.

    Aby uzyskać więcej informacji, zobacz Kontrolowanie porządek sortowania podczas zbiorczego, importowanie danych.

  • Controlling zachowanie blokowania

    Aby uzyskać informacje dotyczące określania zachowania blokowania podczas operacji importu zbiorczego, zobacz Kontrolowanie zachowania blokowania dla importu zbiorczego.

  • Importowanie danych w format macierzysty

    Aby uzyskać więcej informacji, zobacz Do importowania lub eksportowania danych przy użyciu formatu macierzystego i Przy użyciu formatu Unicode macierzystego do importowania lub eksportowania danych.