Lektion 4: Hinzufügen einer Benachrichtigungsklasse

In dieser Lektion fügen Sie eine Benachrichtigungsklasse zur Anwendungsdefinitionsdatei (Application Definition File, ADF) hinzu und aktualisieren dann die Instanz von Notification Services, um die Änderungen auf die Anwendungsdatenbank anzuwenden. Anschließend können Sie die an der Anwendungsdatenbank vorgenommenen Änderungen überprüfen.

Grundlagen zur Benachrichtigungsklasse

Eine Benachrichtigungsklasse repräsentiert einen Benachrichtigungstyp, der von Ihrer Notification Services-Anwendung produziert wird. Wenn Sie eine Benachrichtigungsklasse definieren, definieren Sie die folgenden Informationen:

  • Felder für die Benachrichtigungsdaten, einschließlich der Datentypen. Diese Felder definieren die Daten, die Sie an Abonnenten versenden.
  • Informationen zum Inhaltsformatierer, die zum Formatieren von Benachrichtigungen für die Benachrichtigungsklasse verwendet werden. Sie können den systemeigenen XSLT-Inhaltsformatierer (Extensible Stylesheet Language Transformations) oder einen benutzerdefinierten Inhaltsformatierer verwenden.
  • Informationen dazu, wie Übermittlungsprotokolle zur Übermittlung von Benachrichtigungen verwendet werden.

Sie können auch optionale Einstellungen wie Digest- oder Multicastübermittlung und das Ablaufalter für Benachrichtigungen definieren. Weitere Informationen zu Benachrichtigungsklassen finden Sie unter Definieren von Benachrichtigungsklassen.

Wenn Sie die Anwendung erstellen oder aktualisieren, wird von Notification Services die Benachrichtigungsklassendefinition zum Erstellen von Tabellen, Sichten, Indizes und gespeicherten Prozeduren für das Speichern und Verwalten von Benachrichtigungsdaten verwendet.

Wenn Sie die Benachrichtigungstabelle und die Sicht erstellen, werden von Notification Services die folgenden Felder hinzugefügt: SubscriberId, DeviceName und SubscriberLocale. Diese Felder sind für Notification Services erforderlich und werden in späteren Lektionen beschrieben.

Die WeatherAlerts-Benachrichtigungsklasse

Für diese Anwendung fügen Sie eine WeatherAlerts-Benachrichtigungsklasse zur ADF hinzu. Diese Benachrichtigungsklasse weist fünf Benachrichtigungsfelder, einen XSLT-Inhaltsformatierer und ein File-Übermittlungsprotokoll auf.

  • Die Benachrichtigungsfelder sind City, Date, Low, High und Forecast. In dieser Anwendung stimmen die Benachrichtigungsklassenfelder mit der Ereignisklassenfeldern überein, dies ist aber nicht erforderlich.
  • Wenn die Benachrichtigungen von Notification Services verteilt werden, werden die unformatierten Daten in eine benutzerdefinierte Nachricht mithilfe des systemeigenen XSLT-Inhaltsformatierers formatiert. Der XSLT-Dateiname lautet WeatherTransform.xslt, und der Dateispeicherort wird durch den %_AppPath_%-Parameter definiert. Der Wert für diesen Parameter wird in der ICF zur Verfügung gestellt.
    Weitere Informationen zum XSLT-Inhaltsformatierer finden Sie unter XSLT-Inhaltsformatierer.
  • Nach dem Formatieren werden von Notification Services die Benachrichtigungen an eine Datei mithilfe des systemeigenen File-Übertragungsprotokolls übermittelt. Der Dateiname und der Speicherort werden im DeliveryChannels-Element der ICF definiert.
    Protokolldefinitionen können Felddefinitionen für Nachrichtenheader wie diejenigen enthalten, die von SMTP vorausgesetzt werden, sowie Protokollausführungseinstellungen zum Konfigurieren von Einstellungen zum Wiederholen, für Fehler und zur Zeitüberschreitung. Das Dateiprotokoll verwendet diese Einstellungen nicht, aber die meisten anderen Protokolle verwenden Headerfelder.
    ms170473.note(de-de,SQL.90).gifHinweis:
    Das File-Übermittlungsprotokoll ist in erster Linie für das Prototyping und Testen gedacht.

Hinzufügen der Benachrichtigungsklassen-XML zur ADF

Der XML-Code in diesem Abschnitt definiert die Benachrichtigungsklasse. Untersuchen Sie den XML-Code, und folgen Sie dann den Anweisungen zum Kopieren des XML-Codes in die ADF.

Hinzufügen der Benachrichtigungsklassen-XML zur ADF

  1. Klicken Sie auf Code kopieren, um den XML-Code in die Windows-Zwischenablage zu kopieren.

    <!-- Notification Classes -->
    <NotificationClasses>
      <NotificationClass>
        <NotificationClassName>
          WeatherAlerts</NotificationClassName>
        <Schema>
          <Fields>
            <Field>
              <FieldName>City</FieldName>
              <FieldType>nvarchar(35)</FieldType>
            </Field>
            <Field>
              <FieldName>Date</FieldName>
              <FieldType>datetime</FieldType>
            </Field>
            <Field>
              <FieldName>Low</FieldName>
              <FieldType>float</FieldType>
            </Field>
            <Field>
              <FieldName>High</FieldName>
              <FieldType>float</FieldType>
            </Field>
            <Field>
              <FieldName>Forecast</FieldName>
              <FieldType>nvarchar(3500)</FieldType>
            </Field>
          </Fields>
        </Schema>
        <ContentFormatter>
          <ClassName>XsltFormatter</ClassName>
          <Arguments>
            <Argument>
              <Name>XsltBaseDirectoryPath</Name>
              <Value>%_AppPath_%</Value>
            </Argument>
            <Argument>
              <Name>XsltFileName</Name>
              <Value>WeatherTransform.xslt</Value>
            </Argument>
          </Arguments>
        </ContentFormatter>
        <Protocols>
          <Protocol>
            <ProtocolName>File</ProtocolName>
          </Protocol>
        </Protocols>
      </NotificationClass>
    </NotificationClasses>
    
  2. Öffnen Sie im Projektmappen-Explorer die Datei WeatherADF.xml.

  3. Ersetzen Sie den folgenden XML-Code durch den gerade von Ihnen kopierten XML-Code.

    <!-- Notification Classes -->

    <NotificationClasses></NotificationClasses>

  4. Wählen Sie im Menü Datei den Eintrag WeatherADF.xml speichern aus.

Aktualisieren der Instanz von Notification Services

Nach dem Ändern der ADF aktualisieren Sie die Instanz von Notification Services, um die Benachrichtigungsklassenobjekte der Anwendungsdatenbank hinzuzufügen.

So aktualisieren Sie die Instanz von Notification Services

  1. Erweitern Sie im Objekt-Explorer Notification Services.

  2. Klicken Sie mit der rechten Maustaste auf Lernprogramm, zeigen Sie auf Tasks, und klicken Sie dann auf Aktualisieren.

  3. Klicken Sie im Dialogfeld Instanz aktualisieren auf Durchsuchen, suchen Sie die Datei TutorialICF.xml, und klicken Sie dann auf Öffnen.

  4. Überprüfen Sie im Bereich Parameter die Werte für die Parameter. Verwenden Sie die gleichen Werte wie beim Erstellen der Instanz.

  5. Klicken Sie auf OK.

  6. Überprüfen Sie das Dialogfeld Notification Services - Updatezusammenfassung, und klicken Sie dann auf Aktualisieren.

  7. Klicken Sie nach dem Abschluss der Updateaktionen auf Schließen.

Überprüfen der Datenbankänderungen

Wenn Sie die Instanz aktualisieren, werden von Notification Services Tabellen, Sichten und gespeicherte Prozeduren für die Benachrichtigungsklasse in der TutorialWeather-Anwendungsdatenbank hinzugefügt.

  • In der dbo.WeatherAlerts-Sicht werden von den Benachrichtigungsgenerierungsregeln Benachrichtigungen eingefügt.
  • Die dbo.NSWeatherAlertsFileNotifications-Sicht enthält Benachrichtigungen von der WeatherAlerts-Benachrichtigungsklasse, die mithilfe des File-Übermittlungsprotokolls versendet wurden. Diese Sicht dient nur zur internen Verwendung.
  • Die dbo.NSWeatherAlertsNotificationDistribution-Sicht kombiniert Daten aus mehreren internen Notification Services-Tabellen, um Informationen zu Benachrichtigungsverteilungsversuchen zur Verfügung zu stellen.
  • Die dbo.NSWeatherAlertsNotifications-Tabelle ist die zugrunde liegende Tabelle, die Benachrichtigungsdaten für die Benachrichtigungsklasse enthält. Benachrichtigungsdaten verbleiben in dieser Tabelle, bis sie vom Vacuumer- Datenentfernungsprozess entfernt werden. Diese Tabelle dient nur zur internen Verwendung.
    ms170473.Caution(de-de,SQL.90).gifVorsicht:
    Ändern Sie keine Daten direkt in den Benachrichtigungstabellen und -sichten.

Sie können den Objekt-Explorer zum Untersuchen dieser Objekte in der TutorialWeather-Datenbank verwenden. Die Tabellen und Sichten für die interne Verwendung enthalten nur Daten, die für interne Operationen verwendet werden. Sie müssen diese Daten nicht verstehen.

Möglicherweise müssen Sie den Objekt-Explorer aktualisieren, um die neuen Objekte anzeigen zu können.

Nächste Lektion

Lektion 5: Hinzufügen einer Abonnementklasse

Siehe auch

Konzepte

Notification Services-Lernprogramm

Andere Ressourcen

Definieren von Ereignisklassen
Erstellen von Benachrichtigungslösungen
Einführung in SQL Server Notification Services

Hilfe und Informationen

Informationsquellen für SQL Server 2005