Partager via


Scénarios de déploiement de DirectQuery (SSAS Tabulaire)

Cette rubrique fournit une procédure pas à pas du processus de conception et de déploiement pour les modèles DirectQuery. Vous pouvez configurer DirectQuery pour utiliser uniquement des données relationnelles (DirectQuery uniquement) ou configurer le modèle pour basculer entre les données mises en cache uniquement ou les données relationnelles uniquement (mode hybride). Cette rubrique explique le processus d’implémentation des deux modes et décrit les différences possibles dans les résultats de la requête en fonction du mode et de la configuration de sécurité.

Étapes de conception et de déploiement

Comparaison des configurations DirectQuery

Étapes de conception et de déploiement

Étape 1. Créer la solution

Quel que soit le mode que vous utiliserez, vous devez passer en revue les informations qui décrivent les limitations des données qui peuvent être utilisées dans les modèles DirectQuery. Par exemple, toutes les données utilisées dans votre modèle et rapports doivent provenir d’une base de données SQL Server unique. Pour plus d’informations, consultez Le mode DirectQuery (SSAS Tabulaire).

Examinez également les limitations relatives aux mesures et aux colonnes calculées et déterminez si les formules que vous envisagez d’utiliser sont compatibles avec le mode DirectQuery. Vous devrez peut-être supprimer ou modifier les éléments suivants :

  • Les colonnes calculées ne sont pas prises en charge.

  • Les données copiées ne peuvent pas être utilisées. Si vous importez un modèle PowerPivot pour démarrer votre solution, veillez à supprimer des tables liées avant d’importer la solution, car ces données ne peuvent pas être supprimées et bloquent la validation DirectQuery.

Étape 2. Activer le mode DirectQuery dans le concepteur de modèles

Par défaut, DirectQuery est désactivé. Par conséquent, vous devez configurer l’environnement de conception pour prendre en charge le mode DirectQuery.

Cliquez avec le bouton droit sur le nœud Model.bim dans l’Explorateur de solutions et définissez la propriété, Mode DirectQuery, sur On.

Vous pouvez activer DirectQuery à tout moment ; Toutefois, pour vous assurer que vous ne créez pas de colonnes ou de formules incompatibles avec le mode DirectQuery, nous vous recommandons d’activer le mode DirectQuery dès le début.

Au départ, même les modèles DirectQuery sont toujours créés en mémoire. Le mode de requête par défaut de la base de données de l’espace de travail est également défini sur DirectQuery avec mémoire. Ce mode de travail hybride vous permet d’utiliser le cache des données importées pour améliorer les performances pendant le processus de conception du modèle, tout en validant le modèle par rapport aux exigences de DirectQuery.

Étape 3. Résolvez les erreurs de validation

Si vous recevez des erreurs de validation lorsque vous activez DirectQuery ou que vous ajoutez de nouvelles données ou formules, ouvrez la liste d’erreurs Visual Studio, puis effectuez les actions requises.

  • Modifiez les paramètres de propriété requis pour le mode DirectQuery, comme décrit dans les messages d’erreur.

  • Supprimez les colonnes calculées. Si vous avez besoin d’une colonne calculée pour une mesure particulière, vous pouvez toujours créer la colonne à l’aide du Concepteur de requêtes relationnelles (SSAS) fourni dans l’Assistant Importation de table.

  • Modifiez ou supprimez des formules incompatibles avec le mode DirectQuery. Si vous avez besoin d’une fonction particulière pour un calcul, envisagez les moyens de fournir un équivalent à l’aide de Transact-SQL.

  • Ajoutez des données en fonction des besoins. Si votre modèle a précédemment utilisé des données copiées-collées ou des données provenant de fournisseurs de données autres que SQL Server, vous pouvez créer de nouvelles vues et colonnes dérivées dans le cadre de la connexion existante, ou utiliser des requêtes distribuées. Toutes les données utilisées dans un modèle DirectQuery doivent être accessibles via une seule source de données SQL Server.

Étape 4. Définir la méthode préférée pour répondre aux requêtes sur le modèle

DirectQuery uniquement Définissez la propriété sur DirectQuery.
Mode hybride Définissez la propriété surIn-Memory Avec DirectQuery ou DirectQuery avec mémoire.

Vous pouvez modifier cette valeur ultérieurement pour utiliser une préférence différente.

Notez que les clients peuvent remplacer la méthode préférée dans la chaîne de connexion.

Étape 5. Spécifier la partition DirectQuery

DirectQuery uniquement Optionnel. Un modèle DirectQuery uniquement n’a pas besoin d’une partition.

Toutefois, si vous avez créé des partitions dans le modèle pendant la phase de conception, n’oubliez pas qu’une seule partition peut être utilisée comme source de données. Par défaut, la première partition que vous avez créée sera utilisée comme partition DirectQuery.

Pour vous assurer que toutes les données requises par le modèle sont disponibles à partir de la partition DirectQuery, choisissez une partition DirectQuery et modifiez l’instruction SQL pour obtenir l’ensemble du jeu de données.
Mode hybride Si une table de votre modèle comporte plusieurs partitions, vous devez choisir une seule partition comme partition DirectQuery. Si vous n’affectez pas de partition, par défaut, la première partition créée sera utilisée comme partition DirectQuery.

Définissez les options de traitement sur toutes les partitions, à l’exception de DirectQuery. En règle générale, la partition DirectQuery n’est jamais traitée, car les données sont transmises à partir de la source relationnelle.

Pour plus d’informations, consultez Partitions et mode DirectQuery (SSAS Tabulaire) .

Étape 6. Configurer l’imitation de l’identité

L’emprunt d’identité est pris en charge seulement pour les modèles DirectQuery. L’option d’emprunt d’identité, Paramètres d’emprunt d’identité, définit les informations d’identification utilisées lors de l’affichage des données de la source de données SQL Server spécifiée.

DirectQuery uniquement Pour la propriété Paramètres d’emprunt d’identité , spécifiez le compte qui sera utilisé pour se connecter à la source de données SQL Server.

Si vous utilisez la valeur , ImpersonateCurrentUser, l’instance d’Analysis Services qui héberge le modèle transmet les informations d’identification de l’utilisateur actuel du modèle à la base de données SQL Server.
Mode hybride Pour la propriété Paramètres d’emprunt d’identité , spécifiez le compte qui sera utilisé pour accéder aux données dans la source de données SQL Server.

Ce paramètre n’affecte pas les informations d’identification utilisées pour traiter le cache utilisé par le modèle.

Étape 7. Déployer le modèle

Lorsque vous êtes prêt à déployer le modèle, ouvrez le menu Projet de Visual Studio, puis sélectionnez Propriétés. Définissez la propriété QueryMode sur l’une des valeurs décrites dans le tableau suivant :

Pour plus d’informations, consultez Déployer à partir de SQL Server Data Tools (SSAS Tabulaire).

DirectQuery uniquement DirectQueryOnly

Étant donné que vous avez spécifié direct Query uniquement, les métadonnées du modèle sont déployées sur le serveur, mais le modèle n’est pas traité.

Notez que le cache utilisé par la base de données de l’espace de travail n’est pas supprimé automatiquement. Si vous souhaitez vous assurer que les utilisateurs ne peuvent pas voir les données mises en cache, vous souhaiterez peut-être effacer le cache au moment du design. Pour plus d’informations, consultez Effacer les caches Analysis Services.
Mode hybride DirectQuery avec mémoire

In-Memory avec DirectQuery

Ces deux valeurs vous permettent d’utiliser le cache ou la source de données relationnelle si nécessaire. L’ordre définit la source de données utilisée par défaut lors de la réponse aux requêtes sur le modèle.

En mode hybride, le cache doit être traité en même temps que les métadonnées du modèle sont déployées sur le serveur.

Vous pouvez modifier ce paramètre après le déploiement.

Étape 8 : Vérifier le modèle déployé

Dans SQL Server Management Studio, ouvrez l’instance d’Analysis Services où vous avez déployé le modèle. Cliquez avec le bouton droit sur le nom de la base de données et sélectionnez Propriétés.

  • La propriété, DirectQueryMode, a été définie lorsque vous avez défini les propriétés de déploiement.

  • La propriété, Informations d’emprunt d’identité de source de données, a été définie lorsque vous avez défini les options d’emprunt d’identité de l’utilisateur. Pour plus d’informations, consultez Définir les options d'usurpation d'identité (SSAS - Multidimensionnel).

  • Vous pouvez modifier ces propriétés à tout moment après le déploiement du modèle.

Comparaison des options DirectQuery

DirectQuery uniquement
Cette option est préférable lorsque vous souhaitez garantir une seule source de données ou lorsque vos données sont trop volumineuses pour s’adapter à la mémoire. Si vous utilisez une source de données relationnelle très volumineuse, pendant le temps de conception, vous pouvez créer le modèle à l’aide d’un sous-ensemble de données. Lorsque vous déployez le modèle en mode DirectQuery uniquement, vous pouvez modifier la définition de source de données pour inclure toutes les données requises.

Cette option est également recommandée si vous souhaitez utiliser la sécurité fournie par la source de données relationnelle pour contrôler l’accès des utilisateurs aux données. Avec les modèles tabulaires mis en cache, vous pouvez également utiliser des rôles Analysis Services pour contrôler l’accès aux données, mais les données stockées dans le cache doivent également être sécurisées. Vous devez toujours utiliser cette option si votre contexte de sécurité nécessite que les données ne soient jamais mises en cache.

Le tableau suivant décrit les résultats de déploiement possibles pour le mode DirectQuery uniquement :

DirectQuery sans cache Aucune donnée n’est chargée dans le cache. Le modèle ne peut jamais être traité.

Le modèle ne peut être interrogé qu’à l’aide de clients qui prennent en charge les requêtes DAX. Les résultats de la requête sont toujours retournés à partir de la source de données d’origine.

DirectQueryMode = On

QueryMode = DirectQuery
DirectQuery avec des requêtes sur le cache uniquement Le déploiement échoue. Cette configuration n’est pas prise en charge.

DirectQueryMode = On

QueryMode = En mémoire

Mode hybride
Le déploiement de votre modèle en mode hybride présente de nombreux avantages : vous pouvez obtenir des données up-to-date à partir de la source de données SQL Server si nécessaire, mais la conservation du cache vous donne la possibilité d’utiliser des données en mémoire pour des performances plus rapides lors de la conception de rapports ou de tests du modèle.

Un mode hybride DirectQuery est également utile si votre modèle est très volumineux. Au lieu que les utilisateurs obtiennent des données obsolètes ou que le modèle ne soit pas disponible pendant le traitement du cache, vous pouvez basculer le modèle en mode DirectQuery pendant que le traitement est en cours. Les utilisateurs peuvent rencontrer des performances légèrement plus lentes, mais ils seraient en mesure d’obtenir des données directement à partir du magasin relationnel, ce qui garantit que les résultats étaient up-to-date.

Le tableau suivant compare le résultat du déploiement dans chacune des combinaisons d’options DirectQuery.

Mode hybride avec le cache préféré Le modèle peut être traité et les données peuvent être chargées dans le cache. Les requêtes utilisent le cache par défaut. Si un client souhaite utiliser la source DirectQuery, un paramètre doit être inséré dans la chaîne de connexion.

DirectQueryMode = On

QueryMode = In-Memory avec DirectQuery
Mode hybride avec DirectQuery préféré Le modèle est traité et les données peuvent être chargées dans le cache. Toutefois, les requêtes utilisent DirectQuery par défaut. Si un client souhaite utiliser les données mises en cache, un paramètre doit être inséré dans la chaîne de connexion. Si les tables du modèle sont partitionnées, la partition principale du cache est également définie sur In-Memory avec DirectQuery.

DirectQueryMode = On

QueryMode = DirectQuery avec mémoire

Voir aussi

Mode DirectQuery pour SSAS Tabulaire
Accès aux données du modèle tabulaire