Business Intelligence Blogs

View blogs by industry experts on topics such as SSAS, SSIS, SSRS, Power BI, Performance Tuning, Azure, Big Data and much more! You can also sign up to post your own business intelligence blog.

«September 2015»
MonTueWedThuFriSatSun
31123

Executing DBCC for SQL Server Analysis Services 2016

In the upcoming release of SQL Server Analysis Services 2016, one of the new features you’ll see is the ability to perform a database consistency check against your SSAS cubes and Tabular models. Just like in the database engine side of things, DBCC for SSAS checks for corruption across the entire database or individual objects within the database.

The DBCC command is shaped likes the XMLA Process command so there’s not a lot of complexity to it. Below here, you can see the basic syntax for the SSAS DBCC command. Its worthing noting that the syntax of the command will look the same whether you’re running it against an SSAS multidimensional database or Tabular model.

"http://schemas.microsoft.com/analysisservices/2003/engine">
    <Object>
        
        
        
        
    Object>

To run the DBCC command, just open a new MDX query window and use the code seen above. Enter in the IDs of your Database, cube, measure and/or partition.

When you’re running the DBCC command against a Tabular model, there are a couple things I’d like to point out.

In the element for the CubeID, you’ll need to specify the ID of the Model. And in the element for the MeasureGroupID, specify the ID for the table you want to check.

DBCC XMLA command for SSAS

If you want to check the whole database or model for consistency, simply remove the elements the lower elements. For example, if I wanted to check the whole model, I just would leave out the elements for MeasureGroupID and PartitionID.

To find the MeasureGroupID (Table ID) or PartitionID in a Tabular model, just navigate to the Properties for that object.

Find the SSAS Tabular MeasureGroup ID or Table ID

To find the Partition ID in a Tabular model, right click the table and select Partitions. Then highlight the partition you want to check and click the Settings icon.

Find the SSAS Tabular partition ID

If you run SQL Server Profiler against SSAS while executing the DBCC command, you can see the individual checking of the columns, tables, database and more.

SSAS Tabular Profiler trace DBCC

I also ran a trace against my SSAS 2016 OLAP instance to watch each segment of

Read more
456
78910111213
14151617181920
21222324252627
2829301234
567891011

Why Query When You Can LINQ

  • 27 April 2010
  • Author: Ben Evans
  • Number of views: 1685
  • 0 Comments

Why Query When You Can LINQ

 

INTRODUCTION TO LINQ

LINQ is a abbreviation for Language Integrated Query, Which is just a fancy way of saying in that while in .net code you can write out your queries as if it were as simple as any other statement in you native programming language. For instance back it that distant past of 2006 a c# programmer would create a data table receiving object or some other in memory container. Then if up to standards create a data read and write object for the particular database, which would eventually have a query would be called with it filling the data table. But what if in memory objects, relational databases, and XML files could all be treated the same as OBJECTS! Objects such a magical word to us programmers, it could bring a tear. But it doesn’t stop there, there is in fact some performance gains to think over.

LINQ Performance

Of course the numbers vary based on circumstance and almost any bit of code can show slow performance if written incorrectly. With this in mind Uncompiled LINQ performance is will not wow anyone. It is in fact about 20% slower than traditional queries. But once compiled LINQ can show performance increases up to x6.0. Here is a great LINQ comparison with ADO.net.

Using LINQ

LINQ can integrate with a database in several ways. At heart LINQ is O/RM which means it would best work directly with the database, making each table an object. Each object can then be joined as needed and CRUD operations performed. Okay, I know you DBA’s out there are not to happy with that prospect! But LINQ also supports views and stored procedures. Here is a few examples.

[Table(Name="Products")]
public class Customer
{
            [Column(Id=true)]
            public string ProductID;

            [Column]
            public string ProductName;

[Column]
            public string Description;

[Column]
            public string Quantity;
}


V

Vola our object is created know lets use it.

DataContext db = new DataContext();

var q = from p in db.Products
            where p.ProductName == "DTS xChange"
            select p;

 

Further Reading and Sources

Here are a few articles that have helped me and may interest you.

Intro to LINQ

MSDN LINQ

Good Bye SP's

LINQ vs. ADO.net

Print
Categories: Blogs
Tags:
Rate this article:
No rating

Please login or register to post comments.