Partager via


Exemple ProfitMargin

Mis à jour : 17 juillet 2006

L'exemple ProfitMargin est une application Microsoft SQL Server Notification Services pilotée par les événements qui produit des notifications au sujet de marges bénéficiaires pour des employés individuels et envoie ces données aux utilisateurs abonnés. Cet exemple utilise le fournisseur d'événements SSAS pour interroger une base de données SSAS et retourner les résultats en tant qu'événements dans l'application Notification Services.

ms160923.note(fr-fr,SQL.90).gifRemarque :
Vous ne pouvez pas exécuter cet exemple sur des serveurs Itanium, car Business Intelligence Development Studio n'est pas installé.

Scénario

Une société possède une base de données SSAS utilisée pour analyser les performances en matière de ventes. Les employés du service Ventes peuvent s'abonner à l'application ProfitMargin pour recevoir une notification lorsque l'un de leurs revendeurs a dépassé son objectif de marge bénéficiaire.

Selon une planification spécifiée dans l'application, le fournisseur d'événements SSAS exécute une requête MDX pour recueillir les événements. Lorsque le générateur s'exécute, ces événements sont ajoutés à une chronique. Le générateur produit ensuite des notifications à partir de la chronique d'événements lorsque les conditions suivantes sont remplies :

  • Le nom de l'abonné correspond au nom de l'employé dans l'événement.
  • La marge brute du revendeur est supérieure à l'objectif de marge brute du revendeur.

La notification résultante est formatée à l'aide d'une transformation XSL et envoyée à un fichier.

Langages

XML, XSD, XSLT et Microsoft Visual C# ou Microsoft Visual Basic.

Fonctionnalités

L'exemple SSAS utilise les fonctionnalités suivantes de Notification Services :

Domaine d'application Fonctionnalités

Classe Event

File d'attente d'événements de base et chronique.

Classe Subscription

Classe d'abonnement pilotée par les événements.

Classe Notification

Classe de notification ; pas de remise de type digest ni de livraison par multidiffusion.

Fournisseurs d'événements

Deux fournisseurs d'événements SSAS : un statique et un dynamique.

Modules de formatage de contenu

Module de formatage de contenu XSLT.

Protocoles de remise

Protocoles de remise FTP et SMTP.

Configuration requise

Avant d'exécuter cet exemple, assurez-vous que le logiciel suivant est installé :

  • Microsoft SQL Server 2005, y compris les composants suivants :
    • Moteur de base de données.
    • Notification Services.
    • SSAS.
    • SQL Server Management Studio.
    • Business Intelligence Development Studio.
    • La base de données AdventureWorksDW. Base de données fournie avec SQL Server 2005 et également disponible sur le site Web du SQL Server Developer Center (Centre des développeurs SQL Server). Pour plus d'informations, consultez Installation des exemples de bases de données AdventureWorks et d'autres exemples via le programme d'installation.
    • Exemples Notification Services. Ces exemples accompagnent SQL Server 2005. Vous pouvez télécharger la dernière version des exemples sur le site Web du SQL Server Developer Center (Centre des développeurs SQL Server).
    • Le Kit de développement .NET Framework SDK 2.0 ou Microsoft Visual Studio 2005. Vous pouvez obtenir gratuitement le Kit de développement .NET Framework SDK. Consultez Installation du SDK .NET Framework.

Génération de l'exemple

Pour générer l'exemple, procédez comme suit :

  • Déployez la base de données SSAS.
  • Créez l'instance de Notification Services.
  • Inscrivez l'instance de Notification Services.
  • Octroyez les autorisations pour SQL Server et les bases de données.

Les procédures suivantes montrent comment effectuer chacune de ces tâches pour l'exemple ProfitMargin.

Étape 1 : Déployer la base de données OLAP Adventure Works DW

  1. Ouvrez SQL Server Business Intelligence Development Studio, cliquez sur Fichier, pointez sur Ouvrir, puis cliquez sur Projet/Solution.

  2. Accédez au dossier C:\Program Files\Microsoft SQL Server\90\Tools\Samples\AdventureWorks Analysis Services Project, sélectionnez le fichier Adventure Works DW.dwproj, puis cliquez sur Ouvrir.

  3. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur Adventure Works DW et sélectionnez Déployer.

Étape 2 : Créez l'instance de Notification Services

  1. Ouvrez SQL Server Management Studio et connectez-vous à une instance de SQL Server.

  2. Dans l'Explorateur d'objets, cliquez avec le bouton droit sur le dossier Notification Services, puis sélectionnez Nouvelle instance de Notification Services.

  3. Dans la boîte de dialogue Nouvelle instance de Notification Services, cliquez sur Parcourir et sélectionnez le fichier InstanceConfig.xml dans le dossier racine de l'exemple ProfitMargin.

  4. Dans la zone Paramètres, entrez les valeurs des trois paramètres :

    • SampleDirectory est le chemin d'accès du dossier racine de l'exemple ProfitMargin. Il s'agit par défaut de C:\Program Files\Microsoft SQL Server\90\Samples\Notification Services\ProfitMargin.
    • NotificationServicesHost est le nom du serveur local.
    • SQLServer est le nom de l'instance de SQL Server.
  5. Activez la case à cocher Activer l'instance après sa création.

  6. Cliquez sur OK..

  7. Une fois l'instance Notification Services créée, cliquez sur Fermer.

ms160923.note(fr-fr,SQL.90).gifRemarque :
Si vous déployez un exemple Notification Services à l'aide d'un compte de propriétaire de base de données ou d'un compte d'administrateur système, il n'est pas nécessaire d'accorder les autorisations SQL Server sur le compte. L'octroi de ces autorisations risque d'entraîner une erreur, que vous pouvez d'ailleurs ignorer. Lorsque vous déployez vos propres applications, vous devez utiliser des comptes dotés de privilèges réduits afin d'améliorer la sécurité.

Étape 3 : Inscrivez l'instance de Notification Services

  1. Dans SQL Server Management Studio, ouvrez le nœud Notification Services, cliquez avec le bouton droit sur ProfitMarginInstance, pointez sur Tâches, puis sélectionnez Inscrire.

  2. Dans la boîte de dialogue Inscrire l'instance, activez la case à cocher Créer un service Windows.

    Le service Windows exécute l'instance de Notification Services sur cet ordinateur.

  3. Sous Ouverture de session du service, entrez un compte Windows et son mot de passe. Il s'agit du compte Windows sous lequel le service doit s'exécuter. Si vous utilisez l'Authentification Windows pour accéder à SQL Server, le service Windows utilisera également ce compte pour se connecter à SQL Server.

  4. Si vous devez utiliser l'authentification SQL Server pour accéder à SQL Server, sélectionnez Authentification SQL Server sous Authentification, puis spécifiez un nom de connexion et un mot de passe SQL Server.

    Il est recommandé d'utiliser l'authentification Windows.

  5. Cliquez sur OK..

  6. Une fois l'instance Notification Services inscrite, cliquez sur Fermer.

Étape 4 : Octroyez les autorisations pour SQL Server et les bases de données

  1. Dans l'Explorateur d'objets, développez le nœud Sécurité.

  2. Si vous devez créer un compte de connexion de base de données pour le service Windows, cliquez avec le bouton droit sur Connexions et sélectionnez Nouvelle connexion, puis créez le compte de connexion :

    • Pour utiliser l'Authentification Windows, sélectionnez Authentification Windows et entrez le compte Windows que vous avez spécifié lors de l'inscription de l'instance.
    • Si vous devez utiliser l'authentification SQL Server, sélectionnez Authentification SQL Server, puis entrez le nom de connexion et le mot de passe SQL Server spécifiés lors de l'inscription de l'instance.
  3. Si la connexion utilisée par le service Windows a déjà accès à SQL Server, cliquez avec le bouton droit sur la connexion, puis sélectionnez Propriétés.

  4. Dans le volet gauche de la boîte de dialogue Connexion, sélectionnez l'option de mappage des utilisateurs.

  5. Accordez les autorisations de la base de données ProfitMarginInstanceNSMain :

    1. Dans la zone Utilisateurs mappés à cette connexion, activez la case à cocher en regard de la base de données ProfitMarginInstanceNSMain.
    2. Dans la zone Appartenance au rôle de base de données pour : ProfitMarginInstanceNSMain, sélectionnez NSRunService.
  6. Accordez les autorisations de la base de données ProfitMarginInstanceProfitMargin :

    1. Dans la zone Utilisateurs mappés à cette connexion, activez la case à cocher en regard de la base de données ProfitMarginInstanceProfitMargin.
    2. Dans la zone Appartenance au rôle de base de données pour : ProfitMarginInstanceProfitMargin, sélectionnez NSRunService.
  7. Cliquez sur OK pour appliquer les autorisations SQL Server.

  8. Accordez les autorisations pour la base de données Adventure Works DW :

    1. Dans SQL Server Management Studio, connectez-vous à SSAS.
    2. Développez le dossier des bases de données de SSAS, puis développez Adventure Works DW.
    3. Cliquez avec le bouton droit sur le dossier Rôles, puis sélectionnez Nouveau rôle.
    4. Dans la zone Nom du rôle, entrez ProfitMarginNS.
    5. Dans le volet gauche, cliquez sur Adhésion et ajoutez le compte utilisé pour exécuter cet exemple du service Windows Notification Services.
    6. Dans le volet gauche, sélectionnez Cubes.
    7. Pour le cube AdventureWorks, cliquez dans la zone Accès et sélectionnez Lecture.
    8. Cliquez sur OK pour appliquer les autorisations de cube.
  9. Configurez la sécurité pour le dossier Events :

    1. À l'aide de l'Explorateur Windows, recherchez le dossier Events de l'exemple ProfitMargin.
    2. Cliquez avec le bouton droit sur le dossier Events, sélectionnez Partage et sécurité, puis sélectionnez l'onglet Sécurité.
    3. Cliquez sur Ajouter et ajoutez le compte utilisé par le service Windows.
    4. Dans la zone Noms d'utilisateurs ou de groupes, sélectionnez le compte que vous venez d'ajouter.
    5. Dans la zone Autorisations pour, sélectionnez les autorisations Lire et Modifier.
    6. Cliquez sur OK pour appliquer les modifications.
  10. Configurez la sécurité pour le dossier Notifications :

    1. Recherchez le dossier Notifications de l'exemple ProfitMargin.
    2. Cliquez avec le bouton droit sur le dossier Notifications, sélectionnez Partage et sécurité, puis cliquez sur l'onglet Sécurité.
    3. Cliquez sur Ajouter et ajoutez le compte utilisé par le service Windows.
    4. Dans la zone Noms d'utilisateurs ou de groupes, sélectionnez le compte que vous venez d'ajouter.
    5. Dans la zone Autorisations pour, sélectionnez Écrire.
    6. Cliquez sur OK pour appliquer les modifications.

Génération d'un fichier de clé de nom fort

Si vous n'avez pas encore créé un fichier de clé de nom fort, utilisez la procédure suivante pour générer ce fichier.

Pour générer un fichier de clé de nom fort

  1. Ouvrez une invite de commandes Microsoft Visual Studio 2005. Cliquez sur Démarrer, pointez sur Tous les programmes et sur Kit de développement Microsoft .NET Framework SDK 2.0, puis cliquez sur Invite de commandes du Kit de développement SDK.

    -- Ou --

    Ouvrez une invite de commandes Microsoft .NET Framework. Cliquez sur Démarrer, pointez sur Tous les programmes et sur Kit de développement Microsoft .NET Framework SDK 2.0, puis cliquez sur Invite de commandes du Kit de développement SDK.

  2. Utilisez la commande CD (changer de répertoire) pour remplacer le dossier actif dans la fenêtre de l'invite de commandes par le dossier dans lequel les exemples sont installés.

    ms160923.note(fr-fr,SQL.90).gifRemarque :
    Pour déterminer le dossier dans lequel se trouvent les exemples, cliquez sur le bouton Démarrer, pointez successivement sur Tous les programmes, sur Microsoft SQL Server 2005 et sur Documentation et didacticiels, puis cliquez sur le répertoire Samples. Si l'emplacement d'installation par défaut a été utilisé, les exemples se trouvent dans <lecteur_système>:\Program Files\Microsoft SQL Server\100\Samples.
  3. À l'invite de commandes, exécutez la commande suivante pour générer le fichier de clé :

    sn -k SampleKey.snk

    ms160923.note(fr-fr,SQL.90).gifImportant :
    Pour plus d'informations sur la paire de clés de nom fort, consultez l'article de sécurité concernant les noms forts et la sécurité dans .NET Framework, dans le Centre de développement .NET sur MSDN.

Exécution de l'exemple

Pour exécuter l'exemple, procédez comme suit :

  • Démarrez l'instance.
  • Ajoutez des abonnés et des abonnements.
  • Ajoutez un événement à l'entrepôt de données SSAS.

Les procédures suivantes montrent comment effectuer ces tâches et afficher les notifications obtenues.

Étape 1 : Démarrez l'instance

  1. Dans l'Explorateur d'objets, ouvrez le dossier Notification Services.

  2. Cliquez avec le bouton droit sur ProfitMarginInstance, puis cliquez sur Démarrer.

Étape 2 : Ajoutez des abonnés et des abonnements

  1. Générez la solution Visual Studio ProfitMargin_VB ou ProfitMargin.

    Si vous utilisez le Kit de développement .NET Framework SDK, procédez comme suit :

    1. Dans le menu Démarrer, pointez sur Tous les programmes\Kit de développement Microsoft .NET Framework SDK v2.0, puis cliquez sur Invite de commandes du Kit de développement SDK.
    2. Recherchez le dossier racine de l'exemple ProfitMargin. Tapez la commande suivante (si ce dossier se trouve à l'emplacement par défaut) :
      cd C:\Program Files\Microsoft SQL Server\90\Samples\Notification Services\ProfitMargin
    3. Tapez la commande suivante pour générer la solution :
      [C#] 
      msbuild ProfitMargin.sln
      [Visual Basic] 
      msbuild ProfitMargin_VB.sln

    Ou bien, si vous utilisez Visual Studio 2005, procédez comme suit :

    1. Ouvrez le fichier solution de votre choix (ProfitMargin.sln ou ProfitMargin_VB.sln).
    2. Appuyez sur F6 pour générer la solution.
  2. Exécutez AddSubscribers.exe.

    L'emplacement par défaut de ce fichier est C:\Program Files\Microsoft SQL Server\90\Samples\Notification Services\ProfitMargin\AddSubscribers\language\AddSubscribers\bin\Debug.

  3. Exécutez AddSubscriptions.exe.

    L'emplacement par défaut de ce fichier est C:\Program Files\Microsoft SQL Server\90\Samples\Notification Services\ProfitMargin\AddSubscriptions\language\AddSubscriptions\bin\Debug.

ms160923.note(fr-fr,SQL.90).gifRemarque :
Si vous travaillez dans une application de production ou si vous exécutez votre application avec un compte restreint, ajoutez la connexion SQL Server de l'application au rôle de base de données NSSubscriberAdmin dans les bases de données d'instance et d'application.

Étape 3 : Ajoutez un événement à l'entrepôt de données Analysis Services

  1. Ouvrez une fenêtre de requête SQL Server dans SQL Server Management Studio.

  2. Ouvrez le fichier TriggerEvent.sql dans le dossier ProfitMargin/SQL Scripts pour ajouter des données à l'entrepôt de données AdventureWorks. Ces données vont générer un événement.

    ms160923.note(fr-fr,SQL.90).gifRemarque :
    Si vous réexécutez ce script, vous devrez modifier la valeur de SalesOrderNumber en modifiant l'instruction SELECT @SalesOrderNumber pour ajouter un nouveau numéro de commande.
  3. Retraitez le cube :

    1. Dans l'Explorateur d'objets de SQL Server Management Studio, cliquez sur Connexion, puis cliquez sur Analysis Server.
    2. Dans la boîte de dialogue Se connecter au serveur, tapez le nom du serveur qui héberge le cube AdventureWorksDW dans la zone Nom du serveur, puis cliquez sur Se connecter.
    3. Dans l'Explorateur d'objets, ouvrez le nœud Analysis Server, ouvrez le dossier Databases, puis recherchez Adventure Works DW/Cubes/Adventure Works/Measure Groups/Reseller Sales.
    4. Cliquez avec le bouton droit sur Reseller Sales, puis sélectionnez Traiter.
    5. Cliquez sur OK pour retraiter le cube Reseller Sales.

Étape 4 : Affichez les notifications

  1. Patientez environ une minute pendant que Notification Services génère les notifications.

  2. À l'aide de l'Explorateur Windows, recherchez le dossier Notifications de l'exemple ProfitMargin. Vous devez y trouver un fichier nommé FileNotifications.txt. Ce fichier contient les notifications.

  3. Recherchez le dossier dans lequel les messages électroniques sont déplacés. Il s'agit généralement de l'un des dossiers de C:\Inetpub\mailroot. Selon l'état du serveur SMTP, les notifications doivent se trouver dans le dossier Pickup ou le dossier Queue. Si le service SMTP est en cours d'exécution, les messages peuvent être déplacés vers le dossier Badmail.

Suppression de l'exemple

Utilisez la procédure suivante pour supprimer l'exemple ProfitMargin.

Pour supprimer l'exemple ProfitMargin

  1. Dans le volet Explorateur d'objets, ouvrez le dossier Notification Services.

  2. Cliquez avec le bouton droit sur ProfitMarginInstance, puis sélectionnez Arrêter.

  3. Cliquez avec le bouton droit sur ProfitMarginInstance, pointez sur Tâches, puis sélectionnez Annuler l'inscription.

  4. Cliquez avec le bouton droit sur ProfitMarginInstance, pointez sur Tâches, puis sélectionnez Supprimer.

Voir aussi

Autres ressources

Exemples SQL Server Notification Services
Sécurisation de Notification Services

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

14 avril 2006

Contenu ajouté :
  • Ajout d'une remarque sur l'exécution des exemples à l'aide des autorisations de propriétaire de base de données.
  • Ajout d'une remarque indiquant que Business Intelligence Development Studio n'est pas installé sur les serveurs Itanium.

5 décembre 2005

Contenu modifié :
  • Modification des instructions concernant la génération d'un fichier de clé, entre autres le nom et l'emplacement de ce fichier.
  • Ajout d'instructions pour l'octroi d'autorisations sur un cube Adventure Works DW.
  • Mise à jour des instructions pour le déploiement du cube.