Esempio di margine di profitto
Data aggiornamento: 17 luglio 2006
L'esempio Profit Margin è un'applicazione di Microsoft SQL Server Notification Services guidata dagli eventi che genera notifiche relative ai margini di profitto relativi ai singoli dipendenti e invia tali dati ai sottoscrittori. Questo esempio utilizza il provider di eventi di SSAS per eseguire query su un database di SSAS e restituire i risultati come eventi all'applicazione di Notification Services.
[!NOTA] Non è possibile eseguire questo esempio su server con processore Itanium poiché Business Intelligence Development Studio non è installato.
Scenario
Una società dispone di un database di SSAS utilizzato per analizzare i risultati delle vendite. I dipendenti del reparto vendite possono sottoscrivere l'applicazione Profit Margin per ricevere una notifica quando i relativi rivenditori superano l'obiettivo di margine di profitto prefissato.
In base alla pianificazione specificata nell'applicazione, il provider di eventi di SSAS esegue una query MDX per raccogliere gli eventi. Quando viene eseguito il generatore, questi eventi vengono aggiunti alla cronologia. Il generatore produce quindi notifiche dalla cronologia degli eventi quando vengono soddisfatte le condizioni seguenti:
- Il nome del sottoscrittore corrisponde al nome del dipendente nell'evento.
- Il margine di profitto lordo del rivenditore è superiore all'obiettivo di margine di profitto lordo del rivenditore.
La notifica risultante viene formattata mediante una trasformazione XSL e quindi inviata a un file.
Linguaggi
XML, XSD, XSLT e Microsoft Visual C# o Microsoft Visual Basic.
Funzionalità
Nell'esempio di SSAS vengono utilizzate le funzionalità seguenti di Notification Services:
Area di applicazione | Funzionalità |
---|---|
Classe di evento |
Coda degli eventi di base e una cronologia. |
Classe di sottoscrizione |
Una classe di sottoscrizione guidata dagli eventi. |
Classe di notifica |
Una classe di notifica, senza recapito digest o multicast. |
Provider di eventi |
Due provider di eventi di SSAS, uno statico e uno dinamico. |
Formattatori del contenuto |
Formattatore del contenuto XSLT. |
Protocolli di recapito |
Protocolli di recapito File e SMTP. |
Prerequisiti
Prima di eseguire l'esempio, verificare che siano installati i prodotti software seguenti:
- Microsoft SQL Server 2005, con i componenti seguenti:
- Motore di database.
- Notification Services.
- SSAS.
- SQL Server Management Studio.
- Business Intelligence Development Studio.
- Il database AdventureWorksDW, incluso in SQL Server 2005 e disponibile nel sito Web per gli sviluppatori di SQL Server. Per ulteriori informazioni, vedere Esecuzione del programma di installazione dei database di esempio AdventureWorks e degli esempi.
- Gli esempi di Notification Services, inclusi in SQL Server 2005. È possibile scaricare la versione più recente degli esempi dal sito Web per gli sviluppatori di SQL Server.
- .NET Framework SDK 2.0 o Microsoft Visual Studio 2005. .NET Framework SDK è disponibile gratuitamente. Vedere Installazione di .NET Framework SDK.
Generazione dell'esempio
Per generare l'esempio, è necessario eseguire le operazioni seguenti:
- Distribuire il database di SSAS.
- Creare l'istanza di Notification Services.
- Registrare l'istanza di Notification Services.
- Concedere le autorizzazioni per il database e SQL Server.
Di seguito è illustrato come eseguire queste operazioni per l'esempio Profit Margin.
Passaggio 1: distribuire il database OLAP Adventure Works DW
Aprire SQL Server Business Intelligence Development Studio, scegliere Apri dal menu File e quindi fare clic su Progetto/Soluzione.
Individuare la cartella C:\Programmi\Microsoft SQL Server\90\Tools\Samples\AdventureWorks Analysis Services Project, selezionare il file Adventure Works DW.dwproj e quindi fare clic su Apri.
In Esplora soluzioni fare clic con il pulsante destro del mouse su Adventure Works DW e scegliere Distribuisci.
Passaggio 2: creazione dell'istanza di Notification Services
Aprire SQL Server Management Studio e connettersi a un'istanza di SQL Server.
In Esplora oggetti fare clic con il pulsante destro del mouse sulla cartella Notification Services e scegliere Nuova istanza di Notification Services.
Nella finestra di dialogo Nuova istanza di Notification Services fare clic su Sfoglia e selezionare il file InstanceConfig.xml nella cartella principale dell'esempio Profit Margin.
In Parametri specificare i valori per i tre parametri:
- SampleDirectory è il percorso della cartella principale dell'esempio Profit Margin. Il percorso predefinito è C:\Programmi\Microsoft SQL Server\90\Samples\Notification Services\ProfitMargin.
- NotificationServicesHost è il nome del server locale.
- SQLServer è il nome dell'istanza di SQL Server.
Selezionare la casella di controllo Attiva istanza dopo la creazione.
Scegliere OK..
Al termine della creazione dell'istanza da parte di Notification Services, fare clic su Chiudi.
[!NOTA] Se si distribuisce un esempio di Notification Services utilizzando l'account del proprietario del database o di un amministratore del sistema, non sarà necessario concedere autorizzazioni per SQL Server a tale account. Se si concedono tali autorizzazioni verrà visualizzato un errore, che può essere ignorato. Quando si distribuiscono applicazioni personalizzate, per migliorare la protezione è consigliabile utilizzare account con privilegi inferiori.
Passaggio 3: registrazione dell'istanza di Notification Services
In SQL Server Management Studio aprire il nodo Notification Services, fare clic con il pulsante destro del mouse su ProfitMarginInstance, scegliere Attività e quindi Registra.
Nella finestra di dialogo Registra istanza selezionare la casella di controllo Crea servizio Windows.
Il servizio Windows esegue l'istanza di Notification Services sul computer in uso.
In Accesso al servizio immettere l'account e la password di Windows. Si tratta dell'account di Windows in cui viene eseguito il servizio. Se si utilizza l'autenticazione di Windows per accedere a SQL Server, il servizio Windows utilizza questo account per connettersi a SQL Server.
Per accedere a SQL Server è necessario utilizzare l'autenticazione di SQL Server. Selezionare Autenticazione di SQL Server in Autenticazione e quindi immettere un account di accesso a SQL Server e una password.
È consigliabile utilizzare l'autenticazione di Windows.
Scegliere OK..
Al termine della registrazione dell'istanza da parte di Notification Services, fare clic su Chiudi.
Passaggio 4: concessione delle autorizzazioni per SQL Server e per il database
In Esplora oggetti espandere il nodo Protezione.
Se è necessario creare un nuovo account di accesso al database per il servizio Windows, fare clic con il pulsante destro del mouse su Account di accesso, scegliere Nuovo account di accesso e quindi creare l'account:
- Per utilizzare l'autenticazione di Windows, selezionare Autenticazione di Windows e immettere lo stesso account di Windows specificato durante la registrazione dell'istanza.
- Se è necessario utilizzare l'autenticazione di SQL Server, selezionare Autenticazione di SQL Server e quindi immettere lo stesso account di accesso e la stessa password di SQL Server specificati durante la registrazione dell'istanza.
Se l'account di accesso utilizzato dal servizio Windows dispone già dell'accesso a SQL Server, fare clic con il pulsante destro del mouse e scegliere Proprietà.
Nel riquadro sinistro della finestra di dialogo Proprietà account di accesso selezionare Mapping utenti.
Concedere le autorizzazioni per il database ProfitMarginInstanceNSMain:
- In Utenti mappati all'account di accesso seguente selezionare la casella accanto al database ProfitMarginInstanceNSMain.
- In Appartenenza a ruoli del database per: ProfitMarginInstanceNSMain selezionare NSRunService.
Concedere le autorizzazioni per il database ProfitMarginInstanceProfitMargin:
- In Utenti mappati all'account di accesso seguente selezionare la casella accanto al database ProfitMarginInstanceProfitMargin.
- In Appartenenza a ruoli del database per: ProfitMarginInstanceProfitMargin selezionare NSRunService.
Fare clic su OK per concedere le autorizzazioni di SQL Server.
Concedere le autorizzazioni per il database Adventure Works DW:
- In SQL Server Management Studio connettersi a SSAS.
- Espandere la cartella Database di SSAS e quindi espandere Adventure Works DW.
- Fare clic con il pulsante destro del mouse su Ruoli e selezionare Nuovo ruolo.
- Nella casella Nome ruolo immettere ProfitMarginNS.
- Nel riquadro sinistro fare clic su Appartenenze e aggiungere l'account utilizzato per eseguire il servizio Windows di Notification Services di questo esempio.
- Nel riquadro sinistro selezionare Cubi.
- Per il cubo AdventureWorks, fare clic nel campo Accesso e selezionare Lettura.
- Fare clic su OK per applicare le autorizzazioni per il cubo.
Configurare la protezione per la cartella Events:
- In Esplora risorse passare alla cartella Events dell'esempio Profit Margin.
- Fare clic con il pulsante destro del mouse sulla cartella Events, scegliere Condivisione e protezione e quindi selezionare la scheda Protezione.
- Fare clic su Aggiungi e aggiungere l'account utilizzato dal servizio Windows.
- In Utenti e gruppi selezionare l'account aggiunto.
- In Autorizzazioni per selezionare le autorizzazioni Lettura e Modifica.
- Fare clic su OK per rendere effettive le modifiche.
Configurare la protezione per la cartella Notifications:
- Individuare la cartella Notifications dell'esempio Profit Margin.
- Fare clic con il pulsante destro del mouse sulla cartella Notifications, scegliere Condivisione e protezione e quindi selezionare la scheda Protezione.
- Fare clic su Aggiungi e aggiungere l'account utilizzato dal servizio Windows.
- In Utenti e gruppi selezionare l'account aggiunto.
- In Autorizzazioni per selezionare Scrittura.
- Fare clic su OK per rendere effettive le modifiche.
Generazione di un file di chiave con nome sicuro
Se non è stato ancora creato un file di chiave con nome sicuro, generare il file di chiave seguendo le istruzioni seguenti.
Per generare un file di chiave con nome sicuro
Aprire il prompt dei comandi di Microsoft Visual Studio 2005. Fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft .NET Framework SDK 2.0, quindi SDK Command Prompt.
-- oppure --
Aprire il prompt dei comandi di Microsoft .NET Framework. Fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft .NET Framework SDK 2.0, quindi SDK Command Prompt.
Utilizzare il comando CD (change directory) per passare dalla directory corrente della finestra del prompt dei comandi alla cartella in cui sono stati installati gli esempi.
[!NOTA] Per determinare la cartella in cui si trovano gli esempi, fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft SQL Server 2005, Documentazione ed esercitazioni, quindi Samples. Se è stato utilizzato il percorso di installazione predefinito, gli esempi si troveranno in <unità_sistema>:\Programmi\Microsoft SQL Server\100\Samples.
Al prompt dei comandi digitare il comando seguente per generare il file di chiave:
sn -k SampleKey.snk
Importante: Per ulteriori informazioni sulla coppia di chiavi con nome sicuro, vedere l'argomento relativo ai nomi sicuri e alla protezione in .NET Framework nel centro per sviluppatori di .NET su MSDN.
Esecuzione dell'esempio
Per eseguire questo esempio, procedere come segue:
- Avviare l'istanza.
- Aggiungere sottoscrittori e sottoscrizioni.
- Aggiungere un evento al data warehouse di SSAS.
Nelle procedure seguenti viene illustrato come eseguire tali operazioni e come visualizzare le notifiche risultanti.
Passaggio 1: avvio dell'istanza
In Esplora oggetti aprire la cartella Notification Services.
Fare clic con il pulsante destro del mouse su ProfitMarginInstance e scegliere Avvia.
Passaggio 2: aggiunta di sottoscrittori e sottoscrizioni
Generare la soluzione Visual Studio ProfitMargin o ProfitMargin_VB
Se si utilizza .NET Framework SDK, eseguire le operazioni seguenti:
- Fare clic sul pulsante Start, scegliere Tutti i programmi, Microsoft .NET Framework SDK v2.0 e quindi SDK Command Prompt.
- Passare alla cartella principale dell'esempio Profit Margin. Digitare il comando seguente per il percorso predefinito:
cd \Programmi\Microsoft SQL Server\90\Samples\Notification Services\ProfitMargin - Digitare la sintassi seguente per generare la soluzione:
[C#]
msbuild ProfitMargin.sln
[Visual Basic]
msbuild ProfitMargin_VB.sln
Se si utilizza Visual Studio 2005, eseguire le operazioni seguenti:
- Aprire il file della soluzione desiderato (ProfitMargin.sln o ProfitMargin_VB.sln).
- Premere F6 per generare la soluzione.
Eseguire AddSubscribers.exe.
Il percorso predefinito del file è C:\Programmi\Microsoft SQL Server\90\Samples\Notification Services\ProfitMargin\AddSubscribers\linguaggio\AddSubscribers\bin\Debug.
Eseguire AddSubscriptions.exe.
C:\Programmi\Microsoft SQL Server\90\Samples\Notification Services\ProfitMargin\AddSubscriptions\linguaggio\AddSubscriptions\bin\Debug.
[!NOTA] Per le applicazioni di produzione, o se si esegue l'applicazione con un account con limitazioni, aggiungere l'account di accesso di SQL Server dell'applicazione al ruolo del database NSSubscriberAdmin nei database dell'istanza e dell'applicazione.
Passaggio 3: aggiunta di un evento al data warehouse di Analysis Services
Aprire una nuova finestra dell'editor di query in SQL Server Management Studio.
Aprire il file TriggerEvent.sql nella cartella ProfitMargin/SQL Scripts per aggiungere dati al data warehouse AdventureWorks. Questi dati genereranno un evento.
[!NOTA] Se si esegue di nuovo lo script, è necessario modificare SalesOrderNumber cambiando il valore di tipo carattere di SELECT @SalesOrderNumber in modo da aggiungere un nuovo ordine di vendita.
Rielaborare il cubo:
- In Esplora oggetti di SQL Server Management Studio fare clic su Connetti e quindi su Analysis Server.
- Nella finestra di dialogo Connetti al server, nella casella Nome server immettere il nome del server che ospita il cubo AdventureWorksDW e quindi fare clic su Connetti.
- In Esplora oggetti espandere il nodo Analysis Server, aprire la cartella Database e quindi passare a Adventure Works DW/Cubi/Adventure Works/Gruppi di misure/Reseller Sales.
- Fare clic con il pulsante destro del mouse su Reseller Sales e scegliere Elabora.
- Fare clic su OK per rielaborare il cubo Reseller Sales.
Passaggio 4: visualizzazione delle notifiche
Attendere circa un minuto affinché Notification Services generi le notifiche.
In Esplora risorse passare alla cartella Notifications dell'esempio Profit Margin. La cartella contiene un file denominato FileNotifications.txt che include le notifiche.
Passare alla cartella in cui vengono spostati i messaggi di posta elettronica. Si tratta in genere di una delle cartelle in C:\Inetpub\mailroot. Le notifiche dovrebbero essere contenute nella cartella Pickup o nella cartella Queue, in base allo stato del server SMTP. Se il servizio SMTP è in esecuzione, i messaggi potrebbero essere spostati nella cartella Badmail.
Rimozione dell'esempio
Eseguire la procedura seguente per rimuovere l'esempio Profit Margin.
Per rimuovere l'esempio ProfitMargin
Nel riquadro Esplora oggetti aprire la cartella Notification Services.
Fare clic con il pulsante destro del mouse su ProfitMarginInstance e scegliere Interrompi.
Fare clic con il pulsante destro del mouse su ProfitMarginInstance, scegliere Attività e quindi Annulla registrazione.
Fare clic con il pulsante destro del mouse su ProfitMarginInstance, scegliere Attività e quindi Elimina.
Vedere anche
Altre risorse
Esempi di SQL Server Notification Services
Protezione di Notification Services
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
14 aprile 2006 |
|
5 dicembre 2005 |
|