TechNet
Export (0) Print
Expand All

Retrieving Metadata from an Analytical Data Source

 

Applies To: SQL Server 2016 Preview

Metadata is important to applications that retrieve and work with analytical data. When retrieving data from a relational data source, the dimensionality of such data is predictable, even with nested datasets. Result sets from a relational database are typically two-dimensional or scalar in structure. However, data retrieved from analytical data sources can be of variable dimensionality, organized along potentially deep hierarchies.

To handle the complexity of metadata retrieval from analytical data sources, ADOMD.NET provides two forms of metadata retrieval:

The Object Model
The ADOMD.NET object model is generally easier to use than schema rowsets. For most scenarios, you can access the metadata of various database objects just by using the object model. ADOMD.NET exposes the object model through the AdomdConnection.

For more information: Working with the ADOMD.NET Object Model

Schema Rowsets
A complete, but more difficult approach to retrieving metadata is through using schema rowsets. A schema rowset is an OLE DB rowset that encapsulates the description for all objects of a particular type in the database. Schema information in an analytical data source includes databases or catalogs available from the data source, cubes and mining models in a database, roles that exist for cubes at the data source, and so on. This metadata can be retrieved by using the GetSchemaDataSet method, passing in either a GUID or an XML for Analysis (XMLA) name.

For more information: Working with Schema Rowsets in ADOMD.NET

Each of these metadata retrieval methods access different types of metadata. The following table describes the different metadata available for each method, and the methods used to access it.

GUID (used in Schema Rowsets)XMLA Name (used in Schema Rowsets)ADOMD.NET Object Model
ActionsMDSCHEMA_ACTIONS Rowset
CatalogsDBSCHEMA_CATALOGS Rowset
ColumnsDBSCHEMA_COLUMNS Rowset
ConnectionsDISCOVER_CONNECTIONS
CubesMDSCHEMA_CUBES RowsetAdomdConnection.Cubes
DataSourcesDISCOVER_DATASOURCES Rowset
DBConnectionsDISCOVER_DB_CONNECTIONS
DimensionsMDSCHEMA_DIMENSIONS RowsetAdomdConnection.Cubes[].Dimensions
DimensionStatDISCOVER_DIMENSION_STAT
EnumeratorsDISCOVER_ENUMERATORS Rowset
FunctionsMDSCHEMA_FUNCTIONS Rowset
HierarchiesMDSCHEMA_HIERARCHIES RowsetAdomdConnection.Cubes[].Dimensions[].Hierarchies
InputDataSourcesMDSCHEMA_INPUT_DATASOURCES Rowset
InstancesDISCOVER_INSTANCES Rowset
JobsDISCOVER_JOBS
KeywordsDISCOVER_KEYWORDS Rowset (OLE DB for OLAP)
KpisMDSCHEMA_KPIS RowsetAdomdConnection.Cubes[].KPIs
LevelsMDSCHEMA_LEVELS RowsetAdomdConnection.Cubes[].Dimensions[].Hierarchies[].Levels
LiteralsDISCOVER_LITERALS Rowset
LocationsDISCOVER_LOCATIONS
LocksDISCOVER_LOCKS
MasterKeyDISCOVER_MASTER_KEY
MeasureGroupDimensionsMDSCHEMA_MEASUREGROUP_DIMENSIONS Rowset
MeasureGroupsMDSCHEMA_MEASUREGROUPS Rowset
MeasuresMDSCHEMA_MEASURES RowsetAdomdConnection.Cubes[].Measures
MemberPropertiesMDSCHEMA_PROPERTIES RowsetPropertyCollection available from most major ADOMD.NET objects.
MembersMDSCHEMA_MEMBERS RowsetAdomdConnection.Cubes[].Dimensions[].Hierarchies[].Levels[].GetMembers()
MemoryGrantDISCOVER_MEMORYGRANT
MemoryUsageDISCOVER_MEMORYUSAGE
MiningColumnsDMSCHEMA_MINING_COLUMNS RowsetAdomdConnection.MiningModels[].MiningModelColumns
MiningFunctionsDMSCHEMA_MINING_FUNCTIONS Rowset
MiningModelContentDMSCHEMA_MINING_MODEL_CONTENT RowsetAdomdConnection.MiningModels[].MiningContentNodes
MiningModelContentPmmlDMSCHEMA_MINING_MODEL_CONTENT_PMML Rowset
MiningModelsDMSCHEMA_MINING_MODELS RowsetAdomdConnection.MiningModels
MiningModelXmlDMSCHEMA_MINING_MODEL_XML Rowset
MiningServiceParametersDMSCHEMA_MINING_SERVICE_PARAMETERS RowsetAdomdConnection.MiningServices[].MiningServiceParameters
MiningServicesDMSCHEMA_MINING_SERVICES RowsetAdomdConnection.MiningServices
MiningStructureColumnsDMSCHEMA_MINING_STRUCTURE_COLUMNS RowsetAdomdConnection.MiningStructures[].MiningStructureColumns
MiningStructuresDMSCHEMA_MINING_STRUCTURES RowsetAdomdConnection.MiningStructures
PartitionDimensionStatDISCOVER_PARTITION_DIMENSION_STAT
PartitionStatDISCOVER_PARTITION_STAT
PerformanceCountersDISCOVER_PERFORMANCE_COUNTERS
ProviderTypesDBSCHEMA_PROVIDER_TYPES Rowset
SchemaRowsetsDISCOVER_SCHEMA_ROWSETS Rowset
SessionsDISCOVER_SESSIONS
SetsMDSCHEMA_SETS RowsetAdomdConnection.Cubes[].NamedSets
TablesDBSCHEMA_TABLES Rowset
TablesInfoDBSCHEMA_TABLES_INFO
TraceColumnsDISCOVER_TRACE_COLUMNS
TraceDefinitionProviderInfoDISCOVER_TRACE_DEFINITION_PROVIDERINFO
TraceEventCategoriesDISCOVER_TRACE_EVENT_CATEGORIES
TracesDISCOVER_TRACES
TransactionsDISCOVER_TRANSACTIONS
XmlaPropertiesDISCOVER_PROPERTIES Rowset
XmlMetadataDISCOVER_XML_METADATA Rowset

ADOMD.NET Client Programming
ADOMD.NET Client Programming
Analysis Services Schema Rowsets

Community Additions

ADD
Show:
© 2016 Microsoft