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.