Profit Margin-Beispiel

Aktualisiert: 17. Juli 2006

Das Profit Margin-Beispiel ist eine ereignisgesteuerte Microsoft SQL Server Notification Services-Anwendung, die Benachrichtigungen zu Gewinnspannen für einzelne Mitarbeiter erzeugt und die Daten an Benutzer weiterleitet, die diese Benachrichtigungen abonniert haben. Dieses Beispiel verwendet den SSAS-Ereignisanbieter, um eine SSAS-Datenbank abzufragen und die Ergebnisse als Ereignisse an die Notification Services-Anwendung zurückzugeben.

ms160923.note(de-de,SQL.90).gifHinweis:
Dieses Beispiel kann nicht auf Itanium-basierten Servern ausgeführt werden, da Business Intelligence Development Studio nicht installiert ist.

Szenario

Ein Unternehmen analysiert mithilfe einer SSAS-Datenbank die Verkaufsleistung. Mitarbeiter in der Vertriebsabteilung können die Profit Margin-Anwendung abonnieren, um sich benachrichtigen zu lassen, wenn ein Wiederverkäufer sein Renditeziel übertroffen hat.

Der SSAS-Ereignisanbieter führt nach einem in der Anwendung angegebenen Zeitplan eine MDX-Abfrage aus, um Ereignisse zu sammeln. Während der Generator ausgeführt wird, werden diese Ereignisse in einen Verlauf geschrieben. Anschließend generiert der Generator aus dem Ereignisverlauf Benachrichtigungen, wenn die folgenden Bedingungen zutreffen:

  • Der Name des Abonnenten stimmt mit dem Namen des Mitarbeiters in dem betreffenden Ereignis überein.
  • Die Bruttorendite des Wiederverkäufers ist größer als das Bruttorenditeziel des Wiederverkäufers.

Die resultierenden Benachrichtigungen werden mithilfe einer XSL-Transformation formatiert und dann an eine Datei gesendet.

Sprachen

XML, XSD, XSLT und Microsoft Visual C# oder Microsoft Visual Basic

Features

Das SSAS-Beispiel verwendet die folgenden Features von Notification Services.

Anwendungsbereich Features

EventClass

Einfache Ereigniswarteschlange und ein Verlauf

Abonnementklasse

Eine ereignisgesteuerte Abonnementklasse

Benachrichtigungsklasse

Eine Benachrichtigungsklasse, keine Digest- oder Multicastübermittlung

Ereignisanbieter

Zwei SSAS-Ereignisanbieter, einer statisch und der andere dynamisch.

Inhaltsformatierer

XSLT-Inhaltsformatierer

Übermittlungsprotokolle

Datei- und SMTP-Übermittlungsprotokolle

Voraussetzungen

Stellen Sie vor dem Ausführen dieses Beispiels sicher, dass die folgende Software installiert ist:

  • Microsoft SQL Server 2005, einschließlich der folgenden Komponenten:
    • Datenbankmodul.
    • Notification Services.
    • SSAS.
    • SQL Server Management Studio.
    • Business Intelligence Development Studio.
    • Die AdventureWorksDW-Datenbank. Diese Datenbank ist im Lieferumfang von SQL Server 2005 enthalten und auch auf der SQL Server Developer-Website verfügbar. Weitere Informationen finden Sie unter Ausführen des Setups zum Installieren der Beispieldatenbanken und Beispiele für AdventureWorks.
    • Notification Services-Beispiele. Diese Beispiele sind in SQL Server 2005 enthalten. Sie können die aktuelle Version der Beispiele von der SQL Server Developer-Website downloaden.
    • .NET Framework SDK 2.0 oder Microsoft Visual Studio 2005. Das .NET Framework SDK ist kostenlos erhältlich. Siehe Installieren des .NET Framework SDK.

Erstellen des Beispiels

Zum Erstellen des Beispiels müssen Sie die folgenden Schritte durchführen:

  • Stellen Sie die SSAS-Datenbank bereit.
  • Erstellen Sie die Notification Services-Instanz.
  • Registrieren Sie die Instanz von Notification Services.
  • Erteilen Sie SQL Server- und Datenbankberechtigungen.

In den folgenden Verfahren wird gezeigt, wie jede dieser Aufgaben für das Profit Margin-Beispiel durchzuführen ist.

Schritt 1: Bereitstellen der Adventure Works DW-OLAP-Datenbank

  1. Öffnen Sie SQL Server Business Intelligence Development Studio, klicken Sie auf Datei, zeigen Sie auf Öffnen, und klicken Sie auf Projekt/Projektmappe.

  2. Wechseln Sie zu C:\Programme\Microsoft SQL Server\90\Tools\Samples\AdventureWorks Analysis Services Project, wählen Sie die Datei Adventure Works DW.dwproj aus, und klicken Sie auf Öffnen.

  3. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf Adventure Works DW, und wählen Sie Bereitstellen aus.

Schritt 2: Erstellen der Instanz von Notification Services

  1. Öffnen Sie SQL Server Management Studio, und stellen Sie eine Verbindung zu einer Instanz von SQL Server her.

  2. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf den Ordner Notification Services, und wählen Sie dann Neue Notification Services-Instanz aus.

  3. Klicken Sie im Dialogfeld Neue Notification Services-Instanz auf Durchsuchen, und wählen Sie die Datei InstanceConfig.xml im Stammordner des Profit Margin-Beispiels aus.

  4. Geben Sie im Feld Parameter Werte für die drei Parameter ein:

    • SampleDirectory ist der Pfad zum Stammordner des Profit Margin-Beispiels. Der Standardpfad lautet C:\Programme\Microsoft SQL Server\90\Samples\Notification Services\ProfitMargin.
    • NotificationServicesHost ist der Name des lokalen Servers.
    • SQLServer ist der Name der SQL Server-Instanz.
  5. Aktivieren Sie das Kontrollkästchen Instanz nach dem Erstellen aktivieren.

  6. Klicken Sie auf OK..

  7. Wenn Notification Services das Erstellen der Instanz abgeschlossen hat, klicken Sie auf Schließen.

ms160923.note(de-de,SQL.90).gifHinweis:
Wenn Sie ein Notification Services-Beispiel mithilfe eines Kontos bereitstellen, das der Datenbankbesitzer oder ein Systemadministrator ist, müssen Sie dem Konto keine SQL Server-Berechtigungen erteilen. Das Erteilen dieser Berechtigungen kann zu einem Fehler führen, den Sie ignorieren können. Wenn Sie Ihre eigenen Anwendungen bereitstellen, sollten Sie Konten mit niedrigeren Privilegien verwenden, um die Sicherheit zu verbessern.

Schritt 3: Registrieren der Instanz von Notification Services

  1. Öffnen Sie in SQL Server Management Studio den Knoten Notification Services, klicken Sie mit der rechten Maustaste auf ProfitMarginInstance, zeigen Sie auf Tasks, und wählen Sie dann Registrieren aus.

  2. Aktivieren Sie im Dialogfeld Registrieren das Kontrollkästchen Windows-Dienst erstellen.

    Der Windows-Dienst führt die Instanz von Notification Services auf diesem Computer aus.

  3. Geben Sie unter Dienstanmeldung ein Windows-Konto und -Kennwort ein. Dies ist das Windows-Konto, unter dem der Dienst ausgeführt wird. Falls Sie mithilfe der Windows-Authentifizierung auf SQL Server zugreifen, verwendet der Windows-Dienst dieses Konto auch zum Herstellen der Verbindung mit SQL Server.

  4. Wenn Sie für den Zugriff auf SQL Server die SQL Server-Authentifizierung verwenden müssen, wählen Sie SQL Server-Authentifizierung unter Authentifizierung aus, und geben Sie dann einen Anmeldenamen und ein Kennwort für SQL Server ein.

    Es wird empfohlen, die Windows-Authentifizierung zu verwenden.

  5. Klicken Sie auf OK..

  6. Wenn Notification Services das Registrieren der Instanz abgeschlossen hat, klicken Sie auf Schließen.

Schritt 4: Erteilen der SQL Server- und Datenbankberechtigungen

  1. Erweitern Sie im Objekt-Explorer den Knoten Sicherheit.

  2. Falls Sie ein neues Datenbankanmeldekonto für den Windows-Dienst erstellen müssen, klicken Sie mit der rechten Maustaste auf Anmeldungen, wählen Sie Neue Anmeldung aus, und erstellen Sie das Anmeldekonto:

    • Um die Windows-Authentifizierung zu verwenden, wählen Sie Windows-Authentifizierung aus, und geben Sie dasselbe Windows-Konto ein, das Sie auch beim Registrieren der Instanz angegeben haben.
    • Wenn Sie die SQL Server-Authentifizierung verwenden müssen, wählen Sie SQL Server-Authentifizierung aus, und geben Sie denselben SQL Server-Anmeldenamen und dasselbe Kennwort ein, den bzw. das Sie beim Registrieren der Instanz angegeben haben.
  3. Falls der vom Windows-Dienst verwendete Anmeldename bereits über Zugriff auf SQL Server verfügt, klicken Sie mit der rechten Maustaste auf den Anmeldenamen, und wählen Sie Eigenschaften aus.

  4. Wählen Sie im linken Bereich des Dialogfeldes Anmeldung die Option Benutzerzuordnung aus.

  5. Erteilen Sie Berechtigungen für die ProfitMarginInstanceNSMain-Datenbank:

    1. Aktivieren Sie im Feld Benutzer, die dieser Anmeldung zugeordnet sind das Kontrollkästchen neben der ProfitMarginInstanceNSMain-Datenbank.
    2. Wählen Sie NSRunService im Feld Mitgliedschaft in Datenbankrolle für: ProfitMarginInstanceNSMain aus.
  6. Erteilen Sie Berechtigungen für die ProfitMarginInstanceProfitMargin-Datenbank:

    1. Aktivieren Sie im Feld Benutzer, die dieser Anmeldung zugeordnet sind das Kontrollkästchen neben der ProfitMarginInstanceProfitMargin-Datenbank.
    2. Wählen Sie NSRunService im Feld Mitgliedschaft in Datenbankrolle für: ProfitMarginInstanceProfitMargin aus.
  7. Klicken Sie auf OK, um die SQL Server-Berechtigungen anzuwenden.

  8. Erteilen Sie Berechtigungen für die Adventure Works DW-Datenbank:

    1. Stellen Sie in SQL Server Management Studio eine Verbindung mit SSAS her.
    2. Erweitern Sie den Ordner SSAS-Datenbank, und erweitern Sie dann Adventure Works DW.
    3. Klicken Sie mit der rechten Maustaste auf Rollen, und wählen Sie Neue Rolle aus.
    4. Geben Sie ProfitMarginNS im Feld Rollenname ein.
    5. Klicken Sie im linken Fensterbereich auf Mitgliedschaft, und fügen Sie das Konto hinzu, das zum Ausführen des Notification Services-Windows-Dienstes für dieses Beispiel verwendet wird.
    6. Wählen Sie im linken Fensterbereich Cubes aus.
    7. Klicken Sie für den AdventureWorks-Cube auf das Feld Zugriff, und wählen Sie Lesen aus.
    8. Klicken Sie auf OK, um die Cubeberechtigungen anzuwenden.
  9. Konfigurieren Sie die Sicherheit für den Ordner Events:

    1. Navigieren Sie im Windows-Explorer zum Ordner Events des Profit Margin-Beispiels.
    2. Klicken Sie mit der rechten Maustaste auf den Ordner Events, wählen Sie Freigabe und Sicherheit aus, und wählen Sie dann die Registerkarte Sicherheit aus.
    3. Klicken Sie auf Hinzufügen, und fügen Sie das vom Windows-Dienst verwendete Konto hinzu.
    4. Wählen Sie im Feld Gruppen- oder Benutzernamen das soeben hinzugefügte Konto aus.
    5. Wählen Sie im Feld Berechtigungen für die Berechtigungen Lesen und Ändern aus.
    6. Klicken Sie auf OK, um die Änderungen anzuwenden.
  10. Konfigurieren Sie die Sicherheit für den Ordner Notifications:

    1. Suchen Sie den Ordner Notifications des Profit Margin-Beispiels.
    2. Klicken Sie mit der rechten Maustaste auf den Ordner Notifications, wählen Sie Freigabe und Sicherheit aus, und klicken Sie dann auf die Registerkarte Sicherheit.
    3. Klicken Sie auf Hinzufügen, und fügen Sie das vom Windows-Dienst verwendete Konto hinzu.
    4. Wählen Sie im Feld Gruppen- oder Benutzernamen das soeben hinzugefügte Konto aus.
    5. Wählen Sie im Feld Berechtigungen für die Berechtigung Schreiben aus.
    6. Klicken Sie auf OK, um die Änderungen anzuwenden.

Generieren einer Schlüsseldatei mit starkem Namen

Generieren Sie die Schlüsseldatei mithilfe der folgenden Anweisungen, falls Sie noch keine Schlüsseldatei mit starkem Namen erstellt haben.

So generieren Sie eine Schlüsseldatei mit starkem Namen

  1. Öffnen Sie eine Microsoft Visual Studio 2005-Eingabeaufforderung. Klicken Sie auf Start, zeigen Sie auf Alle Programme und danach auf Microsoft .NET Framework SDK 2.0, und klicken Sie anschließend auf SDK-Eingabeaufforderung.

    – oder –

    Öffnen Sie eine Microsoft .NET Framework-Eingabeaufforderung. Klicken Sie auf Start, zeigen Sie auf Alle Programme und dann auf Microsoft .NET Framework SDK 2.0, und klicken Sie anschließend auf SDK-Eingabeaufforderung.

  2. Wechseln Sie an der Eingabeaufforderung mit dem Befehl CD (Verzeichnis wechseln) im Eingabeaufforderungsfenster vom aktuellen Verzeichnis zu dem Ordner, in dem die Beispiele installiert sind.

    ms160923.note(de-de,SQL.90).gifHinweis:
    Klicken Sie auf Start, zeigen Sie auf Alle Programme, Microsoft SQL Server und auf Dokumentation und Lernprogramme, und klicken Sie dann auf Beispielordner, um den Ordner zu ermitteln, in dem sich die Beispiele befinden. Wenn das Standardverzeichnis verwendet wurde, befinden sich die Beispiele im Verzeichnis <Systemlaufwerk>:\Programme\Microsoft SQL Server\100\Samples.
  3. Führen Sie an der Eingabeaufforderung den folgenden Befehl zum Generieren der Schlüsseldatei aus:

    sn -k SampleKey.snk

    ms160923.note(de-de,SQL.90).gifWichtig:
    Weitere Informationen zum Schlüsselpaar mit starkem Namen finden Sie unter "Security Briefs: Starke Namen und Sicherheit im .NET Framework" unter ".NET-Entwicklung" auf der MSDN-Website.

Ausführen des Beispiels

Um dieses Beispiel auszuführen, gehen Sie wie folgt vor:

  • Starten der Instanz
  • Hinzufügen von Abonnenten und Abonnements
  • Hinzufügen eines Ereignisses zum SSAS-Data Warehouse

In den folgenden Verfahren wird gezeigt, wie Sie diese Aufgaben ausführen und die resultierenden Benachrichtigungen anzeigen können.

Schritt 1: Starten der Instanz

  1. Öffnen Sie im Objekt-Explorer den Ordner Notification Services.

  2. Klicken Sie mit der rechten Maustaste auf ProfitMarginInstance, und klicken Sie dann auf Starten.

Schritt 2: Hinzufügen von Abonnenten und Abonnements

  1. Erstellen der ProfitMargin- oder ProfitMargin_VB-Visual Studio-Projektmappe

    Wenn Sie mit dem .NET Framework SDK arbeiten, führen Sie die folgenden Schritte aus:

    1. Zeigen Sie im Menü Start auf Alle Programme und dann auf Microsoft .NET Framework SDK v2.0, und klicken Sie dann auf SDK-Eingabeaufforderung.
    2. Suchen Sie den Stammordner des Profit Margin-Beispiels. Geben Sie den folgenden Befehl für den Standardspeicherort ein:
      cd \Programme\Microsoft SQL Server\90\Samples\Notification Services\ProfitMargin
    3. Geben Sie Folgendes ein, um die Projektmappe zu erstellen
      [C#]
      msbuild ProfitMargin.sln
      [Visual Basic]
      msbuild ProfitMargin_VB.sln

    Falls Sie Visual Studio 2005 verwenden, führen Sie die folgenden Schritte aus:

    1. Öffnen Sie die gewünschte Projektmappendatei (ProfitMargin.sln oder ProfitMargin_VB.sln).
    2. Drücken Sie F6, um die Projektmappe zu erstellen.
  2. Führen Sie AddSubscribers.exe aus.

    Der Standardspeicherort für diese Datei ist C:\Programme\Microsoft SQL Server\90\Samples\Notification Services\ProfitMargin\AddSubscribers\language\AddSubscribers\bin\Debug.

  3. Führen Sie AddSubscriptions.exe aus.

    C:\Programme\Microsoft SQL Server\90\Samples\Notification Services\ProfitMargin\AddSubscriptions\language\AddSubscriptions\bin\Debug.

ms160923.note(de-de,SQL.90).gifHinweis:
Für Produktionsanwendungen, oder wenn Sie diese Anwendung unter einem eingeschränkten Konto ausführen, müssen Sie der NSSubscriberAdmin-Datenbankrolle in der Instanz- und der Anwendungsdatenbank die SQL Server-Anmeldung der Anwendung hinzufügen.

Schritt 3: Hinzufügen eines Ereignisses zum SQL Server Analysis Services-Data Warehouse

  1. Öffnen Sie ein Fenster Neue SQL Server-Abfrage in SQL Server Management Studio.

  2. Öffnen Sie die Datei TriggerEvent.sql im Ordner ProfitMargin/SQL Scripts, um dem AdventureWorks-Data Warehouse Daten hinzuzufügen. Diese Daten generieren ein Ereignis.

    ms160923.note(de-de,SQL.90).gifHinweis:
    Wenn Sie dieses Skript erneut ausführen, müssen Sie die SalesOrderNumber ändern, indem Sie den SELECT @SalesOrderNumber-Zeichenwert ändern, um eine neue Bestellung hinzuzufügen.
  3. Bereiten Sie den Cube erneut auf:

    1. Klicken Sie im Objekt-Explorer von SQL Server Management Studio auf Verbindung, und wählen Sie dann Analysis-Server aus.
    2. Geben Sie im Dialogfeld Verbindung mit Server herstellen im Feld Servername den Namen des Servers ein, der den AdventureWorksDW-Cube hostet, und klicken Sie dann auf Verbinden.
    3. Öffnen Sie im Objekt-Explorer den Knoten Analysis-Server, öffnen Sie den Ordner Datenbanken, und navigieren Sie zu Adventure Works DW/Cubes/Adventure Works/Measure Groups/Reseller Sales.
    4. Klicken Sie mit der rechten Maustaste auf Reseller Sales, und wählen Sie dann Verarbeiten aus.
    5. Klicken Sie auf OK, um den Reseller Sales-Cube erneut zu verarbeiten.

Schritt 4: Anzeigen der Benachrichtigungen

  1. Lassen Sie Notification Services ungefähr eine Minute Zeit, um die Benachrichtigungen zu generieren.

  2. Navigieren Sie im Windows-Explorer zum Ordner Notifications des Profit Margin-Beispiels. Dort sollten Sie eine Datei mit dem Namen FileNotifications.txt vorfinden, in der die Benachrichtigungen enthalten sind.

  3. Navigieren Sie zu dem Ordner, in dem E-Mail-Nachrichten abgelegt werden. Dieser befindet sich in der Regel in einem der Ordner unter C:\Inetpub\mailroot. Je nach SMTP-Serverstatus befinden sich die Benachrichtigungen entweder im Abholordner oder im Warteschlangenordner. Wenn der SMTP-Dienst ausgeführt wird, werden die Nachrichten möglicherweise in den Ordner Badmail verschoben.

Entfernen des Beispiels

Mithilfe des folgenden Verfahrens können Sie das Profit Margin-Beispiel entfernen.

So entfernen Sie das Profit Margin-Beispiel

  1. Öffnen Sie im Objekt-Explorer-Bereich den Ordner Notification Services.

  2. Klicken Sie mit der rechten Maustaste auf ProfitMarginInstance, und wählen Sie dann Beenden aus.

  3. Klicken Sie mit der rechten Maustaste auf ProfitMarginInstance, zeigen Sie auf Tasks, und wählen Sie dann Registrierung aufheben aus.

  4. Klicken Sie mit der rechten Maustaste auf ProfitMarginInstance, zeigen Sie auf Tasks, und wählen Sie dann Löschen aus.

Siehe auch

Andere Ressourcen

Beispiele für SQL Server Notification Services
Sichern von Notification Services

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

14. April 2006

Neuer Inhalt:
  • Ein Hinweis zum Ausführen von Beispielen mithilfe von Datenbankbesitzer-Berechtigungen wurde hinzugefügt.
  • Ein Hinweis wurde hinzugefügt, dass Business Intelligence Development Studio nicht auf Itanium-basierten Servern installiert ist.

05. Dezember 2005

Geänderter Inhalt:
  • Die Anweisungen zum Generieren einer Schlüsseldatei wurden geändert, einschließlich des Namens und Speicherortes der Schlüsseldatei.
  • Anweisungen zum Erteilen von Berechtigungen für einen AdventureWorks DW-Cube wurden hinzugefügt.
  • Anweisungen zum Bereitstellen des Cubes wurden aktualisiert.