Definizione di un provider di eventi SQL Server
Per utilizzare il provider di eventi Microsoft SQL Server, è necessario definire un provider di eventi hosted nella definizione dell'applicazione. Questo argomento illustra i valori della proprietà e gli argomenti necessari per il provider di eventi SQL Server.
[!NOTA] Il provider di eventi SQL Server esegue una query sul database. L'account utilizzato dal servizio Windows o dall'applicazione che esegue il provider di eventi deve essere in grado di connettersi al database e deve disporre di autorizzazioni SELECT sul database.
Proprietà
Utilizzare le linee guida seguenti nella definizione delle proprietà del provider di eventi SQL Server.
- ProviderName (obbligatorio) deve essere un nome univoco all'interno dell'applicazione.
- ClassName (obbligatorio) deve essere SQLProvider.
- Non utilizzare la proprietà AssemblyName. Notification Services cerca nell'assembly Microsoft.SqlServer.NotificationServices.dll le informazioni relative al provider di eventi standard.
- SystemName (obbligatorio) generalmente è il nome del computer sul quale verrà eseguito il provider di eventi hosted. Per ulteriori informazioni, vedere Definizione di provider di eventi hosted.
- Definire un valore di timeout (facoltativo). Il valore di timeout predefinito è cinque minuti.
- Definire una pianificazione (obbligatorio). Per ulteriori informazioni, vedere Definizione di provider di eventi hosted.
Argomenti
Il provider di eventi SQL Server dispone di tre argomenti denominati utilizzati come parametri di inizializzazione. È possibile specificarli in qualsiasi ordine:
- EventsQuery (obbligatorio) raccoglie i dati degli eventi come proprio valore. L'unica limitazione sulla query consiste nel fatto che deve restituire le colonne di cui eseguire il mapping ai campi evento definiti per la classe di evento. È necessario che tutti i valori dei campi evento siano restituiti.
È possibile utilizzare una query o una stored procedure come valore dell'argomento. Per utilizzare una stored procedure, il valore è EXECstored_procedure_name.
Il provider di eventi SQL Server viene eseguito con l'istanza di SQL Server locale. Se si desidera utilizzare una tabella su un server remoto nella query, creare un server collegato. Questo consente di utilizzare nomi in quattro parti (server.database.schema.object) per accedere agli oggetti sul server remoto. Per ulteriori informazioni, vedere Configurazione di server collegati per la delega. - PostQuery (facoltativo) esegue l'eventuale elaborazione necessaria dopo la raccolta dei dati degli eventi. È possibile utilizzare una query o una stored procedure come valore dell'argomento. Per utilizzare una stored procedure, il valore è EXECstored_procedure_name.
- EventClassName (obbligatorio) specifica il nome della classe di evento per la quale il provider di eventi invia gli eventi.
Per ulteriori informazioni sulla definizione di un provider di eventi hosted, vedere Definizione di provider di eventi hosted.
Esempio: Definizione di provider di eventi di SQL Server
Nell'esempio di codice seguente viene illustrato come definire un provider di eventi SQL Server denominato SQLStock nel file di definizione dell'applicazione (ADF):
<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>
Vedere anche
Concetti
Definizione di un provider di eventi SQL Server
Raccolta e filtraggio dei dati per il provider di eventi di SQL Server
Altre risorse
Definizione di provider di eventi
Provider di eventi standard