Attacher et détacher des bases de données Analysis Services

S’applique à : SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Il arrive souvent qu’un administrateur de base de données SQL Server Analysis Services (dba) souhaite mettre une base de données hors connexion pendant une période, puis remettre cette base de données en ligne sur le même serveur instance ou sur un autre. Ces cas sont souvent motivés par des impératifs d’exploitation, tels que le déplacement de la base de données vers un autre disque afin d’obtenir de meilleures performances, le gain de place afin de permettre la croissance de la base de données, ou la mise à niveau d'un produit. Dans tous ces cas et bien plus encore, les commandes Attacher et Détacher permettent à l’SQL Server Analysis Services dba de mettre la base de données hors connexion et de la remettre en ligne avec peu d’efforts.

Commandes Attach et Detach

La commande Attach permet de mettre en ligne une base de données placée en mode hors connexion. Vous pouvez attacher la base de données à l'instance de serveur d'origine ou à une autre instance. Lorsque vous attachez une base de données, l'utilisateur peut spécifier le paramètre ReadWriteMode pour la base de données. La commande Detach permet de placer en mode hors connexion une base de données du serveur.

Utilisation des commandes Attach et Detach

La commande Attach est utilisée pour mettre en ligne une structure de base de données existante. Si la base de données est attachée en mode ReadWrite , elle ne peut être jointe qu'une seule fois à une instance de serveur. Toutefois, si la base de données est attachée en mode ReadOnly , elle peut être jointe plusieurs fois aux différentes instances de serveur. Par ailleurs, la même base de données ne peut pas être attachée plus d'une fois à la même instance de serveur. Une erreur est déclenchée en cas de tentative faite pour attacher la même base de données plusieurs fois, même si les données ont été copiées dans des dossiers distincts.

Important

S'il a été demandé un mot de passe pour détacher la base de données, le même mot de passe est requis pour attacher la base de données.

La commande Detach est utilisée pour mettre hors connexion une structure de base de données existante. Lorsqu'une base de données est détachée, vous devez fournir un mot de passe pour protéger les métadonnées confidentielles.

Important

Pour protéger le contenu des fichiers de données, vous devez utiliser une liste de contrôle d'accès pour le dossier, les sous-dossiers et les fichiers de données.

Lorsque vous détachez une base de données, le serveur suit les étapes ci-après.

Détachement d'une base de données en lecture/écriture Détachement d'une base de données en lecture seule
1) Le serveur émet une demande de verrou CommitExclusive sur la base de données.

2) Le serveur attend que toutes les transactions en cours soient validées ou annulées.

3) Le serveur génère toutes les métadonnées dont il a besoin pour détacher la base de données.

4) La base de données est marquée comme supprimée.

5) Le serveur valide la transaction.
1) La base de données est marquée comme supprimée.

2) Le serveur valide la transaction.

Remarque : le mot de passe qui sert à détacher la base de données ne peut pas être modifié pour une base de données en lecture seule. Une erreur est déclenchée si un paramètre de mot de passe est fourni pour une base de données attachée contenant déjà un mot de passe.

Les commandes Attach et Detach doivent être exécutées comme de simples opérations. Elles ne peuvent pas être combinées à d'autres opérations de la même transaction. De même, les commandes Attach et Detach sont des commandes transactionnelles atomiques. Cela signifie que soit l'opération réussit, soit elle échoue. Aucune base de données ne demeurera dans un état inachevé.

Important

Les privilèges administrateur de serveur ou de base de données sont nécessaires pour exécuter la commande Detach .

Important

Les privilèges d’administrateur de serveur sont nécessaires pour exécuter la commande Attach .

Voir aussi

Déplacer une base de données Analysis Services
Base de données ReadWriteModes
Basculer une base de données Analysis Services entre les modes ReadOnly et ReadWrite
Élément Detach
Élément Attach