Condividi tramite


Pacchetto di esempio per la sincronizzazione delle partizioni di Adventure Works DW

Un problema comune a cui devono far fronte gli sviluppatori consiste nell'automatizzare il processo di creazione di partizioni all'interno di cubi di Analysis Services. Le partizioni vengono in genere sezionate in base a una dimensione, ad esempio un periodo di tempo. Ad esempio, nei database Adventure Works DW le partizioni dei dati di vendita sono state create in modo statico per i quattro anni che vanno dal 2001 al 2004. Cosa succede tuttavia se le tabelle dei fatti iniziano ad accumulare dati oltre tale intervallo di tempo? Se si ricevono dati di vendita relativi all'anno 2005 e all'anno 2006, lo sviluppatore deve creare manualmente nuove partizioni oppure esiste un modo per automatizzare la creazione di nuove partizioni?

Il pacchetto di esempio Synchronizing Adventure Works DW Partitions illustra come automatizzare l'identificazione e la creazione di nuove partizioni. Nonostante l'esempio sia stato creato specificamente per gli oggetti di Adventure Works DW, può essere facilmente esteso per l'utilizzo in ambienti simili. Questo esempio non è supportato nei sistemi operativi basati su processori Itanium.

ms161545.note(it-it,SQL.90).gifImportante:
Gli esempi vengono offerti esclusivamente a scopo didattico. Non sono progettati per l'utilizzo in un ambiente di produzione e non sono stati testati in un ambiente di produzione. Microsoft non fornisce servizi di supporto tecnico per questi esempi.

Requisiti

Per l'esecuzione di questo pacchetto di esempio sono necessari i requisiti seguenti:

  • Il pacchetto di esempio e i file di dati da esso utilizzati devono essere installati nell'unità disco rigido locale.
  • Aver installato il database AdventureWorks e disporre delle relative autorizzazioni amministrative.
  • Se si desidera eseguire il pacchetto di esempio solo dalla riga di comando, è necessario installare SQL Server 2005 Integration Services (SSIS).
  • Se si desidera aprire il pacchetto in Progettazione SSIS ed eseguire il pacchetto di esempio, è necessario installare Business Intelligence Development Studio.
  • Se si desidera eseguire il pacchetto di esempio in un computer a 64 bit, è necessario impostare la proprietà PreCompile dell'attività Script su True. Se si desidera utilizzare gli strumenti di debug per eseguire lo script istruzione per istruzione, impostare la proprietà su False.
  • Se i database relazionale e di Analysis Services non risiedono nel computer locale, oppure sono stati rinominati, è necessario modificare la connessione appropriata nel pacchetto di esempio in modo che punti al percorso corretto dei database. È possibile modificare il pacchetto direttamente in Progettazione SSIS, oppure modificare la configurazione del pacchetto.
  • Per eseguire lo script nel pacchetto, è necessario impostare il riferimento alla libreria AMO (Analysis Management Objects). A tale scopo, la cartella %windir%\Microsoft.net\framework\v2.0.xxxxx deve includere una copia del file Microsoft.AnalysisServices.dll e il progetto Microsoft Visual Studio for Applications deve includere un riferimento alla libreria AMO (Analysis Management Objects). Il percorso predefinito da cui copiare l'assembly è C:\Programmi\Microsoft SQL Server\90\SDK\Assemblies\Microsoft.AnalysisServices.dll.

Per ulteriori informazioni su come installare gli esempi, vedere l'argomento "Installazione dei pacchetti di esempio di Integration Services" nella documentazione in linea di SQL Server 2005. Per ottenere la versione più recente degli esempi, inclusi nuovi esempi resi disponibili dopo il rilascio di SQL Server 2005, vedere Esempi e database di esempio di SQL Server 2005 (aprile 2006).

Percorso del pacchetto di esempio

Se gli esempi sono stati installati nel percorso di installazione predefinito, il pacchetto di esempio Synchronizing Adventure Works DW Partitions si trova nella cartella seguente: C:\Programmi\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\SyncAdvWorksPartitions Sample\SyncAdvWorksPartitions\.

I file seguenti sono necessari per poter eseguire questo pacchetto di esempio.

File Descrizione

Sync Partitions.dtsx

Pacchetto di esempio.

Get Partitions List.sql

Query Transact-SQL utilizzata per identificare e restituire i metadati delle partizioni da RDBMS.

Questo file contiene una copia della query SQL utilizzata nell'attività Esegui SQL e non è necessario per l'esecuzione del pacchetto. Tuttavia, la visualizzazione e la modifica delle istruzioni SQL possono risultare più semplici utilizzando questo file di testo.

Esecuzione dell'esempio

Il pacchetto può essere eseguito dalla riga di comando tramite l'utilità dtexec, oppure può essere eseguito in Business Intelligence Development Studio.

Per eseguire il pacchetto tramite dtexec

  1. Aprire la finestra del prompt dei comandi.

  2. Passare alla directory C:\Programmi\Microsoft SQL Server\90\DTS\Binn, ovvero il percorso in cui si trova dtexec.

  3. Digitare il comando seguente:

    dtexec /f "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\SyncAdvWorksPartitions Sample\SyncAdvPartitions\Sync Partitions.dtsx"
    
  4. Premere INVIO.

Per ulteriori informazioni sulla modalità di esecuzione del pacchetto tramite dtexec, vedere l'argomento "Utilità dtexec" nella documentazione in linea di SQL Server 2005.

Per eseguire il pacchetto in Business Intelligence Development Studio

  1. Aprire Business Intelligence Development Studio.

  2. Scegliere Apri dal menu File e quindi fare clic su Progetto/Soluzione.

  3. In Tipo file selezionare File di progetto di Integration Services (*.dtproj), individuare la cartella SyncAdvWorksPartitions Sample e quindi fare doppio clic su Sync Partitions.dtproj.

  4. In Esplora soluzioni fare clic con il pulsante destro del mouse su Sync Partitions.dtsx nella cartella Pacchetti SSIS e quindi scegliere Esegui pacchetto.

Per ulteriori informazioni su come eseguire il pacchetto in Business Intelligence Development Studio, vedere l'argomento "Esecuzione di pacchetti" nella documentazione in linea di SQL Server 2005.

Componenti inclusi nell'esempio

Nella tabella seguente sono elencate le attività, le origini e le destinazioni utilizzate nell'esempio.

Elemento Descrizione

Attività Esegui SQL

L'attività Esegui SQL Get Partition List esegue una query Transact-SQL sulle tabelle dei fatti. La query identifica e restituisce i metadati che definiscono le partizioni sezionate in base al tempo. Il set di righe risultante contiene una riga per ogni partizione.

Attività Ciclo Foreach

L'attività Ciclo Foreach Foreach Partition esegue un'iterazione in ogni set di righe generato nell'attività Esegui SQL. A ogni iterazione il contenuto del set di righe viene estratto in variabili del pacchetto che vengono utilizzate sia nell'attività Script che nell'attività Esegui DDL Analysis Services.

Attività Script

All'interno dell'attività Ciclo Foreach, l'attività Script Partition Already There? utilizza la libreria AMO (Analysis Management Objects) per identificare se una partizione corrispondente esiste già nel database di Analysis Services. Il risultato dell'attività viene utilizzato per impostare la variabile IsNotPresent. Questa attività popola inoltre la variabile XMLA_Script. Questa variabile può essere utilizzata per creare una nuova partizione nel database di Analysis Services.

Attività Esegui DDL Analysis Services

Se necessario, l'attività Esegui DDL Analysis Services Create Partition esegue lo script XMLA incluso nella variabile XMLA_Script per creare una nuova partizione nel database di Analysis Services. Questa attività contiene un vincolo di precedenza condizionale che impedisce l'esecuzione dell'attività se la variabile IsNotPresent non restituisce true.

Gestione connessione Analysis Services

La gestione connessione AS database viene utilizzata dall'attività Esegui DDL per connettersi al database di Analysis Services che contiene partizioni nei gruppi di misure Internet Sales, Internet Orders e Customer Count.

Gestione connessione OLE DB

La gestione connessione RDBMS database viene utilizzata dall'attività Esegui SQL per eseguire una query sul database relazionale che contiene le tabelle dei fatti FactInternetSales e FactResellerSales e la tabella delle dimensioni DimTime.

Risultati dell'esempio

Poiché il database di Analysis Services include già partizioni, quando si esegue il pacchetto non vengono create partizioni nuove.

Se si desidera eseguire il pacchetto per creare nuove partizioni nel database di Analysis Services, è possibile eliminare le partizioni dai gruppi di misure seguenti nel cubo di Adventure Works: Internet Sales, Internet Orders, Reseller Sales, Reseller Orders o Customer Count. Quando si esegue il pacchetto, le partizioni eliminate dai gruppi di misure vengono ricreate (tuttavia senza aggregazioni) ed è quindi possibile rielaborarle.

Nota   Se si intende eliminare e ricreare oggetti nel database di Analysis Services Adventure Works DW, è consigliabile eseguire il backup del database corrente prima di eseguire il pacchetto di esempio.