Condividi tramite


Scenari di distribuzione DirectQuery (SSAS tabulare)

In questo argomento viene fornita una procedura dettagliata del processo di progettazione e distribuzione per i modelli DirectQuery. È possibile configurare il modello affinché utilizzi esclusivamente dati relazionali (solo DirectQuery) oppure perché passi dall'utilizzo esclusivo dei dati memorizzati nella cache a quello dei dati relazionali e viceversa (modalità ibrida). In questo argomento viene illustrato il processo di implementazione per entrambe le modalità e vengono descritte le possibili differenze nei risultati della query a seconda della modalità e della configurazione della sicurezza.

Passaggi di progettazione e distribuzione

Confronto tra le opzioni di configurazione DirectQuery

Passaggi di progettazione e distribuzione

Passaggio 1. Creare la soluzione

Indipendentemente dalla modalità che verrà utilizzata, è necessario rivedere le informazioni che descrivono le limitazioni riguardo ai dati che è possibile utilizzare nei modelli DirectQuery. Ad esempio, tutti i dati utilizzati nel modello e nei report devono provenire da una singola origine dati relazionale, ovvero SQL Server o SQL Server PDW. Per ulteriori informazioni, vedere Modalità DirectQuery (SSAS tabulare).

Esaminare inoltre le limitazioni relative a misure e colonne calcolate e verificare se le formule che si intende utilizzare sono compatibili con la modalità DirectQuery. Potrebbe essere necessario rimuovere o modificare le parti seguenti del modello:

  • Le colonne calcolate non sono supportate.

  • Non è possibile utilizzare i dati incollati dall'operazione di copia. Pertanto, se si desidera creare la soluzione importando un modello PowerPivot, è necessario eliminare tutte le tabelle collegate prima di importare la soluzione in quanto questi dati non sono eliminabili e bloccherebbero la convalida di DirectQuery.

    Importante:

Passaggio 2. Abilitare la modalità DirectQuery in Progettazione modelli

Per impostazione predefinita, la modalità DirectQuery è disabilitata. Pertanto, è necessario configurare l'ambiente di progettazione per supportare la modalità DirectQuery.

Fare clic con il pulsante destro del mouse sul nodo Model.bim in Esplora soluzioni e impostare la proprietà Modalità DirectQuery su On.

È possibile attivare la modalità DirectQuery in qualsiasi momento. Tuttavia, per assicurarsi di non creare colonne o formule incompatibili con la modalità DirectQuery, è consigliabile abilitare da subito la modalità DirectQuery.

Inizialmente, anche i modelli DirectQuery sono sempre creati in memoria. La modalità di query predefinita per il database dell'area di lavoro viene inoltre impostata su DirectQuery con In-Memory. Questa modalità operativa ibrida consente di utilizzare la cache dei dati importati per migliorare le prestazioni durante il processo di progettazione del modello, convalidando al contempo il modello rispetto ai requisiti di DirectQuery.

Passaggio 3. Risolvere gli errori di convalida

Se si verificano errori di convalida quando si attiva DirectQuery o si aggiungono nuovi dati o nuove formule, aprire l'Elenco errori di Visual Studio ed effettuare le azioni necessarie.

  • Modificare le impostazioni delle proprietà necessarie per la modalità DirectQuery seguendo le indicazioni dei messaggi di errore.

  • Rimuovere le colonne calcolate. Se una misura richiede una colonna calcolata, è possibile creare la colonna utilizzando Progettazione query relazionale (SSAS) disponibile nella nell'Importazione guidata tabella.

  • Modificare o rimuovere le formule incompatibili con la modalità DirectQuery. Se un calcolo richiede una funzione particolare, valutare il modo in cui fornire un equivalente utilizzando Transact-SQL.

  • Aggiungere i dati necessari. Se nel modello sono stati utilizzati in precedenza dati da un'operazione di copia e incolla o da altri provider, è possibile creare nuove viste e nuove colonne derivate all'interno dell'origine dati relazionale o anche nella definizione della query utilizzata per l'importazione della tabella. Tutti i dati utilizzati in un modello DirectQuery devono essere comunque accessibili in una singola origine dati relazionale. Se alcuni dati si trovano in sistemi esterni, valutare la possibilità di inserirli temporaneamente nell'origine dati relazionale.

Passaggio 4. Impostare il metodo preferito per rispondere alle query sul modello

Solo DirectQuery

Impostare la proprietà su DirectQuery.

Modalità ibrida

Impostare la proprietà su In-Memory con DirectQuery o DirectQuery con In-Memory.

È possibile modificare questo valore in un secondo momento per utilizzare una preferenza diversa.

Si noti che i client possono eseguire l'override del metodo preferito nella stringa di connessione.

Passaggio 5. Specificare la partizione DirectQuery

Solo DirectQuery

Facoltativo. Per un modello di tipo solo DirectQuery non occorre una partizione.

Tuttavia, se sono state create partizioni nel modello durante la fase di progettazione, solo una partizione può essere utilizzata come origine dati. Per impostazione predefinita, la prima partizione creata verrà utilizzata come partizione DirectQuery.

Per assicurarsi che tutti i dati richiesti dal modello siano disponibili nella partizione DirectQuery, scegliere una partizione DirectQuery e modificare l'istruzione SQL per ottenere l'intero set di dati.

Modalità ibrida

Se una tabella nel modello dispone di più partizioni, è necessario scegliere una sola partizione come partizione DirectQuery. Se non si assegna una partizione, per impostazione predefinita la prima partizione creata verrà utilizzata come partizione DirectQuery.

Impostare le opzioni di elaborazione su tutte le partizioni tranne DirectQuery In genere, la partizione DirectQuery non viene mai elaborata perché i dati vengono passati dall'origine relazionale.

Per ulteriori informazioni, vedere Partizioni e modalità DirectQuery (SSAS tabulare).

Passaggio 6. Configurare la rappresentazione

La rappresentazione è supportata unicamente per i modelli DirectQuery. L'opzione di rappresentazione, Impostazioni di rappresentazione, consente di definire le credenziali utilizzate per la visualizzazione dei dati dall'origine dati SQL Server specificata.

Solo DirectQuery

Per la proprietà Impostazioni di rappresentazione, specificare l'account che verrà utilizzato per la connessione all'origine dati relazionale.

Se si utilizza il valore ImpersonateCurrentUser, l'istanza di Analysis Services che ospita il modello passerà le credenziali dell'utente corrente del modello all'origine dati relazionale.

Modalità ibrida

Per la proprietà Impostazioni di rappresentazione, specificare l'account che verrà utilizzato per accedere ai dati nell'origine dati relazionale.

Questa impostazione non influisce sulle credenziali utilizzate per elaborare la cache utilizzata dal modello.

Passaggio 7. Distribuire il modello

Prima di distribuire il modello, scegliere Proprietà dal menu Progetto di Visual Studio. Impostare la proprietà QueryMode su uno dei valori descritti nella tabella seguente:

Per ulteriori informazioni, vedere Distribuire da SQL Server Data Tools (SSAS tabulare).

Solo DirectQuery

DirectQueryOnly

Poiché è stata impostata la modalità Solo Direct Query, i metadati del modello vengono distribuiti nel server, ma il modello non viene elaborato.

Si noti che la cache utilizzata dal database dell'area di lavoro non viene eliminata automaticamente. Per assicurarsi che gli utenti non possano visualizzare i dati memorizzati nella cache, cancellare il contenuto della cache in fase di progettazione. Per ulteriori informazioni, vedere Cancellare le cache di Analysis Services.

Modalità ibrida

DirectQuery con In-Memory

In-Memory con DirectQuery

Entrambi questi valori consentono di utilizzare la cache o l'origine dati relazionale secondo necessità. L'ordine determina l'origine dati che verrà utilizzata per impostazione predefinita per rispondere alle query sul modello.

In una modalità ibrida, l'elaborazione della cache deve avvenire contemporaneamente alla distribuzione dei metadati del modello nel server.

Dopo la distribuzione sarà possibile modificare questa impostazione.

Passaggio 8. Verificare il modello distribuito

In SQL Server Management Studio aprire l'istanza di Analysis Services in cui è stato distribuito il modello. Fare clic con il pulsante destro del mouse sul nome del database e scegliere Proprietà.

  • La proprietà DirectQueryMode è stata impostata al momento di definire le proprietà di distribuzione.

  • La proprietà Impostazioni di rappresentazione origine dati è stata impostata al momento di definire le opzioni di rappresentazione dell'utente. Per ulteriori informazioni, vedere Impostare opzioni di rappresentazione (SSAS - Multidimensionale).

  • È possibile modificare queste proprietà in qualsiasi momento dopo la distribuzione del modello.

Torna all'inizio

Confronto tra le opzioni di DirectQuery

  • Solo DirectQuery
    Questa opzione è da preferire quando si desidera garantire una singola origine dati o quando la memoria non è in grado di contenere i dati a causa delle loro dimensioni troppo elevate. Se si utilizza un'origine dati relazionale di grandi dimensioni, in fase di progettazione è possibile creare il modello utilizzando un subset dei dati. Quando si distribuisce il modello in modalità Solo DirectQuery, è possibile modificare la definizione dell'origine dati per includere tutti i dati obbligatori.

    Preferire questa opzione anche quando si desidera utilizzare la sicurezza fornita dall'origine dati relazionale per controllare l'accesso utente ai dati. Con i modelli tabulari memorizzati nella cache, è anche possibile utilizzare i ruoli di Analysis Services per controllare l'accesso ai dati, tuttavia anche i dati archiviati nella cache devono essere protetti. Utilizzare sempre questa opzione se il contesto di sicurezza richiede che i dati non vengano mai memorizzati nella cache.

    Nella tabella seguente vengono descritti i possibili risultati della distribuzione per la modalità Solo DirectQuery:

    DirectQuery senza cache

    Non sono stati caricati dati nella cache. Il modello non potrà mai essere elaborato.

    Sarà possibile eseguire query sul modello solo utilizzando client che supportano le query DAX. I risultati delle query vengono sempre restituiti dall'origine dati originale.

    • DirectQueryMode = On

    • QueryMode = DirectQuery

    DirectQuery con query solo sulla cache

    La distribuzione non viene eseguita. Questa configurazione non è supportata.

    • DirectQueryMode = On

    • QueryMode = In-Memory

  • Modalità ibrida
    La distribuzione del modello in modalità ibrida implica molti vantaggi. È possibile ottenere dati aggiornati dall'origine dati relazionale in base alle esigenze, in particolare quando essi devono essere aggiornati in tempo reale. La conservazione della cache consente tuttavia di utilizzare i dati in memoria in modo da migliorare le prestazioni durante la progettazione dei report o il test del modello.

    Una modalità ibrida DirectQuery è inoltre utile se le dimensioni del modello sono grandi. Per evitare che gli utenti ottengano dati non aggiornati o che il modello non sia disponibile durante l'elaborazione della cache, è possibile impostare la modalità DirectQuery durante l'elaborazione. Gli utenti potrebbero notare un lieve calo delle prestazioni, tuttavia otterrebbero i dati direttamente dall'archivio relazionale, essendo quindi certi che si tratta di risultati aggiornati.

    Nella tabella seguente viene confrontato il risultato della distribuzione in ognuna delle combinazioni di opzioni DirectQuery.

    Modalità ibrida con cache preferita

    Il modello può essere elaborato e i dati possono essere caricati nella cache. Per impostazione predefinita, per le query viene utilizzata la cache.

    Se un client desidera utilizzare l'origine DirectQuery, è necessario inserire un parametro nella stringa di connessione.

    • DirectQueryMode = On

    • QueryMode = In-Memory con DirectQuery

    Modalità ibrida con DirectQuery preferita

    Il modello viene elaborato e i dati possono essere caricati nella cache. Per impostazione predefinita, le query utilizzano tuttavia DirectQuery.

    Se un client desidera utilizzare i dati memorizzati nella cache, è necessario inserire un parametro nella stringa di connessione.

    Se le tabelle del modello sono partizionate, anche la partizione principale della cache viene impostata su In-Memory con DirectQuery.

    • DirectQueryMode = On

    • QueryMode = DirectQuery con In-Memory

Vedere anche

Concetti

Modalità DirectQuery (SSAS tabulare)

Accesso ai dati di modello tabulare