Quand j'ai couru – SET INSTANTANÉ DE NIVEAU D'ISOLATION DE TRANSACTION -Command exécuté avec succès Mais la requête ci-dessous renvoie:
SELECT is_read_committed_snapshot_on, snapshot_isolation_state_desc, snapshot_isolation_state FROM sys.databases WHERE name = 'MyDB'
Sortie:
is_read_committed_snapshot_on 0 snapshot_isolation_state_desc OFF snapshot_isolation_state 0
Pourriez-vous m'expliquer pourquoi la command set transction ne reflète pas? En outre, je suppose que ALLOW_SNAPSHOT_ISOLATION
est déjà " ALLOW_SNAPSHOT_ISOLATION
" car ma command " SET TRANSACTION ISOLATION LEVEL SNAPSHOT
" s'exécute avec succès. Est-ce correct?
Aucune isolation d'instantané n'est activée pour cette database.
Si vous essayez d'exécuter une requête sur cette database, vous recevrez le message.
La transaction d'isolement de cliché a échoué lors de l'access à la database 'MyDB', car l'isolation des clichés n'est pas autorisée dans cette database. Utilisez ALTER DATABASE pour autoriser l'isolation de cliché.
Pour l'activer, vous devez exécuter
ALTER DATABASE MyDB SET ALLOW_SNAPSHOT_ISOLATION ON;