Contrôle du mécanisme de verrouillage pour l'importation en bloc

Mis à jour : 5 décembre 2005

La commande bcp, les instructions BULK INSERT et INSERT ... SELECT * FROM OPENROWSET(BULK...) vous permettent de préciser que la table doit être verrouillée lors d'une opération d'importation en bloc.

Lorsque vous spécifiez un verrouillage de table, un verrou au niveau de la table, pour la mise à jour en bloc, est appliqué pour toute la durée de l'opération d'importation en bloc. Le verrouillage de table peut améliorer les performances de l'opération d'importation en bloc par la réduction du temps pendant lequel le verrou est maintenu sur la table.

Si le verrouillage de table n'est pas utilisé, des verrous au niveau des lignes sont utilisés par défaut, à moins que l'option table lock on bulk load soit définie sur on. En définissant l'option table lock on bulk load à l'aide de sp_tableoption, vous définissez également le mécanisme de verrouillage d'une table pendant toute la durée de l'opération d'importation en bloc.

Verrou de table lors de l'importation en bloc Comportement du verrouillage de table

Off (Inactif)

Utilisation de verrous au niveau des lignes

On (Actif)

Utilisation d'un verrou au niveau de la table

Si le verrouillage de table est spécifié, le paramétrage par défaut de la table défini à l'aide de sp_tableoption est ignoré pendant toute la durée de l'opération d'importation en bloc.

ms180876.note(fr-fr,SQL.90).gifRemarque :
Il n'est pas nécessaire d'utiliser le verrouillage de table pour importer des données en bloc dans une table à partir de plusieurs clients en parallèle, mais cela peut améliorer les performances.

Qualificateurs des commandes

Le tableau suivant récapitule les qualificateurs utilisés pour spécifier le verrouillage de table dans les commandes d'importation en bloc.

Commande Qualificateur Type de qualificateur

bcp

-h"TABLOCK"

Indicateur

BULK INSERT

TABLOCK

Argument

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

WITH(TABLOCK)

Indicateur de table

ms180876.note(fr-fr,SQL.90).gifRemarque :
Dans SQL Server 2005, la spécification de TABLOCK sur une table avec un index cluster empêche l'importation en bloc de données en parallèle. Si vous souhaitez effectuer une importation parallèle en bloc, n'utilisez pas TABLOCK. Pour plus d'informations sur le chargement en bloc en parallèle, consultez Recommandations pour l'utilisation de l'importation en bloc.

Voir aussi

Concepts

Verrouillage du moteur de base de données

Autres ressources

Utilitaire bcp
BULK INSERT (Transact-SQL)
OPENROWSET (Transact-SQL)
sp_tableoption (Transact-SQL)

Aide et Informations

Assistance sur SQL Server 2005