Comprobador de coherencia de base de datos (DBCC) para Analysis Services

Se aplica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

DBCC proporciona validación de base de datos a petición para bases de datos multidimensionales y tabulares en una instancia de Analysis Services. Puede ejecutar DBCC en una ventana de consulta XMLA o MDX en SQL Server Management Studio (SSMS) y realizar el seguimiento de la salida de DBCC en SQL Server Profiler o sesiones xEvent en SSMS.
El comando toma una definición de objeto y devuelve un conjunto de resultados vacío o la información detallada del error si el objeto está dañado. En este artículo, aprenderá a ejecutar el comando, interpretar los resultados y solucionar los problemas que surjan.

En el caso de las bases de datos tabulares, las comprobaciones de coherencia realizadas por DBCC son equivalentes a la validación integrada que se produce automáticamente cada vez que se vuelve a cargar, sincronizar o restaurar una base de datos. En cambio, las comprobaciones de coherencia de bases de datos multidimensionales se producen solo al ejecutar DBCC a petición.

El intervalo de comprobaciones de validación varía según el modo, ya que las bases de datos tabulares están sujetas a una gama más amplia de comprobaciones.
Las características de una carga de trabajo de DBCC también varían según el modo de servidor. Las operaciones de comprobación en bases de datos multidimensionales incluyen la lectura de datos desde el disco, la creación de índices temporales para comparar con los índices reales, etc. En todo caso, son procesos que tardan mucho en completarse.

La sintaxis de comando para DBCC utiliza los metadatos de objetos específicos del tipo de base de datos que se va a comprobar:

  • Las bases de datos multidimensionales y tabulares anteriores a SQL Server 2016 de nivel de compatibilidad 1100 o 1103 se describen en estructuras de modelado multidimensional como cubeID, measuregroupIDy partitionID.

  • Los metadatos de las nuevas bases de datos del modelo tabular en el nivel de compatibilidad 1200 y posteriores constan de descriptores como TableName y PartitionName.

DBCC para Analysis Services se ejecutará en cualquier base de datos de Analysis Services en cualquier nivel de compatibilidad, siempre que la base de datos se ejecute en una instancia de SQL Server 2016. Asegúrese de que está utilizando la sintaxis de comando correcta para cada tipo de base de datos.

Nota:

Si está familiarizado con DBCC (Transact-SQL), observará rápidamente que DBCC en Analysis Services tiene un ámbito mucho más estrecho. DBCC en Analysis Services es un comando único que notifica exclusivamente los datos dañados en la base de datos o en objetos individuales. Si tiene otras tareas en mente, como la recopilación de información, pruebe a usar los scripts de PowerShell de AMO o XMLA en su lugar.

Requisitos de permisos

Debe ser administrador de servidor o base de datos de Analysis Services (un miembro del rol de servidor) para ejecutar el comando. Consulte Conceder permisos de base de datos (Analysis Services) o Conceder derechos de administrador del servidor a una instancia de Analysis Services para obtener instrucciones.

Sintaxis de comandos

Las bases de datos tabulares en los niveles de compatibilidad 1200 y superiores usan metadatos tabulares para las definiciones de objetos. En el ejemplo siguiente, se muestra la sintaxis completa de DBCC para una base de datos tabular creada en un nivel funcional de SQL Server 2016.

Las principales diferencias entre las dos sintaxis incluyen un espacio de nombres XMLA más reciente, ningún <elemento Object> y ningún <elemento Model> (todavía hay un modelo por base de datos).

<DBCC xmlns="http://schemas.microsoft.com/analysisservices/2014/engine">  
     <DatabaseID>MyTabular1200DB_7811b5d8-c407-4203-8793-12e16c3d1b9b</DatabaseID>  
     <TableName>FactSales</TableName>  
     <PartitionName>FactSales 4</PartitionName>  
</DBCC>  

Puede omitir los objetos de nivel inferior, como los nombres de tabla o partición, para comprobar todo el esquema.

Puede obtener los nombres de objeto y los identificadores DatabaseID desde Management Studio, a través de la página de propiedades de cada objeto.

Sintaxis del comando para bases de datos multidimensionales y tabulares 110x

DBCC usa una sintaxis idéntica para bases de datos multidimensionales, así como para bases de datos tabulares 1100 y 1103. Puede ejecutar DBCC en objetos de base de datos específicos, incluida la base de datos completa. Vea Elemento Object (XMLA) para obtener más información sobre la definición de objeto.

<DBCC xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">  
     <Object>  
          <DatabaseID>AdventureWorksDW2014Multidimensional-EE</DatabaseID>  
          <CubeID>Adventure Works</CubeID>  
          <MeasureGroupID>Fact Internet Sales 1</MeasureGroupID>  
          <PartitionID>Internet_Sales_2006</PartitionID>  
     </Object>  
</DBCC>  
  

Para ejecutar DBCC en objetos superiores a la cadena de objetos, elimine los elementos de identificador de objeto de nivel inferior que no necesite:

<DBCC xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">  
     <Object>  
          <DatabaseID>AdventureWorksDW2014Multidimensional-EE</DatabaseID>  
          <CubeID>Adventure Works</CubeID>  
     </Object>  
</DBCC>  
  

En el caso de las bases de datos tabulares 110x, la sintaxis de definición de objeto se modela después de la sintaxis del comando de proceso (específicamente, en el modo en que las tablas se asignan a las dimensiones y los grupos de medida).

  • CubeID se asigna al identificador de modelo, que es Model.

  • MeasureGroupID se asigna a un identificador de tabla.

  • PartitionID se asigna a un identificador de partición.

Uso

En SQL Server Management Studio, puede invocar DBCC mediante la ventana de consulta MDX o XMLA. Además, puede usar SQL Server Profiler 2017 o xEvents de Analysis Services para ver la salida de DBCC. Tenga en cuenta que los mensajes de DBCC de SSAS no se notifican al registro de eventos de la aplicación Windows o al archivo msmdsrv.log.

DBCC comprueba si hay daños en los datos físicos, así como los daños en los datos lógicos que se producen cuando hay miembros huérfanos en un segmento. Para poder ejecutar DBCC es necesario procesar antes una base de datos. Este proceso omite las particiones remotas, vacías o sin procesar.

El comando se ejecuta en una transacción de lectura y, por tanto, puede ser expulsado por el tiempo de espera para forzar confirmación. Las comprobaciones de la partición se ejecutan en paralelo.

Es posible que se requiera un reinicio del servicio para reflejar los errores por daños que se hayan producido desde el último reinicio del servicio. La reconexión del servidor no es suficiente para recoger los cambios.

Ejecución de los comandos DBCC en Management Studio

Para consultas ad hoc, abra una ventana de consulta XMLA o MDX en SQL Server Management Studio. Para ello, haga clic con el botón derecho en la base de datos | Nueva consulta | XMLA) para ejecutar el comando y leer la salida.

Comando DBCC XML en el

La pestaña Resultados mostrará un conjunto de resultados vacío (como se muestra en la captura de pantalla) si no se detectó ningún problema.

La pestaña Mensajes proporciona información detallada, pero no siempre es confiable para las bases de datos más pequeñas. Los mensajes de estado a veces se recortan, indicando que el comando se completó, pero sin los mensajes de comprobación de estado de cada objeto. Un informe de mensaje típico puede ser similar al que se muestra a continuación.

Mensajes notificados desde DBCC para la comprobación de validación de cubo

Executing the query ...  
READS, 0  
READ_KB, 0  
WRITES, 0  
WRITE_KB, 0  
CPU_TIME_MS, 0  
ROWS_SCANNED, 0  
ROWS_RETURNED, 0  
  
<DBCC xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">  
<Object>  
<DatabaseID>AdventureWorksDW2014Multidimensional-EE</DatabaseID>  
<CubeID>Adventure Works</CubeID>  
</Object>  
</DBCC>  
Started checking segment indexes for the 'Internet_Sales_2011' partition.  
Started checking segment indexes for the 'Internet_Sales_2012' partition.  
Finished checking segment indexes for the 'Internet_Sales_2011' partition.  
Started checking segment indexes for the 'Internet_Sales_2013' partition.  
Finished checking segment indexes for the 'Internet_Sales_2012' partition.  
Started checking segment indexes for the 'Internet_Sales_2014' partition.  
Started checking segment indexes for the 'Internet_Orders_2011' partition.  
Finished checking segment indexes for the 'Internet_Sales_2014' partition.  
Started checking segment indexes for the 'Internet_Orders_2012' partition.  
Started checking segment indexes for the 'Internet_Orders_2013' partition.  
Finished checking segment indexes for the 'Internet_Orders_2012' partition.  
...   
Run complete  
  

Resultado al ejecutar DBCC en una versión anterior de Analysis Services

DBCC solo se admite en bases de datos que se ejecutan en una instancia de SQL Server 2017. Si ejecuta el comando en sistemas más antiguos, se devolverá este error.

Executing the query ...  
The DBCC element at line 7, column 87 (namespace http://schemas.microsoft.com/analysisservices/2003/engine) cannot appear under Envelope/Body/Execute/Command.  
Execution complete  
  

Seguimiento de la salida DBCC en SQL Server Profiler

Puede ver el resultado de DBCC en un seguimiento de Profiler que incluye los eventos de Progress Reports (Progress Report Begin, Progress Report Current, Progress Report End y Progress Report Error).

  1. Inicie un seguimiento Consulte Use SQL Server Profiler to Monitor Analysis Services para obtener ayuda acerca de cómo usar SQL Server Profiler con Analysis Services.

  2. Elija Command Begin y Command End y alguno de los eventos de Progress Report , o todos ellos.

  3. Ejecute el comando DBCC en Management Studio en una ventana de consulta XMLA o MDX, utilizando la sintaxis proporcionada en una sección anterior.

  4. En SQL Server Profiler, la actividad de DBCC se indica mediante eventos Command con una subclase de eventos de DBCC:

    Captura de pantalla de los resultados de eventSubclass del generador de perfiles de DBCC SQL Server Analysis Services.

    El código de evento 32 es la ejecución de DBCC.

    El código de evento 64 es un informe de progreso de DBCC sobre objetos individuales.

    El código de evento 63 es una comprobación de segmento para objetos multidimensionales.

    Para ambas subclases de evento, revise los valores TextData para los mensajes devueltos por DBCC.

    Los mensajes de estado comienzan por "Comprobar la coherencia del <objeto>", "Objeto> de comprobación <iniciada" o "Objeto> de comprobación <finalizada".

    Nota:

    En CTP 3.0, los objetos se identifican por nombres internos. Por ejemplo, una jerarquía Categories se articula como H$Categories-objectID<>. Los nombres internos deben reemplazarse por nombres descriptivos en una próxima versión de CTP.

    Los mensajes de error se enumeran más adelante.

Seguimiento de resultados de DBCC en una sesión de xEvent en SSMS

Las sesiones de eventos extendidos pueden usar eventos del generador de perfiles o xEvents. Consulte la sección anterior para obtener instrucciones sobre cómo agregar eventos Command y Progress Report .

  1. Para iniciar una sesión, haga clic con el botón derecho en una sesiónnueva de sesionesde eventos extendidos>>de administración de> bases de datos>. Consulte Supervisión de Analysis Services con SQL Server eventos extendidos para obtener más información.

  2. Elija alguno o todos los eventos de Progress Report para la categoría de eventos Profiler o los eventos de RequestProgress para la categoría PureXevent.

  3. Ejecute el comando DBCC en Management Studio en una ventana de consulta XMLA o MDX, utilizando la sintaxis proporcionada en una sección anterior.

  4. En SSMS, actualice la carpeta de sesiones. Haga clic con el botón derecho en el nombre > de sesión Inspección de datos en directo.

  5. Revise los valores de TextData para los mensajes devueltos por DBCC. TextData es una propiedad de un campo de evento y muestra los mensajes de estado y de error devueltos por el evento.

    Los mensajes de estado comienzan por "Comprobar la coherencia del <objeto>", "Objeto> de comprobación <iniciada" o "Objeto> de comprobación <finalizada".

    Los mensajes de error se enumeran más adelante.

Referencia: comprobaciones de coherencia y errores para bases de datos multidimensionales

En el caso de las bases de datos multidimensionales, solo se validan los índices de partición. Durante la ejecución, DBCC crea un índice temporal para cada partición y lo compara con el índice almacenado en disco. La creación de un índice temporal requiere la lectura de todos los datos de la partición del disco y, a continuación, su mantenimiento en el índice temporal de la memoria con fines de comparación. Dada la carga de trabajo adicional, el servidor puede experimentar un importante consumo de memoria y E/S del disco durante una ejecución de DBCC.

La detección de daños del índice multidimensional incluye las siguientes comprobaciones. Los errores en esta tabla aparecen en seguimientos de errores de xEvent o Profiler a nivel de objeto.

Object Descripción de la comprobación de DBCC Motivo del error
Índice de partición Comprueba los índices y estadísticas del segmento.

Compara el identificador de cada miembro del índice de la partición temporal con las estadísticas de partición almacenadas en disco. Si un miembro se encuentra en el índice temporal con un valor de identificador de datos fuera del intervalo almacenado para las estadísticas del índice de partición en el disco, se considera que las estadísticas para el índice están dañadas.
Las estadísticas del segmento de partición están dañadas.
Índice de partición Valida los metadatos.

Comprueba que cada miembro del índice temporal puede encontrarse en el archivo de encabezado de índice para el segmento en el disco.
El segmento de partición está dañado.
Índice de partición Analiza segmentos para buscar daños físicos.

Lee el archivo de índice en el disco para cada miembro del índice temporal y comprueba que el tamaño del los registros del índice coinciden, y que se marcan las mismas páginas de datos como contenedoras de registros para el miembro actual.
El segmento de partición está dañado.

Referencia: comprobaciones de coherencia y errores para bases de datos tabulares

En la tabla siguiente se muestra una lista de todas las comprobaciones de coherencia realizadas en objetos tabulares, junto con los errores que se producen si la comprobación indica daños. Los errores en esta tabla aparecen en seguimientos de errores de xEvent o Profiler a nivel de objeto.

Object Descripción de la comprobación de DBCC Motivo del error
Base de datos Comprueba la cantidad de tablas de la base de datos. Un valor inferior a cero indica daños. Hay daños en la capa de almacenamiento. La colección de tablas de la base de datos '%{parent/}' está dañada.
Base de datos Comprueba la estructura interna que se utiliza para realizar un seguimiento de la integridad referencial y genera un error si el tamaño es incorrecto. Los archivos de base de datos no superaron las comprobaciones de coherencia.
Tabla Comprueba el valor interno que se usa para determinar si la tabla es una tabla de dimensiones o hechos. Un valor que está fuera del intervalo conocido indica daños. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar las estadísticas de la tabla.
Tabla Comprueba si el número de particiones en la asignación de segmentos de la tabla coincide con el número de particiones definidas para la tabla. Hay daños en la capa de almacenamiento. La colección de particiones de la tabla '%{parent/}' está dañada.
Tabla Si se creó o se importó una base de datos tabular se creó o importados desde PowerPivot para Excel 2010 y tiene un número de particiones superior a uno, se generará un error, ya que la compatibilidad con las particiones se agregó en una etapa posterior y esto indicaría daños. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar la asignación de segmentos.
Partition Comprueba en cada partición que el número de segmentos de datos y la cantidad de registros de cada segmento de datos en el segmento coincide con los valores almacenados en el índice para el segmento. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar la asignación de segmentos.
Partition Genera un error si el número total de registros, segmentos o registros por segmento no es válido (inferior a cero), o si el número de segmentos no coincide con el número calculado de segmentos requeridos en función del número total de registros. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar la asignación de segmentos.
Relación Genera un error si la estructura que se utiliza para almacenar datos acerca de la relación no contiene registros o si el nombre de la tabla utilizada en la relación está vacío. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar las relaciones.
Relación Comprueba que el nombre de la tabla principal, la columna principal, la tabla externa y la columna externa están configurados y que es posible acceder a las columnas y las tablas que participan en la relación.

Comprueba que los tipos de columna implicados son válidos y que el índice de valores de Clave principal-Clave externa resulta en una estructura de consulta válida.
Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar las relaciones.
Hierarchy Genera un error si el criterio de ordenación para la jerarquía no es un valor reconocido. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar la jerarquía '%{hier/}'.
Hierarchy Las comprobaciones realizadas en la jerarquía dependen del tipo interno de asignación de jerarquía utilizado.

Todas las jerarquías se comprueban para verificar el estado de procesado correcto, que el almacén de jerarquía existe y que, cuando sea aplicable, existen las estructuras de datos utilizadas para una conversión de identificador de datos a posición de jerarquía.

Suponiendo que todas las comprobaciones sean correctas, se recorre la estructura de la jerarquía para comprobar que cada posición en la jerarquía señala al miembro correcto.
Si se produce un error en cualquiera de estas pruebas, se genera un error.
Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar la jerarquía '%{hier/}'.
Jerarquía definida por el usuario Comprueba que están configurados los nombres de nivel de jerarquía.

Si se ha procesado la jerarquía, comprueba que el almacén de datos de jerarquía interna tiene el formato correcto. Comprueba que el almacén interno de jerarquía no contiene valores de datos no válidos.

Si la jerarquía está marcada como sin procesar, confirma que este estado se aplica a las estructuras de datos anteriores y que todos los niveles de la jerarquía se marcan como vacíos.
Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar la jerarquía '%{hier/}'.
Columna Genera un error si no se establece la codificación utilizada para la columna en un valor conocido. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar las estadísticas de la columna.
Columna Comprueba si la columna se comprimió por el motor incorporado en la memoria o no. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar las estadísticas de la columna.
Columna Comprueba el tipo de compresión de la columna para valores conocidos. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar las estadísticas de la columna.
Columna Cuando la columna "tokenization" no se establece en un valor conocido, se genera un error. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar las estadísticas de la columna.
Columna Si el intervalo de identificadores almacenados para un diccionario de datos de columnas no coincide con el número de valores en el diccionario de datos o está fuera del intervalo permitido, se producirá un error. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar el diccionario de datos.
Columna Comprueba que el número de segmentos de datos para una columna coincide con el número de segmentos de datos para la tabla a la que pertenece. Hay daños en la capa de almacenamiento. La colección de segmentos en la columna '%{parent/}' está dañada.
Columna Comprueba que el número de particiones de una columna de datos coincide con el número de particiones para la asignación de segmentos de datos para la columna. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar la asignación de segmentos.
Columna Comprueba que el número de registros en un segmento de columna coincide con el número de registros almacenados en el índice para ese segmento de columna. Hay daños en la capa de almacenamiento. La colección de segmentos en la columna '%{parent/}' está dañada.
Columna Si una columna no tiene estadísticas del segmento, se producirá un error. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar las estadísticas del segmento.
Columna Si una columna no tiene información de compresión o almacenamiento de segmento, se producirá un error. Los archivos de base de datos no superaron las comprobaciones de coherencia.
Columna Notifica un error si las estadísticas de segmento para una columna no coinciden con los valores de columna reales para el identificador de datos mínimo, el identificador de datos máximo, el número de valores distintos, el número de filas o la presencia de valores NULL. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar las estadísticas del segmento.
ColumnSegment Si el identificador de datos mínimo o el identificador máximo de datos es menor que el valor reservado del sistema para NULL, marque la información del segmento de columna como dañada. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar las estadísticas del segmento.
ColumnSegment Si no hay filas para este segmento, los valores de datos mínimo y máximo de la columna deben establecerse en el valor reservado del sistema para NULL. Si el valor no es NULL, se producirá un error. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar las estadísticas del segmento.
ColumnSegment Si la columna tiene filas y al menos un valor distinto de NULL, comprueba que el identificador de datos mínimo y máximo para la columna es mayor que el valor reservado para el sistema para NULL. Error en las comprobaciones de coherencia de la base de datos (DBCC) al comprobar las estadísticas del segmento.
Interno Comprueba que está configurada la sugerencia de tokenización de almacén y que, si el almacén se procesa, hay punteros válidos para las tablas internas. Si el almacén no se procesa, comprueba que todos los punteros son nulos.
De lo contrario, devuelve un error genérico de DBCC.
Los archivos de base de datos no superaron las comprobaciones de coherencia.
Base de datos DBCC Genera un error si el esquema de base de datos no tiene tablas o no se puede tener acceso a una o varias tablas. Hay daños en la capa de almacenamiento. La colección de tablas de la base de datos '%{parent/}' está dañada.
Base de datos DBCC Genera un error si una tabla está marcada como temporal o tiene un tipo desconocido. Se ha encontrado un tipo de tabla incorrecto.
Base de datos DBCC Genera un error si el número de relaciones de una tabla tiene un valor negativo, o si una tabla tiene definida una relación y no se encuentra una estructura de relación correspondiente. Hay daños en la capa de almacenamiento. La colección de relaciones en la tabla '%{parent/}' está dañada.
Base de datos DBCC Si el nivel de compatibilidad para la base de datos es 1050 (SQL Server 2008 R2/PowerPivot v1.0) y el número de relaciones supera el número de tablas en el modelo, marca la base de datos como dañada. Los archivos de base de datos no superaron las comprobaciones de coherencia.
Tabla DBCC Para la tabla en la validación, comprueba si el número de columnas es inferior a cero y genera un error si es así. También se produce un error si el almacén de columnas de una columna de la tabla es NULL. Hay daños en la capa de almacenamiento. La colección de columnas de la tabla '%{parent/}' está dañada.
Partición DBCC Comprueba la tabla a la que pertenece la partición que se valida, y si el número de columnas de la tabla es inferior a cero, indica que la colección de columnas se ha dañado para la tabla. También se producirá un error si el almacén de columnas para una columna de la tabla es NULL. Hay daños en la capa de almacenamiento. La colección de columnas de la tabla '%{parent/}' está dañada.
Partición DBCC Itera por cada columna de la partición seleccionada y comprueba que cada segmento de la partición tiene un vínculo válido a una estructura de segmento de columna. Si algún segmento tiene un vínculo NULL, la partición se considera dañada. Hay daños en la capa de almacenamiento. La colección de segmentos en la columna '%{parent/}' está dañada.
Columna Devuelve un error si el tipo de columna no es válido. Se ha encontrado un tipo de segmento incorrecto.
Columna Devuelve un error si alguna columna tiene una cantidad negativa para el número de segmentos de una columna, o si el puntero a la estructura de segmentos de las columnas para un segmento tiene un vínculo NULL. Hay daños en la capa de almacenamiento. La colección de segmentos en la columna '%{parent/}' está dañada.
Comando DBCC El comando DBCC notificará varios mensajes de estado mientras pasa a través de la operación de DBCC. Emitirá un mensaje de estado antes de iniciar que incluye el nombre de la base de datos, la tabla o la columna del objeto, y otro después de finalizar cada comprobación de los objetos. Comprobación de la coherencia del <tipo de objeto objectname<>.> Fase: comprobación previa.

Comprobación de la coherencia del <tipo de objeto objectname<>.> Fase: comprobación posterior.

Soluciones habituales de las condiciones de error

Los errores siguientes aparecerán en SQL Server Management Studio o en archivos de msmdsrv.log. Estos errores aparecen cuando una o varias comprobaciones no se completan correctamente. Dependiendo del error, la solución recomendada es volver a procesar un objeto, eliminar y volver a implementar una solución o restaurar la base de datos.

Error Problema Resolución
Errores del administrador de metadatos.

La referencia de objeto '<objectID>' no es válida. No coincide con la estructura de la jerarquía de clases de metadatos.
comando incorrecto Compruebe la sintaxis del comando. Lo más probable es que haya incluido un objeto de nivel inferior sin especificar uno o varios de sus objetos primarios.
Errores del administrador de metadatos.

<El objeto> con el identificador de '<objectID>' no existe en el <objeto> primario con el identificador de '<parentobjectID>', o el usuario no tiene permisos para tener acceso al objeto.
Daños en el índice (multidimensional) Vuelva a procesar el objeto y los objetos dependientes.
Error durante la comprobación de coherencia de la partición

Error al comprobar la coherencia de la <partición de nombre> de partición del <grupo de medida nombre-grupo de> medida para el <cubo cube-name de la <base de datos database-name>>. Vuelva a procesar la partición o los índices para corregir los daños.
Daños en el índice (multidimensional) Vuelva a procesar el objeto y los objetos dependientes.
Daños en las estadísticas del segmento de la partición Daños en el índice (multidimensional) Vuelva a procesar el objeto y los objetos dependientes.
El segmento de partición está dañado. Daños en los metadatos (tipo multidimensional o tabular) Elimine y vuelva a implementar el proyecto, o restaure una copia de seguridad y procese de nuevo.

Para obtener instrucciones, vea la entrada de blog How to handle corruption in Analysis Services databases (blog) (Reparar bases de datos dañadas de Analysis Services).
Daños en los metadatos de una tabla

El <archivo de metadatos de nombre> de tabla de tabla está dañado. La tabla principal no se encuentra en el nodo DataFileList.
Daños en los metadatos (solo en tipo tabular) Elimine y vuelva a implementar el proyecto, o restaure una copia de seguridad y procese de nuevo.

Para obtener instrucciones, vea la entrada de blog How to handle corruption in Analysis Services databases (blog) (Reparar bases de datos dañadas de Analysis Services).
Daños en la capa de almacenamiento

Daños en la capa de almacenamiento: la colección de <nombre> de tipo en <parent-name><parent-type> está dañada.
Daños en los metadatos (solo en tipo tabular) Elimine y vuelva a implementar el proyecto, o restaure una copia de seguridad y procese de nuevo.

Para obtener instrucciones, vea la entrada de blog How to handle corruption in Analysis Services databases (blog) (Reparar bases de datos dañadas de Analysis Services).
Falta tabla del sistema

Falta el nombre> de tabla de tabla <del sistema.
Daños en objeto (solo en tipo tabular) Vuelva a procesar el objeto y los objetos dependientes.
Daños en las estadísticas de la tabla

Faltan estadísticas de tabla Nombre> de tabla <del sistema.
Daños en los metadatos (solo en tipo tabular) Elimine y vuelva a implementar el proyecto, o restaure una copia de seguridad y procese de nuevo.

Para obtener instrucciones, vea la entrada de blog How to handle corruption in Analysis Services databases (blog) (Reparar bases de datos dañadas de Analysis Services).

Deshabilitación de comprobaciones automáticas de coherencia en las operaciones de carga de base de datos

Aunque no es recomendable, puede deshabilitar las comprobaciones de coherencia de la base de datos integradas que se producen automáticamente en los eventos de carga de la base de datos (solo en bases de datos tabulares). Para ello, tiene que modificar una opción de configuración en el archivo msmdsrv.ini:

<ConfigurationSettings>  
     <Vertipaq />  
          <DisableConsistencyChecks />  

Esta configuración no está presente en el archivo de configuración y debe agregarse manualmente.

Los valores válidos son los siguientes:

  • -2 (predeterminado) DBCC está habilitado. Si el servidor puede resolver lógicamente el error con un alto grado de certeza, se aplicará automáticamente una corrección. De lo contrario, se registrará un error.

  • -1 DBCC está habilitado parcialmente. Está habilitado para RESTORE y en las validaciones previas a la confirmación que comprueban el estado de la base de datos al final de una transacción.

  • 0 DBCC está habilitado parcialmente. Se realizan comprobaciones de coherencia de la base de datos durante las operaciones RESTORE, IMAGELOAD, LOCALCUBELOAD y ATTACH
    .

  • 1 DBCC está deshabilitado. Las comprobaciones de integridad de los datos están deshabilitadas; sin embargo, se llevarán a cabo comprobaciones de deserialización.

Nota:

Este valor no influye en DBCC cuando ejecute el comando a petición.

Consulte también

Procesar base de datos, tabla o partición (Analysis Services)
Procesar un modelo multidimensional (Analysis Services)
Nivel de compatibilidad para modelos tabulares de Analysis Services
Propiedades del servidor en Analysis Services