Suppression de lignes dans la table de provoquer des SERRURES

J'exécute la commande suivante pour supprimer des lignes dans des lots d'une table de grande taille (150 millions de lignes):

DECLARE @RowCount int
WHILE 1=1
    BEGIN
        DELETE TOP (10000) t1
        FROM table t1
        INNER JOIN table2 t2 ON t2.PrimaryKey = t1.PrimaryKey
        WHERE t1.YearProcessed <= 2007

        SET @RowCount = @@ROWCOUNT

        IF (@RowCount < 10000) BREAK
    END

Ce tableau est TRÈS utilisé. Cependant, il est la suppression d'enregistrements, mais il est aussi la cause d'un blocage sur certains dossiers, jetant ainsi les erreurs de l'utilisateur (qui n'est pas acceptable dans l'environnement, nous sommes dans).

Comment puis-je supprimer les anciens enregistrements sans causer de serrures? Dois-je réduire la taille du lot de 10000 enregistrements à 1000? Comment sera-ce l'effet de la taille des fichiers journaux (nous avons très peu d'espace sur le disque dur de la gauche pour le grand journal de croissance).

Des suggestions?

OriginalL'auteur Sean | 2012-01-25