It skips remote, empty, or unprocessed partitions. A database must be processed before you can run DBCC.
Note that SSAS DBCC messages are not reported to the Windows application event log or the msmdsrv.log file.ĭBCC checks for physical data corruption, as well as logical data corruption that occur when orphaned members exist in a segment. Additionally, you can use either SQL Server 2017 Profiler or Analysis Services 圎vents to view DBCC output. In SQL Server Management Studio, you can invoke DBCC using either an MDX or XMLA query window. To run DBCC on objects higher up the object chain, delete any lower-level object ID elements you don't need: įor tabular 110x databases, the object definition syntax is modeled after the syntax of Process command (specifically, in how tables are mapped to dimensions and measure groups).ĬubeID maps to the model ID, which is Model. See Object Element (XMLA) for more information about the object definition. You can run DBCC against specific database objects, including the entire database. Command syntax for Multidimensional and Tabular 110x databasesĭBCC uses identical syntax for multidimensional as well as tabular 11 databases. You can get object names and DatabaseID from Management Studio, through the property page of each object. You can omit lower-level objects, such as table or partition names, to check the entire schema. Key differences between the two syntaxes include a newer XMLA namespace, no element, and no element (there is still only one model per database). The complete DBCC syntax for a tabular database created at a SQL Server 2016 functional level is illustrated in the following example. Tabular databases at the 1200 and higher compatibility levels use tabular metadata for object definitions. See Grant database permissions (Analysis Services) or Grant server admin rights to an Analysis Services instance for instructions. You must be an Analysis Services database or server administrator (a member of the server role) to run the command. If you have other tasks in mind, such as collecting information, try using AMO PowerShell or XMLA scripts instead. DBCC in Analysis Services is a single command that reports exclusively on data corruption across the database or on individual objects. If you're familiar with DBCC (Transact-SQL), you'll quickly notice that the DBCC in Analysis Services has a much narrower scope. Just make sure you're using the right command syntax for each database type. Metadata for new Tabular model databases at compatibility level 1200 and higher consist of descriptors like TableName and PartitionName.ĭBCC for Analysis Services will execute on any Analysis Services database at any compatibility level, as long as the database is running on a SQL Server 2016 instance. Multidimensional + pre-SQL Server 2016 Tabular 1100 or 1103 compatibility level databases are described in Multidimensional modeling constructs like cubeID, measuregroupID, and partitionID. Check operations on Multidimensional databases involve reading data from disk, constructing temporary indexes for comparison against actual indexes - all of which takes significantly longer to complete.Ĭommand syntax for DBCC uses the object metadata specific to the type of database you are checking: The range of validation checks will vary by mode, with Tabular databases subject to a broader range of checks.Ĭharacteristics of a DBCC workload also varies by server mode. In contrast, consistency checks for Multidimensional databases happen only when you run DBCC on demand.
In this article, you'll learn how to run the command, interpret results, and address any problems that arise.įor Tabular databases, consistency checks performed by DBCC are equivalent to the built-in validation that occurs automatically every time you reload, synchronize, or restore a database. The command takes an object definition and returns either an empty result set or detailed error information if the object is corrupted. You can execute DBCC in an MDX or XMLA query window in SQL Server Management Studio (SSMS) and trace the DBCC output in either SQL Server Profiler or 圎vent sessions in SSMS. DBCC provides on-demand database validation for Multidimensional and Tabular databases on an Analysis Services instance.