Share via


Abilitare la modalità DirectQuery in SSMS

Si applica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

È possibile modificare le proprietà di accesso ai dati di un modello tabulare già distribuito, abilitando la modalità DirectQuery, in cui le query vengono eseguite su un'origine dati relazionale back-end anziché i dati memorizzati nella cache che risiedono in memoria.

Importante

È consigliabile usare Progettazione modelli tabulari in Visual Studio anziché SQL Server Management Studio (SSMS) per cambiare le modalità di archiviazione dei dati. Quando si usa Visual Studio per modificare la modalità del modello e quindi procedere con la distribuzione nel server, il modello e il database rimangono sincronizzati. Inoltre, la modifica delle modalità di archiviazione nel modello consente di esaminare eventuali errori di convalida che si verificano. Quando si usa SSMS come descritto in questo articolo, gli errori di convalida non vengono segnalati.

Requisiti

L'abilitazione dell'uso della modalità DirectQuery in un modello tabulare è un processo in più passaggi:

  • Assicurarsi che il modello non disponga di funzionalità che potrebbero causare errori di convalida in modalità DirectQuery e quindi modificare la modalità di archiviazione dei dati nel modello da in memoria a DirectQuery.

    Un elenco delle limitazioni delle funzionalità è documentato in modalità DirectQuery.

  • Esaminare le stringa di connessione e le credenziali usate dal database distribuito per recuperare i dati dal database esterno back-end. Assicurarsi che vi sia una sola connessione e che le relative impostazioni siano adatte per l'esecuzione di query.

    I database tabulari che non sono stati appositamente progettati per DirectQuery potrebbero avere più connessioni che ora devono essere ridotte a una sola, come necessario per la modalità DirectQuery.

    Le credenziali originariamente usate per l'elaborazione dei dati verranno ora usate per eseguire query sui dati. Come parte della configurazione di DirectQuery, esaminare ed eventualmente modificare l'account se si usano account diversi per le operazioni dedicate.

    La modalità DirectQuery è l'unico scenario in cui Analysis Services esegue la delega trusted. Se la soluzione richiede la delega per ottenere risultati di query specifiche dell'utente, l'account usato per connettersi al database back-end deve poter delegare l'identità dell'utente che effettua la richiesta e le identità utente devono disporre di autorizzazioni di lettura per il database back-end.

  • Infine, confermare l'operatività della modalità DirectQuery eseguendo una query.

Passare alla modalità DirectQuery

  1. In Esplora oggetti fare clic con il pulsante destro del mouse sullamodalità predefinitadel> modello di proprietà> del database>.

  2. Impostare la modalità su DirectQuery.

    Valori validi Descrizione
    DirectQuery Le query vengono eseguite in un database relazionale di back-end, tramite la connessione all'origine dati definita per il modello.

    Le query sul modello vengono convertite in query native di database e reindirizzate all'origine dati.

    Quando si elabora un modello impostato sulla modalità DirectQuery, vengono compilati e distribuiti solo i metadati. I dati sono esterni al modello e risiedono nei file di database dell'origine dati operativa.
    Importa Le query vengono eseguite nel database tabulare in MDX o DAX.

    Quando si elabora un modello impostato su Modalità importazione, i dati vengono recuperati da un'origine dati back-end e archiviati su disco. Quando si carica il database, i dati vengono copiati completamente in memoria, consentendo query e scansioni di tabella rapide.

    Si tratta della modalità predefinita per i modelli tabulari ed è l'unica modalità per determinate origini dati (non relazionali).
    Dual Consente sia l'importazione che DirectQuery. Questa modalità non è supportata in Azure Analysis Services o Power BI Premium.

Controllare le proprietà di connessione

In base all'impostazione della configurazione della connessione all'origine dati, il passaggio a DirectQuery potrebbe modificare il contesto di sicurezza della connessione. Dopo aver modificato la modalità di accesso ai dati, esaminare le proprietà della rappresentazione e della stringa di connessione per verificare che l'account di accesso sia valido per le connessioni in corso al database back-end.

Esaminare la sezione Configurare Analysis Services per la delega trusted in Configure Analysis Services for Kerberos constrained delegation per informazioni sulla delega di un'identità utente per gli scenari di DirectQuery.

  1. In Esplora oggetti espandere Connessioni e fare doppio clic su una connessione per visualizzarne le proprietà.

    Per i modelli DirectQuery deve essere definita una sola connessione per il database e l'origine dati deve essere relazionale e di un tipo di database supportato. Vedere Origini dati supportate.

  2. Stringa di connessione deve specificare il server, il nome del database e il metodo di autenticazione usati nelle operazioni di DirectQuery. Se si usa l'autenticazione di SQL Server, è possibile specificare qui l'account di accesso al database.

  3. L'opzioneImpostazioni di rappresentazione viene usata per l'autenticazione di Windows. Le opzioni valide per i modelli tabulari in modalità DirectQuery sono le seguenti:

    • Usare l'account del servizio. Scegliere questa opzione se l'account del servizio Analysis Services dispone di autorizzazioni di lettura per il database relazionale.

    • Usare un nome utente e una password specifici. Specificare un account utente di Windows che disponga di autorizzazioni di lettura per il database relazionale.

Si noti che queste credenziali vengono utilizzate unicamente per rispondere alle query sull'archivio dati relazionale. Non corrispondono alle credenziali utilizzate per l'elaborazione della cache di un modello ibrido.

La rappresentazione non può essere utilizzata se il modello viene utilizzato solo in memoria. L'impostazione ImpersonateCurrentUsernon è valida, a meno che il modello non utilizzi la modalità DirectQuery.

Convalidare l'accesso a DirectQuery

  1. Avviare una traccia con SQL Server Profiler o XEvent in Management Studio, connesso al database relazionale su SQL Server.

    Se si usano Oracle or Teradata, adottare gli strumenti di traccia adeguati a queste piattaforme di database.

  2. In Management Studio, immettere ed eseguire una semplice query MDX, ad esempio select <some measure> on 0 from model..

  3. Nella traccia, l'esecuzione della query viene evidenziata nel database relazionale.

Vedi anche

Livello di compatibilità
Origini dati supportate
Eventi estesi