De nombreux accès concurrents de Microsoft SQL Server entraînent des erreurs d'interblocage de transaction, car les programmes d'écriture empêchent l'accès en lecture aux ressources de base de données. Il vous est possible de réduire la probabilité d'interblocage en définissant l'option READ_COMMITTED_SNAPSHOT ON pour votre base de données.
Procédure
Pour réduire les erreurs d'interblocage dans une base de données Microsoft SQL Server :
- Arrêtez tous les serveurs et les clients qui peuvent se connecter à
votre base de données (dbName), puis assurez-vous qu'aucune autre
connexion à Microsoft SQL Server ne subsiste.
- Connectez-vous à Microsoft SQL Server et
exécutez la commande SQL suivante pour déterminer si l'isolement d'échantillonnage est activé
pour dbName :
SELECT name, is_read_committed_snapshot_on FROM sys.databases
where name='nomBdd'
Si l'isolement d'échantillonnage est activé pour dbName, ignorez la suite de cette procédure.
- Exécutez la commande suivante pour activer l'isolement d'échantillonnage pour
dbName :
ALTER DATABASE dbName SET READ_COMMITTED_SNAPSHOT ON
- Redémarrez Microsoft SQL Server et
exécutez la commande SQL suivante pour confirmer que le paramètre d'isolement d'échantillonnage
est activé pour dbName :
SELECT name, is_read_committed_snapshot_on FROM sys.databases
where name='nomBdd'