Udostępnij za pośrednictwem


Controlling Locking Behavior for Bulk Import

The bcp command, BULK INSERT instrukcja, and INSERT ...SELECT * FROM OPENROWSET(BULK...) instrukcja pozwalają określić, że tabela ma być zablokowane podczas operacji importu zbiorczego.Locking is used by the SQL Server Database Engine to synchronize simultaneous access by multiple users to the same piece of data.Transakcja modyfikuje fragment danych, posiada blokadę ochrona modyfikacji aż do zakończenia transakcji.Po określeniu blokada dla operacji import zbiorczy tabela blokada zbiorczej aktualizacji (BU) w tabela jest pobierana przez cały czas trwania operacji import zbiorczy.Blokada BU zezwala na wiele wątków do masowego importowania danych równocześnie do tej samej tabela podczas uniemożliwia innym procesom, które nie są zbiorczego importowania danych z dostęp do tabela.Blokowanie tabela może wpłynąć na polepszenie wydajności operacji importu zbiorczego zmniejszenia rywalizacji blokad w tabela.

Jeśli tabela blokowania nie jest używany, domyślnie używa blokady poziom wiersza, chyba że Blokada tabela zbiorczego ładowania opcja jest zestaw do na.Ustawianie Blokada tabela zbiorczego ładowania Opcja używającsp_tableoption ustawia blokowania zachowanie w przypadku tabela podczas operacji importu zbiorczego.

Tabela blokada import zbiorczy

Zachowanie blokowania tabela

Wyłączanie

Używane blokad poziomie wiersza

Na

Tabela poziom blokada używane

Jeżeli blokowanie tabela jest określony, ustawieniem domyślnym dla tabela ustawić z sp_tableoption zostanie zastąpione przez cały czas trwania operacji importu zbiorczego.

Uwaga

Nie jest konieczne korzystanie z blokowania tabela importu zbiorczego danych do tabela z kilku klientów równocześnie, ale to więc może zwiększyć wydajność.

Kwalifikatory polecenia

Poniższa tabela zawiera podsumowanie kwalifikatory służącą do blokowania tabeli w poleceniach importu zbiorczego.

Polecenie

Kwalifikator

Typ kwalifikator

BCP

-h"TABLOCK"

Wskazówka

WSTAWIANIA ZBIORCZEGO

TABLOCK

Argument

WSTAW...WYBIERZ * Z OPENROWSET(BULK...)

WITH(TABLOCK)

Wskazówka tabela

Uwaga

W SQL Server 2005 i jego nowsze wersje, określając zbiorczej importującego dane równolegle zapobiega TABLOCK tabela z indeks klastrowany. W takim przypadek wykonać import zbiorczy równolegle, nie należy używać TABLOCK.Aby uzyskać więcej informacji na temat zbiorczego ładowania równolegle zobacz Guidelines for Optimizing Bulk Import.