Condividi tramite


Controllo della modalità di blocco per l'importazione di massa

Data aggiornamento: 5 dicembre 2005

Il comando bcp e le istruzioni BULK INSERT e INSERT ... SELECT * FROM OPENROWSET(BULK...) consentono di specificare che la tabella deve essere bloccata durante un'operazione di importazione di massa.

Quando si specifica il blocco della tabella, viene applicato un blocco a livello di tabella all'aggiornamento di massa per la durata dell'operazione di importazione di massa. Il blocco a livello di tabella può consentire un miglioramento delle prestazioni durante l'operazione di importazione di massa grazie alla riduzione della contesa tra blocchi nella tabella.

Se non si utilizza il blocco a livello di tabella, per impostazione predefinita vengono utilizzati i blocchi a livello di riga, a meno che l'opzione table lock on bulk load non sia impostata su on. L'impostazione dell'opzione table lock on bulk load tramite sp_tableoption consente di specificare la modalità di blocco per una tabella durante un'operazione di importazione di massa.

Blocco a livello di tabella durante l'importazione di massa Modalità di blocco della tabella

Disattivato

Blocchi a livello di riga

Attivato

Blocco a livello di tabella

Se si specifica il blocco a livello tabella, l'impostazione predefinita per la tabella impostata con sp_tableoption viene ignorata per la durata dell'operazione di importazione di massa.

[!NOTA] Benché non sia necessario utilizzare il blocco a livello di tabella per importare in massa i dati in una tabella da più client in parallelo, questa modalità assicura prestazioni migliori.

Qualificatori dei comandi

Nella tabella seguente è incluso un riepilogo dei qualificatori che consentono di specificare il blocco a livello di tabella nei comandi di importazione di massa.

Comando Qualificatore Tipo di qualificatore

bcp

-h"TABLOCK"

Hint

BULK INSERT

TABLOCK

Argomento

INSERT ... SELECT * FROM OPENROWSET(BULK...).

WITH(TABLOCK)

Hint di tabella

[!NOTA] In SQL Server 2005 la specifica di TABLOCK su una tabella con un indice cluster impedisce l'importazione di massa di dati in parallelo. Se si desidera eseguire un'importazione di massa di dati in parallelo, non utilizzare TABLOCK. Per ulteriori informazioni sul caricamento di massa in parallelo, vedere Linee guida per l'ottimizzazione dell'importazione di massa.

Vedere anche

Concetti

Utilizzo dei blocchi in Motore di database

Altre risorse

Utilità bcp
BULK INSERT (Transact-SQL)
OPENROWSET (Transact-SQL)
sp_tableoption (Transact-SQL)

Guida in linea e informazioni

Assistenza su SQL Server 2005