Freigeben über


Definieren eines SQL Server-Ereignisanbieters

Wenn Sie den Microsoft SQL Server-Ereignisanbieter verwenden möchten, müssen Sie einen gehosteten Ereignisanbieter in der Anwendungsdefinition definieren. In diesem Thema sind die Eigenschaftswerte und Argumente dokumentiert, die vom SQL Server-Ereignisanbieter benötigt werden.

ms166468.note(de-de,SQL.90).gifHinweis:
Vom SQL Server-Ereignisanbieter wird eine Datenbank abgefragt. Das Konto, das vom Windows-Dienst oder der Anwendung verwendet wird, die den Ereignisanbieter ausführt, muss über die Berechtigung zum Herstellen einer Verbindung mit der Datenbank und über SELECT-Berechtigungen in der Datenbank verfügen.

Eigenschaften

Verwenden Sie die folgenden Richtlinien beim Definieren der Eigenschaften des SQL Server-Ereignisanbieters.

  • ProviderName (erforderlich) muss ein eindeutiger Name innerhalb der Anwendung sein.
  • ClassName (erforderlich) muss SQLProvider sein.
  • Verwenden Sie nicht die AssemblyName-Eigenschaft. Von Notification Services wird in der Microsoft.SqlServer.NotificationServices.dll-Assembly nach Informationen zu Standardereignisprovidern gesucht.
  • SystemName (erforderlich) ist in der Regel der Name des Computers, auf dem dieser gehostete Ereignisanbieter ausgeführt wird. Weitere Informationen finden Sie unter Definieren von gehosteten Ereignisanbietern.
  • Definieren Sie einen Timeoutwert (optional). Der Standardtimeoutwert ist 5 Minuten.
  • Definieren Sie einen Zeitplan (erforderlich). Weitere Informationen finden Sie unter Definieren von gehosteten Ereignisanbietern.

Argumente

Der SQL Server-Ereignisanbieter besitzt drei benannte Argumente, die als Initialisierungsparameter verwendet werden. Sie können sie in beliebiger Reihenfolge angeben:

  • EventsQuery (erforderlich) sammelt Ereignisdaten als Wert. Als einzige Einschränkung gilt für diese Abfrage, dass sie Spalten zurückgeben muss, die den für die Ereignisklasse definierten Ereignisfeldern zugeordnet sind. Für alle Ereignisfelder müssen Werte zurückgegeben werden.
    Als Wert für dieses Argument kann eine Abfrage oder eine gespeicherte Prozedur verwendet werden. Der Wert zum Verwenden einer gespeicherten Prozedur ist EXECstored_procedure_name.
    Der SQL Server-Ereignisanbieter wird für die lokale SQL Server-Instanz ausgeführt. Wenn Sie eine Tabelle auf einem Remoteserver in der Abfrage verwenden möchten, erstellen Sie einen Verbindungsserver. Das ermöglicht das Verwenden von vierteiligen Namen (server.database.schema.object) für den Zugriff auf Objekte auf dem Remoteserver. Weitere Informationen finden Sie unter Konfigurieren von Verbindungsservern für die Delegierung.
  • Von PostQuery (optional) wird die Verarbeitung ausgeführt, die erforderlich ist, nachdem Ereignisdaten gesammelt wurden. Als Wert für dieses Argument kann eine Abfrage oder eine gespeicherte Prozedur verwendet werden. Der Wert zur Verwendung einer gespeicherten Prozedur ist EXECstored_procedure_name.
  • Von EventClassName (erforderlich) wird der Name der Ereignisklasse angegeben, für die dieser Ereignisanbieter Ereignisse übermittelt.

Weitere Informationen zum Definieren eines gehosteten Ereignisanbieters finden Sie unter Definieren von gehosteten Ereignisanbietern.

Beispiel: SQL Server-Ereignisanbieterdefinition

Im folgenden Codebeispiel wird veranschaulicht, wie ein SQL Server-Ereignisanbieter mit Namen SQLStock in einer Anwendungsdefinitionsdatei (Application Definition File, ADF) definiert wird:

<Providers>
    <HostedProvider>
        <ProviderName>SQLStock</ProviderName>
        <ClassName>SQLProvider</ClassName>
        <SystemName>SLEIPNIR</SystemName>
        <Schedule>
            <Interval>P0DT00H00M60S</Interval>
        </Schedule>
        <ProviderTimeout>PT4M</ProviderTimeout>
        <Arguments>
            <Argument>
                <Name>EventsQuery</Name>
                <Value>
                SELECT StockSymbol, StockPrice
                FROM StockTable
                </Value>
            </Argument>
            <Argument>
                <Name>EventClassName</Name>
                <Value>StockEvents</Value>
            </Argument>
        </Arguments>
    </HostedProvider>
</Providers>

Siehe auch

Konzepte

Definieren eines SQL Server-Ereignisanbieters
Sammeln und Filtern von Daten für den SQL Server-Ereignisanbieter

Andere Ressourcen

Definieren von Ereignisanbietern
Standardereignisanbieter

Hilfe und Informationen

Informationsquellen für SQL Server 2005