Comment activer le niveau d’isolement de transactions de capture instantanée dans SQL Server 2005 Analysis Services


INTRODUCTION


Cet article décrit comment activer le niveau d’isolement de transactions de capture instantanée dans Microsoft SQL Server 2005 Analysis Services. Par ailleurs, cet article explique comment vérifier si le niveau d’isolement de la transaction de capture instantanée est activé.

Informations supplémentaires


Comment activer le niveau d’isolement de transaction snapshot

Dans Analysis Services, vous pouvez utiliser le niveau d’isolation de transactions de capture instantanée pour vous connecter à la source de données SQL Server 2005. Pour activer le niveau d’isolement des transactions de capture instantanée, procédez comme suit :
  1. Dans SQL Server Management Studio, exécutez les instructions suivantes.
    ALTER DATABASE <DatabaseName>SET READ_COMMITTED_SNAPSHOT ONGOALTER DATABASE <DatabaseName>SET ALLOW_SNAPSHOT_ISOLATION ONGO
    Remarque Dans ces instructions, <DatabaseName> est un espace réservé pour une base de données de la source de données que vous souhaitez utiliser dans Analysis Services.
  2. Dans Business Intelligence Development Studio, créez un projet Analysis Services. Vous pouvez également ouvrir un projet Analysis Services existant.
  3. Si vous avez créé un nouveau projet Analysis Services à l’étape 2, procédez comme suit :
    1. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur sources de données, puis cliquez sur nouvelle source de données.
    2. Dans la boîte de dialogue Sélectionnez la manière dont vous souhaitez définir la connexion , cliquez sur nouveau. La boîte de dialogue Gestionnaire de connexions s’affiche.
    Si vous avez ouvert un projet Analysis Services existant à l’étape 2, procédez comme suit :
    1. Dans le dossier sources de données , double-cliquez sur la source de données existante.
    2. Dans la boîte de dialogue Concepteur de sources de données , cliquez sur modifier. La boîte de dialogue Gestionnaire de connexions s’affiche.
  4. Dans la boîte de dialogue Gestionnaire de connexions , cliquez sur client natif OLE DB\SQL dans la liste des fournisseurs .
  5. Spécifiez le nom du serveur et l’authentification.
  6. Pour tester la connexion, cliquez sur tester la connexion.
  7. Dans le volet de gauche, cliquez sur tout.
  8. Dans le volet droit, cliquez sur vrai dans la liste de connexions mars , puis cliquez sur OK.
  9. Dans la boîte de dialogue Concepteur de sources de données , cliquez sur instantané dans la liste isolement , puis cliquez sur OK.

Comment vérifier si le niveau d’isolement de la transaction de capture instantanée est activé

Pour tester si le niveau d’isolation des transactions de capture instantanée est activé, procédez comme suit :
  1. Démarrez SQL Server Profiler.
  2. Créez une nouvelle trace pour vous connecter à la source de données que vous avez spécifiée dans le projet Analysis Services.
  3. Dans la boîte de dialogue Propriétés de la trace , cliquez sur l’onglet de sélection événements .
  4. Dans la colonne TransactionId , activez les cases à cocher de la ligne de l’événement SQL : BatchCompleted et de la ligne de l’événement SQL : BatchStarting .Remarque Pour afficher la colonne TransactionId , activez la case à cocher afficher toutes les colonnes .
  5. Cliquez sur exécuter pour démarrer le suivi.
  6. Dans Business Intelligence Development Studio, traitez le projet Analysis Services.
  7. Dans le générateur de profils SQL Server, recherchez les événements SQL : BatchCompleted et les événements SQL : BatchStarting qui ont la même valeur dans la colonne TransactionId . En règle générale, ces événements contiennent l’instruction SELECT dans la colonne TextData . Pour ces événements, obtenez l’ID de session dans la colonne SPID .
  8. Pour vous connecter à la source de données, démarrez SQL Server Management Studio.
  9. Créez une nouvelle requête, puis exécutez l’instruction Transact-SQL suivante.
    select session_id,Transaction_Isolation_Level from sys.dm_exec_sessionswhere session_id=<SPID>
    Remarque Dans cette instruction, <SPID> est un espace réservé à l’ID de session que vous avez obtenu à l’étape 7.
  10. Dans l’onglet résultats , notez la valeur de la colonne Transaction_Isolation_Level . Cette valeur indique le niveau d’isolation des transactions que vous utilisez dans le projet Analysis Services. Lorsque le niveau d’isolement de la transaction snapshot est activé, la valeur de la colonne Transaction_Isolation_Level est 5.
Le tableau ci-dessous indique les valeurs de la colonne Transaction_Isolation_Level et les niveaux d’isolement des transactions correspondants.
ValeurNiveau d’isolement de transaction
0Non spécifié
1ReadUncommitted
deuxièmeReadCommitted
3DRenouvelable
n°4Sérialisable
n°5Capture

Références


Pour plus d’informations sur le niveau d’isolement de transactions instantanés, voir les rubriques suivantes dans la documentation en ligne de SQL Server 2005 :
  • DÉFINIR le niveau d’isolement d’une TRANSACTION (Transact-SQL)
  • Activation des niveaux d’isolement basés sur la version de ligne
  • Niveaux d’isolement du moteur de base de données