Empêcher la croissance du journal des transactions avec INSERT BULK avec TABLOCK

apache-spark bulkinsert jdbc sqlbulkcopy sql-server

Question

Je travaille sur l'écriture d'un processus qui écrira sur SQL Server à partir de l'application Spark-Scala. Il génère plusieurs INSERT BULK par partition de données (comme prévu), taille de lot de 100 000 enregistrements.

En surveillant le journal des transactions, je peux voir qu'il se remplit et j'espérais qu'avec INSERT BULK, ce ne serait pas le cas.

Pouvez-vous s'il vous plaît suggérer, comment je peux réaliser des commits par lot.

Réponse populaire

Lorsque votre modèle de récupération de base de données est défini sur complet, l'insertion en bloc écrit dans le journal des transactions et les journaux des transactions continuent de croître. Vous avez deux options:

  1. Modifier le modèle de récupération de la base de données pour qu'il soit consigné en bloc pendant le chargement des données, puis le réinitialiser pour qu'il soit complet après

  2. Modifier votre processus pour sauvegarder les journaux de transactions après chaque chargement (ou tous les quelques lots)



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi