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 DirectQuery per l'utilizzo dei soli dati relazionali (solo DirectQuery) oppure è possibile configurare il modello per alternare l'utilizzo dei soli dati memorizzati nella cache o dei soli dati relazionali (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 i report devono provenire da un solo database di SQL Server. Per altre informazioni, vedere Modalità DirectQuery (SSAS tabulare).

Inoltre, consultare le limitazioni relative alle misure e alle colonne calcolate e determinare se le formule che si intende utilizzare sono compatibili con la modalità DirectQuery. Potrebbe essere necessario rimuovere o modificare gli elementi seguenti:

  • Le colonne calcolate non sono supportate.

  • Non è possibile utilizzare i dati incollati dall'operazione di copia. Se si importa un modello PowerPivot per avviare la soluzione, assicurarsi di eliminare le tabelle collegate prima di importare la soluzione, poiché questi dati non possono essere eliminati e causeranno il blocco della convalida di DirectQuery.

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à, DirectQuery Mode, 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 erroridi 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 è necessaria una colonna calcolata per una misura specifica, è sempre possibile creare la colonna usando l'Designer di query relazionale (SSAS) fornita nella procedura guidata Importazione 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 copia-incolla o da provider diversi da SQL Server, è possibile creare nuove viste e nuove colonne derivate all'interno della connessione esistente o utilizzare query distribuite. Tutti i dati utilizzati in un modello DirectQuery devono essere accessibili tramite una singola origine dati SQL Server.

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 Facoltativa. 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 altre 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 rappresentazione specificare l'account che verrà usato per connettersi all'origine dati SQL Server.

Se si usa il valore, ImpersonateCurrentUser, l'istanza di Analysis Services che ospita il modello passerà le credenziali dell'utente corrente del modello al database di SQL Server.
Modalità ibrida Per la proprietà Impostazioni di rappresentazione , specificare l'account che verrà utilizzato per accedere ai dati nell'origine dati SQL Server.

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

Passaggio 7. Distribuire il modello

Quando si è pronti per distribuire il modello, aprire il menu Progetto di Visual Studio e selezionare Proprietà. Impostare la proprietà QueryMode su uno dei valori descritti nella tabella seguente:

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

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 altre informazioni, vedere Cancellare le cache di Analysis Services.
Modalità ibrida DirectQuery con In-Memory

Memoria 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 altre informazioni, vedere Impostare opzioni di rappresentazione (SSAS - Multidimensionale).

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

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 usare i ruoli di Analysis Services per controllare l'accesso ai dati, ma 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 memoria

Modalità ibrida
La distribuzione del modello in una modalità ibrida comporta molti vantaggi: la possibilità di ottenere dati aggiornati dall'origine dati SQL Server secondo necessità, ma conservando la cache, consente di lavorare con i dati in memoria e di ottenere prestazioni più elevate durante la progettazione di 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. Anche se potrebbe verificarsi un leggero calo delle prestazioni, gli utenti sarebbero comunque in grado di ottenere i dati direttamente dall'archivio relazionale, con 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 memoria 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 memoria

Vedere anche

Modalità DirectQuery (SSAS tabulare)
Accesso ai dati di modello tabulare