Sauvegarde, restauration et synchronisation de bases de données (XMLA)

XML for Analysis propose trois commandes qui permettent de sauvegarder, restaurer et synchroniser des bases de données :

  • La commande Sauvegarde sauvegarde une base de données Microsoft SQL Server SQL Server Analysis Services à l’aide d’un fichier de sauvegarde SQL Server Analysis Services (.abf), comme décrit dans la section Sauvegarde de bases de données.

  • La commande Restore restaure une base de données SQL Server Analysis Services à partir d’un fichier .abf, comme décrit dans la section Restauration des bases de données.

  • La commande Synchroniser synchronise une base de données SQL Server Analysis Services avec les données et les métadonnées d’une autre base de données, comme décrit dans la section Synchronisation des bases de données.

Sauvegarde de bases de données

Comme mentionné précédemment, la commande Sauvegarde sauvegarde une base de données SQL Server Analysis Services spécifiée dans un fichier de sauvegarde. La commande Sauvegarde comporte différentes propriétés qui vous permettent de spécifier la base de données à sauvegarder, le fichier de sauvegarde à utiliser, la façon de sauvegarder les définitions de sécurité et les partitions distantes à sauvegarder.

Important

Le compte de service Analysis Services doit avoir l'autorisation d'écrire dans l'emplacement de sauvegarde spécifié pour chaque fichier. En outre, l’utilisateur doit avoir l’un des rôles suivants : rôle d’administrateur sur l’instance SQL Server Analysis Services ou membre d’un rôle de base de données avec des autorisations De contrôle total sur la base de données à sauvegarder.

Spécification de la base de données et du fichier de sauvegarde

Pour spécifier la base de données à sauvegarder, vous définissez la propriété Object de la commande Backup . La propriété Object doit contenir un identificateur d’objet pour une base de données ou une erreur se produit.

Pour spécifier le fichier à créer et utiliser par le processus de sauvegarde, vous définissez la propriété Fichier de la commande Sauvegarde . La propriété File doit être définie sur un chemin d’accès UNC et un nom de fichier pour que le fichier de sauvegarde soit créé.

En plus de spécifier le fichier à utiliser pour la sauvegarde, vous pouvez définir les options suivantes pour ce même fichier :

  • Si vous définissez la propriété AllowOverwrite sur true, la commande Backup remplace le fichier de sauvegarde si le fichier spécifié existe déjà. Si vous définissez la propriété AllowOverwrite sur false, une erreur se produit si le fichier de sauvegarde spécifié existe déjà.

  • Si vous définissez la propriété ApplyCompression sur true, le fichier de sauvegarde est compressé une fois le fichier créé.

  • Si vous définissez la propriété Password sur une valeur non vide, le fichier de sauvegarde est chiffré à l’aide du mot de passe spécifié.

    Important

    Si les propriétés ApplyCompression et Password ne sont pas spécifiées, le fichier de sauvegarde stocke les noms d’utilisateur et les mots de passe contenus dans les chaînes de connexion en texte clair. Les données stockées en texte en clair peuvent être récupérées. Pour une sécurité accrue, utilisez les paramètres ApplyCompression et Password pour compresser et chiffrer le fichier de sauvegarde.

Sauvegarde des paramètres de sécurité

La propriété Sécurité détermine si la commande Sauvegarde sauvegarde les définitions de sécurité, telles que les rôles et les autorisations, définies sur une base de données SQL Server Analysis Services. La propriété Sécurité détermine également si le fichier de sauvegarde inclut les comptes d’utilisateur et les groupes Windows définis en tant que membres des définitions de sécurité.

La valeur de la propriété Security est limitée à l’une des chaînes répertoriées dans le tableau suivant.

Valeur Description
SkipMembership Inclut les définitions de sécurité dans le fichier de sauvegarde mais exclut les informations d'appartenance.
CopyAll Inclut les définitions de sécurité et les informations d'appartenance dans le fichier de sauvegarde.
IgnoreSecurity Exclut les définitions de sécurité du fichier de sauvegarde.

Sauvegarde de partitions distantes

Pour sauvegarder des partitions distantes dans la base de données SQL Server Analysis Services, vous définissez la propriété BackupRemotePartitions de la commande Backup sur true. Ce paramètre entraîne la création d’un fichier de sauvegarde à distance pour chaque source de données distante utilisée pour stocker des partitions distantes pour la base de données.

Pour que chaque source de données distante soit sauvegardée, vous pouvez spécifier son fichier de sauvegarde correspondant en incluant un élément Location dans la propriété Locations de la commande Backup. L’élément Location doit avoir sa propriété File définie sur le chemin d’accès UNC et le nom de fichier du fichier de sauvegarde à distance, et sa propriété DataSourceID définie sur l’identificateur de la source de données distante définie dans la base de données.

Restauration de bases de données

La commande Restore restaure une base de données SQL Server Analysis Services spécifiée à partir d’un fichier de sauvegarde. La commande Restore comporte différentes propriétés qui vous permettent de spécifier la base de données à restaurer, le fichier de sauvegarde à utiliser, la façon de restaurer les définitions de sécurité, les partitions distantes à stocker et les objets OLAP (ROLAP) relationnels.

Important

Pour chaque fichier de sauvegarde, l'utilisateur qui exécute la commande de restauration doit avoir l'autorisation de lire à partir de l'emplacement de sauvegarde spécifié pour chaque fichier. Pour restaurer une base de données SQL Server Analysis Services qui n’est pas installée sur le serveur, l’utilisateur doit également être membre du rôle de serveur pour cette instance SQL Server Analysis Services. Pour remplacer une base de données SQL Server Analysis Services, l’utilisateur doit avoir l’un des rôles suivants : un membre du rôle serveur pour l’instance SQL Server Analysis Services ou un membre d’un rôle de base de données avec des autorisations De contrôle total sur la base de données à restaurer.

Notes

Après la restauration d'une base de données existante, l'utilisateur qui a restauré la base de données peut perdre l'accès à la base de données restaurée. Cette perte d'accès peut se produire si, au moment de la sauvegarde, l'utilisateur n'était pas un membre du rôle de serveur ou un membre du rôle de base de données avec les autorisations de contrôle total (Administrateur).

Spécification de la base de données et du fichier de sauvegarde

La propriété DatabaseName de la commande Restore doit contenir un identificateur d’objet pour une base de données ou une erreur se produit. Si la base de données spécifiée existe déjà, la propriété AllowOverwrite détermine si la base de données existante est remplacée. Si la propriété AllowOverwrite a la valeur false et que la base de données spécifiée existe déjà, une erreur se produit.

Vous devez définir la propriété Fichier de la commande Restore sur un chemin d’accès UNC et un nom de fichier pour que le fichier de sauvegarde soit restauré dans la base de données spécifiée. Vous pouvez également définir la propriété Password pour le fichier de sauvegarde spécifié. Si la propriété Password est définie sur une valeur non vide, le fichier de sauvegarde est déchiffré à l’aide du mot de passe spécifié. Si le fichier de sauvegarde n'a pas été chiffré ou si le mot de passe spécifié ne correspond pas au mot de passe utilisé pour chiffrer le fichier de sauvegarde, une erreur se produit.

Restauration des paramètres de sécurité

La propriété Sécurité détermine si la commande Restore restaure les définitions de sécurité, telles que les rôles et les autorisations, définies sur une base de données SQL Server Analysis Services. La propriété Sécurité détermine également si la commande Restore inclut les comptes d’utilisateur et les groupes Windows définis en tant que membres des définitions de sécurité dans le cadre du processus de restauration.

La valeur de cet élément est limitée à l'une des chaînes répertoriées dans le tableau suivant.

Valeur Description
SkipMembership Inclut les définitions de sécurité dans la base de données mais exclut les informations d'appartenance.
CopyAll Inclut les définitions de sécurité et les informations d'appartenance dans la base de données.
IgnoreSecurity Exclut les définitions de sécurité de la base de données.

Restaration de partitions distantes

Pour chaque fichier de sauvegarde à distance créé lors d’une commande de sauvegarde précédente, vous pouvez restaurer sa partition distante associée en incluant un élément Location dans la propriété Locations de la commande Restore. La propriété DataSourceType pour chaque élément Location doit être exclue ou définie explicitement sur Remote.

Pour chaque élément Location spécifié, l’instance SQL Server Analysis Services contacte la source de données distante spécifiée dans la propriété DataSourceID pour restaurer les partitions définies dans le fichier de sauvegarde à distance spécifié dans la propriété File. Outre les propriétés DataSourceID et File , les propriétés suivantes sont disponibles pour chaque élément Location utilisé pour restaurer une partition distante :

  • Pour remplacer la chaîne de connexion de la source de données distante spécifiée dans DataSourceID, vous pouvez définir la propriété ConnectionString de l’élément Location sur une chaîne de connexion différente. La commande Restore utilise ensuite la chaîne de connexion contenue dans la propriété ConnectionString . Si ConnectionString n’est pas spécifié, la commande Restore utilise la chaîne de connexion stockée dans le fichier de sauvegarde pour la source de données distante spécifiée. Vous pouvez utiliser le paramètre ConnectionString pour déplacer une partition distante vers une autre instance distante. Toutefois, vous ne pouvez pas utiliser le paramètre ConnectionString pour restaurer une partition distante sur la même instance qui contient la base de données restaurée. En d’autres termes, vous ne pouvez pas utiliser la propriété ConnectionString pour créer une partition distante dans une partition locale.

  • Pour chaque dossier d’origine utilisé pour stocker les partitions distantes sur la source de données distante, vous pouvez spécifier un élément Folder pour indiquer le nouveau dossier dans lequel restaurer toutes les partitions distantes stockées dans le dossier d’origine. Si un élément Folder n’est pas spécifié, la commande Restore utilise les dossiers d’origine spécifiés pour les partitions distantes contenues dans le fichier de sauvegarde à distance.

Déplacement d'objets ROLAP

La commande Restore ne peut pas restaurer des agrégations ou des données pour les objets qui utilisent le stockage ROLAP, car ces informations sont stockées dans des tables sur une source de données relationnelle sous-jacente. Toutefois, les métadonnées d'objets ROLAP peuvent être restaurées. Pour restaurer les métadonnées pour l’objet ROLAP, la commande Restore recrée la structure de table sur une source de données relationnelle.

Vous pouvez utiliser l’élément Location dans une commande Restore pour déplacer des objets ROLAP. Pour chaque élément Location utilisé pour déplacer une source de données, la propriété DataSourceType doit être définie explicitement sur Local. Vous devez également définir la propriété ConnectionString de l’élément Location sur la chaîne de connexion du nouvel emplacement. Pendant la restauration, la commande Restore remplace la chaîne de connexion de la source de données identifiée par la propriété DataSourceID de l’élément Location par la valeur de la propriété ConnectionString de l’élément Location .

Synchronisation de bases de données

La commande Synchroniser synchronise les données et les métadonnées d’une base de données SQL Server Analysis Services spécifiée avec une autre base de données. La commande Synchroniser comporte différentes propriétés qui vous permettent de spécifier la base de données source, de synchroniser les définitions de sécurité, les partitions distantes à synchroniser et la synchronisation des objets ROLAP.

Notes

La commande Synchroniser peut être exécutée uniquement par les administrateurs de serveur et les administrateurs de base de données. Les bases de données source et de destination doivent avoir le même niveau de compatibilité de base de données.

Spécification de la base de données source

La propriété Source de la commande Synchronize contient deux propriétés, ConnectionString et Object. La propriété ConnectionString contient la chaîne de connexion de l’instance qui contient la base de données source, et la propriété Object contient l’identificateur d’objet de la base de données source.

La base de données de destination est la base de données active pour la session dans laquelle la commande Synchroniser s’exécute.

Si la propriété ApplyCompression de la commande Synchronize a la valeur true, les informations envoyées de la base de données source à la base de données de destination sont compressées avant d’être envoyées.

Synchronisation des paramètres de sécurité

La propriété SynchronizeSecurity détermine si la commande Synchronize synchronise les définitions de sécurité, telles que les rôles et les autorisations, définies sur la base de données source. La propriété SynchronizeSecurity détermine également si la commande Sychronize inclut les comptes d’utilisateur et les groupes Windows définis comme membres des définitions de sécurité.

La valeur de cet élément est limitée à l'une des chaînes répertoriées dans le tableau suivant.

Valeur Description
SkipMembership Inclut les définitions de sécurité dans la base de données de destination mais exclut les informations d'appartenance.
CopyAll Inclut les définitions de sécurité et les informations d'appartenance dans la base de données de destination.
IgnoreSecurity Exclut les définitions de sécurité de la base de données de destination.

Synchronisation de partitions distantes

Pour chaque source de données distante qui existe sur la base de données source, vous pouvez synchroniser chaque partition distante associée en incluant un élément Location dans la propriété Locations de la commande Synchronize . Pour chaque élément Location , la propriété DataSourceType doit être exclue ou définie explicitement sur Remote.

Pour définir et se connecter à une source de données distante dans la base de données de destination, la commande Synchronize utilise la chaîne de connexion définie dans la propriété ConnectionString de l’élément Location . La commande Synchronize utilise ensuite la propriété DataSourceID de l’élément Location pour identifier les partitions distantes à synchroniser. La commande Synchronizesynchronise les partitions distantes sur la source de données distante spécifiée dans la propriété DataSourceID sur la base de données source avec la source de données distante spécifiée dans la propriété DataSourceID sur la base de données de destination.

Pour chaque dossier d’origine utilisé pour stocker les partitions distantes sur la source de données distante sur la base de données source, vous pouvez également spécifier un élément Folder dans l’élément Location . L’élément Folder indique le nouveau dossier de la base de données de destination dans laquelle synchroniser toutes les partitions distantes stockées dans le dossier d’origine sur la source de données distante. Si aucun élément Folder n’est spécifié, la commande Synchronize utilise les dossiers d’origine spécifiés pour les partitions distantes contenues dans la base de données source.

Synchronisation d'objets ROLAP

La commande Synchronize ne peut pas synchroniser des agrégations ou des données pour les objets qui utilisent le stockage ROLAP, car ces informations sont stockées dans des tables sur une source de données relationnelle sous-jacente. Toutefois, les métadonnées d'objets ROLAP peuvent être synchronisées. Pour synchroniser les métadonnées, la commande Synchroniser recrée la structure de la table sur une source de données relationnelle.

Vous pouvez utiliser l’élément Location dans une commande Synchronize pour synchroniser les objets ROLAP. Pour chaque élément Location utilisé pour déplacer une source de données, la propriété DataSourceType doit être définie explicitement sur Local. . Vous devez également définir la propriété ConnectionString de l’élément Location sur la chaîne de connexion du nouvel emplacement. Pendant la synchronisation, la commande Synchronize remplace la chaîne de connexion de la source de données identifiée par la propriété DataSourceID de l’élément Location par la valeur de la propriété ConnectionString de l’élément Location .

Voir aussi

Élément Backup (XMLA)
Élément Restore (XMLA)
Élément Synchronize (XMLA)
Sauvegarde et restauration de bases de données Analysis Services