Traitement à distance (Analysis Services)

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

Vous pouvez exécuter un traitement planifié ou sans assistance sur un SQL Server Analysis Services instance distant, où la demande de traitement provient d’un ordinateur, mais s’exécute sur un autre ordinateur sur le même réseau.

Prérequis

  • Si vous exécutez différentes versions de SQL Server sur chaque ordinateur, les bibliothèques clientes doivent correspondre à la version du SQL Server Analysis Services instance qui traite le modèle.

  • Sur le serveur distant, l'option Autoriser les connexions à distance à cet ordinateur doit être activée, et le compte qui émet la demande de traitement doit être répertorié en tant qu'utilisateur autorisé.

  • Les règles de pare-feu Windows doivent être configurées pour autoriser les connexions entrantes vers SQL Server Analysis Services. Vérifiez que vous pouvez vous connecter au SQL Server Analysis Services instance distant à l’aide de SQL Server Management Studio. Consultez Configure the Windows Firewall to Allow Analysis Services Access.

  • Résolvez les erreurs de traitement local existantes avant de tenter le traitement à distance. Quand le traitement de la demande est local, vérifiez que les données peuvent être récupérées à partir de la source de données relationnelles externe. Consultez Définir les options d’emprunt d’identité (SSAS - Multidimensionnel) pour obtenir des instructions sur la spécification des informations d’identification utilisées pour récupérer des données.

Traitement à distance à la demande

SQL Server Analysis Services accepte le traitement des demandes provenant de comptes d’utilisateur ou d’application disposant d’autorisations d’administrateur SQL Server Analysis Services. Si vous êtes administrateur, vérifiez que vous pouvez vous connecter à l'instance distante et traiter la base de données manuellement via la connexion à distance.

  1. Sur l’ordinateur qui sera utilisé pour planifier le traitement, démarrez SQL Server Management Studio et connectez-vous au SQL Server Analysis Services instance distant.

  2. Cliquez avec le bouton droit sur la base de données, sélectionnez Traiter, pointez sur Script , puis choisissez Action de script dans une nouvelle fenêtre de requête. Les commandes utilisées pour appeler le traitement apparaîtront dans la fenêtre de requête.

  3. Cliquez sur OK pour commencer le traitement.

    Si cette tâche se termine correctement, vous obtiendrez une requête XMLA que vous pourrez incorporer dans une tâche planifiée. Par ailleurs, si la tâche se termine correctement, cela confirme qu'il n'existe aucun problème de connexion.

Planifier le traitement à distance à l'aide du service SQL Server Agent

Par défaut, le service SQL Server Agent s'exécute sous un compte virtuel, avec des connexions réseau établies avec le compte d'ordinateur. Pour éviter d’avoir à accorder à un compte d’ordinateur des droits d’administration sur le SQL Server Analysis Services instance distant, vous devez modifier le compte de service SQL Server Agent pour qu’il s’exécute en tant que compte d’utilisateur de domaine de privilèges minimum.

Veillez à accorder toutes les autorisations nécessaires, notamment en attribuant au compte sysadmin les droits sur l'instance du moteur de base de données qui fournit le service.

Utilisez les liens suivants pour définir les autorisations :

Après avoir configuré les autorisations du compte, passez aux étapes suivantes.

Accorder des droits d'administration au compte SQL Server Agent sur SSAS

  1. À l’aide de Management Studio, connectez-vous au SQL Server Analysis Services instance distant.

  2. Cliquez avec le bouton droit sur le nom du serveur, puis cliquez surPropriétéset sur Sécurité.

  3. Cliquez sur Ajouter pour ajouter le compte SQL Server Agent.

Créer un travail

  1. Dans Management Studio, connectez-vous à l'instance locale du moteur de base de données. SQL Server Agent est le dernier élément dans l'Explorateur d'objets. Si nécessaire, démarrez le service.

  2. Cliquez avec le bouton droit sur Travaux, cliquez sur Nouveau travail , puis entrez un nom.

  3. Dans Étapes, cliquez sur Nouveau , puis entrez un nom.

  4. Dans Type, sélectionnez Commande SQL Server Analysis Services.

  5. Dans Serveur, entrez le nom du SQL Server Analysis Services instance distant.

  6. Dans Commande, collez la commande XMLA pour le traitement de la base de données. Il s'agit du script XMLA que vous avez généré à l'étape de vérification pour le traitement à distance à la demande. Cliquez sur OK pour enregistrer le travail.

Démarrer SQL Server Profiler

  1. Sur l'ordinateur distant, démarrez SQL Server Profiler. Connectez-vous au SQL Server Analysis Services instance, puis cliquez sur Exécuter pour démarrer la trace à l’aide des événements par défaut.

    Vous allez utiliser SQL Server Profiler pour surveiller les événements de traitement à mesure qu'ils se produisent.

  2. Si vous le souhaitez, vous pouvez définir des propriétés de trace pour envoyer la trace vers un fichier ou une table dans une base de données.

Exécuter le travail

  1. Sur l'ordinateur utilisé pour exécuter le travail, vérifiez que le travail peut effectuer l'opération de base. Dans l’Explorateur d’objets, sous SQL Server Agent, développez Travaux, cliquez avec le bouton droit sur le travail que vous venez de créer, puis cliquez sur Démarrer le travail à l’étape. Le travail démarre immédiatement. Vous pouvez surveiller la progression dans SQL Server Profiler.

  2. Dans la dernière étape, modifiez le travail pour qu'il soit exécuté selon la planification de votre choix, en ajoutant toutes les alertes ou notifications nécessaires à la gestion du travail. Vous pouvez également affiner le script de traitement ou créer plusieurs étapes au sein du travail pour traiter les objets indépendamment.

Voir aussi

SQL Server Agent Components
Planifier des tâches administratives SSAS avec SQL Server Agent
Traitement par lots (Analysis Services)
Traitement d’un modèle multidimensionnel (Analysis Services)
Traitement d'objets (XMLA)