Compartir a través de


Particiones y el modo DirectQuery (SSAS tabular)

En esta sección se explica cómo se utilizan las particiones en los modelos DirectQuery. Para obtener más información general sobre las particiones en modelos tabulares, vea Particiones (SSAS tabular).

Para obtener instrucciones sobre cómo cambiar la partición que se usa o ver información sobre la partición, consulte Cambio de la partición directQuery (SSAS tabular).

El uso de particiones en el modo DirectQuery

Para cada tabla, debe especificar una única partición para utilizar como origen de datos de DirectQuery. De forma predeterminada, si existen varias particiones, al cambiar el modelo para habilitar el modo DirectQuery, la primera partición que se creó en la tabla se marcará como la partición DirectQuery. Puede cambiar esto más adelante mediante el Administrador de particiones en SQL Server Data Tools (SSDT).

¿Por qué permitir únicamente una sola partición en el modo DirectQuery?

En los modelos tabulares (al igual que en los modelos OLAP), las particiones de una tabla se definen mediante consultas SQL. El desarrollador que crea la definición de la partición es el responsable de garantizar que las particiones no superpongan. Analysis Services no comprueba si los registros pertenecen a una o a varias particiones.

Las particiones de un modelo tabular almacenado en caché se comportan de la misma manera. Si se utiliza un modelo en memoria, las fórmulas DAX se evalúan para cada partición mientras se obtiene acceso a la caché, y se combinan los resultados. Sin embargo, cuando un modelo tabular utiliza el modo DirectQuery, no se puede evaluar varias particiones, combinar los resultados y convertir todo esto en una instrucción SQL para enviarla al almacén de datos relacional. Esto podría ocasionar una pérdida inaceptable de rendimiento, así como posibles imprecisiones a medida que se agregan los resultados.

Por lo tanto, para las consultas respondidas en modo DirectQuery, el servidor usa una única partición que se ha marcado como partición principal para el acceso de DirectQuery, denominada partición DirectQuery. La consulta SQL especificada en la definición de esta partición define el conjunto completo de datos que pueden usarse para responder consultas en el modo DirectQuery.

Si no define de forma explícita una partición, el motor simplemente emite una consulta SQL al origen de datos relacional completo, realiza las operaciones basadas en conjuntos dictadas por la fórmula DAX y devuelve los resultados de la consulta.

Si tiene varias particiones en una tabla, y selecciona una partición como la partición de DirectQuery, las demás particiones se marcan de forma predeterminada para su uso solo en memoria.

Particiones de modelos almacenados en caché y modelos DirectQuery

Al configurar una partición DirectQuery, debe especificar las opciones de procesamiento para la partición.

Hay dos opciones de procesamiento para la partición DirectQuery. Para establecer esta propiedad, use el Administrador de particiones en SQL Server Data Tools (SSDT) o SQL Server Management Studio y seleccione la propiedad Opción de procesamiento. En la tabla siguiente se muestran los valores de esta propiedad y se describen los efectos de cada valor cuando se combinan con la propiedad DirectQueryUsage en la cadena de conexión:

Propiedad DirectQueryUsage PropiedadOpción de procesamiento Notas
DirectQuery No procesar nunca esta partición Cuando el modelo utiliza Solo DirectQuery, el procesamiento no es necesario nunca.

En los modelos híbridos, es posible configurar la partición DirectQuery para que no se procese nunca. Por ejemplo, si está trabajando con un conjunto de datos muy grande y no desea que los resultados completos se agreguen a la memoria caché, puede especificar que la partición DirectQuery incluya la unión de los resultados para el resto de particiones de la tabla y no procesar nunca dicha unión. Las consultas dirigidas al origen relacional no se verán afectadas, y las consultas en los datos en caché combinarán datos del resto de particiones
InMemory con DirectQuery Permitir procesar la partición Si el modelo utiliza el modo híbrido, debe usar la misma partición para las consultas en memoria y las consultas en el origen de datos de DirectQuery.

Consulte también

Particiones (SSAS tabular)