2009-01-22 8 views
2

Nous avons un progiciel d'entreposage de données que nos clients utilisent pendant la journée par rapport à leur système transactionnel en direct. Sur la plupart des clients, cela semble fonctionner correctement mais sur les clients occupés, nous avons des erreurs de blocage.Services d'intégration et niveau d'isolement

Par défaut SSIS fonctionne avec un niveau d'isolement de Serializable qui est le niveau d'isolement le plus élevé sur SQL 2005.

Le package SSIS est la lecture des données seulement, mais les blocages sont créés en raison de la taille des requêtes et les serrures étant escaladé à des verrous de page pendant que d'autres processus sont en cours de mise à jour/insertion.

Les clients exécutent généralement l'édition standard de SQL 2005, c'est donc la seule fonctionnalité que nous pouvons utiliser.

Est-ce que quelqu'un sait si la modification du niveau IsolationLevel du paquet ReadCommitted (ou autre niveau d'isolation) résoudra ces problèmes de verrouillage. Et si elle les résoudre sont-il des effets secondaires (fantôme lit, les lectures non reproductibles etc.)

Merci,

Répondre

1

Il y a une grande discussion sur les niveaux d'isolement lecture commis et lecture répétable, et le potentiel les questions qu'ils peuvent produire:

http://blogs.msdn.com/craigfr/archive/2007/04/25/read-committed-isolation-level.aspx http://blogs.msdn.com/craigfr/archive/2007/05/09/repeatable-read-isolation-level.aspx

que cela vous affecte, dépend du schéma de la table et le type de mises à jour qui sont en cours d'exécution sur votre système.

Si vous lisez uniquement des données, votre meilleure option pourrait être une isolation d'instantané. SSIS ne le prend pas en charge, mais vous pouvez éviter les transactions SSIS et émettre BEGIN TRANSACTION dans le code SQL.

Questions connexes