<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Microsoft SQL Server Development Customer Advisory Team : Performance and Scalability</title><link>http://blogs.msdn.com/sqlcat/archive/tags/Performance+and+Scalability/default.aspx</link><description>Tags: Performance and Scalability</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>New Version of Partition Management Utility Available</title><link>http://blogs.msdn.com/sqlcat/archive/2009/02/23/new-version-of-partition-management-utility-available.aspx</link><pubDate>Tue, 24 Feb 2009 00:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9441797</guid><dc:creator>stuarto</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqlcat/comments/9441797.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcat/commentrss.aspx?PostID=9441797</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;I’m happy to announce availability of an updated version of the SQL Server Partition Management tool – now offering full support for SQL Server 2008 as well as improvements in handling SQL Server 2005.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The tool is available along with source code at &lt;/FONT&gt;&lt;A href="http://www.codeplex.com/SQLPartitionMgmt"&gt;&lt;FONT size=3 face=Calibri&gt;http://www.codeplex.com/SQLPartitionMgmt&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt;. If you’re not already familiar with the tool, it provides a set of commands (at the Command Line or via Powershell) to create a staging table on-demand (including all appropriate indexes and constraints)&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;based on a specific partitioned table and particular partition of interest.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;By calling this executable, with parameters, from maintenance scripts or SSIS packages, DBAs can avoid having to ‘hard code’ table and index definition scripts for staging tables.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The tool eliminates the challenge of keeping such scripts in synch with changes to partition tables’ columns or indexes.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It also provides a fast, single-command shortcut for the operation of quickly deleting all data from a partition.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;The latest version supports new features in SQL Server 2008 such as filtered indexes, new data types, and partition-aligned indexed views.&amp;nbsp; &lt;/FONT&gt;&lt;FONT size=3 face=Calibri&gt;Enjoy! &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;-- Stuart Ozer / SQLCAT&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9441797" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Manageability+_2600_amp_3B00_+Serviceability/default.aspx">Manageability &amp;amp; Serviceability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/ETL/default.aspx">ETL</category></item><item><title>SQL Server Scale Out</title><link>http://blogs.msdn.com/sqlcat/archive/2008/06/12/sql-server-scale-out.aspx</link><pubDate>Thu, 12 Jun 2008 14:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8592972</guid><dc:creator>kevincox</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/sqlcat/comments/8592972.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcat/commentrss.aspx?PostID=8592972</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;After a few recent conversations with CIO and CTO types, I was amazed that there is still the concept out there that SQL Server doesn’t scale well.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;So I sat down to write a lengthy blog to dispel that rumor.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;After doing some research, I found that there is so much already written and available on the web that I decided to gather all the links in one spot and make this blog a launching point for your own research and reading pleasure.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;After reading these, I’m sure you will agree that the SQL Server relational engine will scale to the largest data requirements.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In fact, I will go so far to state that SQL Server will take on the toughest database challenges in the world.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If you don’t agree post a comment here and let me know your opinion.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;If you are already using SQL Server and want to know more about the technical solutions on how to make your situation scale or perform better, go to &lt;/FONT&gt;&lt;A href="http://sqlcat.com/" mce_href="http://sqlcat.com/"&gt;&lt;FONT face=Calibri color=#800080 size=3&gt;http://sqlcat.com&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; and read the variety of technical notes and white papers posted there.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;On this site, you will also find the links to the SQL Server Best Practices site in the upper right corner.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Both these sites contain some of the best how-to guides around SQL Server.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;If you only have a few minutes to read one or two articles and want to get an overview of most of the scalability options, read the one by Roger Wolter on Scaling out SQL Server 2005 or the one by Bob Beauchemin.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;These two overlap a little bit but each has a unique perspective on scale out.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;They will help give you a vision on which option would be right for your project.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNoSpacing style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;Scalability Architecture choices (use for Envisioning and Architecture phases of project)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Scaling Out SQL Server 2005, Roger Wolter, &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa479364.aspx" mce_href="http://msdn.microsoft.com/en-us/library/aa479364.aspx"&gt;&lt;FONT face=Calibri size=3&gt;http://msdn.microsoft.com/en-us/library/aa479364.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Planning, Implementing, and Administering Scaleout Solutions with SQL Server 2005, &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/technet/prodtechnol/sql/2005/scaleout.mspx" mce_href="http://www.microsoft.com/technet/prodtechnol/sql/2005/scaleout.mspx"&gt;&lt;FONT face=Calibri color=#800080 size=3&gt;http://www.microsoft.com/technet/prodtechnol/sql/2005/scaleout.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; , Bob Beauchemin &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Service-Oriented Data Architecture: App-Server:Lite?, David Campbell, &lt;/FONT&gt;&lt;A href="http://research.microsoft.com/research/pubs/view.aspx?tr_id=983" target=_parent mce_href="http://research.microsoft.com/research/pubs/view.aspx?tr_id=983"&gt;&lt;FONT face=Calibri color=#800080 size=3&gt;http://research.microsoft.com/research/pubs/view.aspx?tr_id=983&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.25in; LINE-HEIGHT: normal"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;Academic / Conceptual oriented papers&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Data on the Outside vs. Data on the Inside. An Examination of the Impact of Service Oriented Architectures on Data, Pat Helland, &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms954587.aspx" mce_href="http://msdn.microsoft.com/en-us/library/ms954587.aspx"&gt;&lt;FONT face=Calibri size=3&gt;http://msdn.microsoft.com/en-us/library/ms954587.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Distributed Partitioned Views&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l1 level2 lfo2; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image003.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image003.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;SQL Server Megaservers: Scalability, Availability, Manageability, Jim Gray and Richard Waymire.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;(old article but still has relevant parts) &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/technet/prodtechnol/sql/2000/plan/ssmsam.mspx" target=_parent mce_href="http://www.microsoft.com/technet/prodtechnol/sql/2000/plan/ssmsam.mspx"&gt;&lt;FONT face=Calibri size=3&gt;http://www.microsoft.com/technet/prodtechnol/sql/2000/plan/ssmsam.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;Implementation and Internals&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;(Use for Detail Design phases of project)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Scalability Internals &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/technet/prodtechnol/sql/2005/scaleout.mspx" mce_href="http://www.microsoft.com/technet/prodtechnol/sql/2005/scaleout.mspx"&gt;&lt;FONT face=Calibri color=#800080 size=3&gt;http://www.microsoft.com/technet/prodtechnol/sql/2005/scaleout.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Architecting Service Broker Applications, Roger Wolter, &lt;/FONT&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/aa964144.aspx" target=_parent mce_href="http://msdn2.microsoft.com/en-us/library/aa964144.aspx"&gt;&lt;FONT face=Calibri size=3&gt;http://msdn2.microsoft.com/en-&lt;/FONT&gt;&lt;/A&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/aa964144.aspx" target=_parent mce_href="http://msdn2.microsoft.com/en-us/library/aa964144.aspx"&gt;&lt;FONT face=Calibri size=3&gt;us/library/aa964144.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Achieving Scalability and Availability with Peer-to-Peer Transactional Replication, Michael Blythe, &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/technet/prodtechnol/sql/2005/p2ptranrepl.mspx" target=_parent mce_href="http://www.microsoft.com/technet/prodtechnol/sql/2005/p2ptranrepl.mspx"&gt;&lt;FONT face=Calibri size=3&gt;http://www.microsoft.com/technet/prodtechnol/sql/2005/p2ptranrepl.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Scalable shared databases are supported by SQL Server 2005, &lt;/FONT&gt;&lt;A href="http://support.microsoft.com/default.aspx?scid=kb;en-us;910378" target=_parent mce_href="http://support.microsoft.com/default.aspx?scid=kb;en-us;910378"&gt;&lt;FONT face=Calibri size=3&gt;http://support.microsoft.com/default.aspx?scid=kb;en-us;910378&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Anything on this site:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="http://www.sqlskills.com/whitepapers.asp" mce_href="http://www.sqlskills.com/whitepapers.asp"&gt;&lt;FONT face=Calibri size=3&gt;http://www.sqlskills.com/whitepapers.asp&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Peer-to-Peer Replication&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l1 level2 lfo2; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image003.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image003.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Inside Microsoft.com: Managing SQL Server 2005 Peer-to-Peer Replication, David Lindquist &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/technet/technetmag/issues/2006/07/InsideMSFT/default.aspx" target=_parent mce_href="http://www.microsoft.com/technet/technetmag/issues/2006/07/InsideMSFT/default.aspx"&gt;&lt;FONT face=Calibri size=3&gt;http://www.microsoft.com/technet/technetmag/issues/2006/07/InsideMSFT/default.as&lt;/FONT&gt;&lt;/A&gt;&lt;A href="http://www.microsoft.com/technet/technetmag/issues/2006/07/InsideMSFT/default.aspx" target=_parent mce_href="http://www.microsoft.com/technet/technetmag/issues/2006/07/InsideMSFT/default.aspx"&gt;&lt;FONT face=Calibri size=3&gt;px&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Service Broker&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l1 level2 lfo2; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image003.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image003.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Inside MSDN: Building the MSDN Content Aggregation System, John Mollman, &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/en-us/magazine/cc163586.aspx" mce_href="http://msdn.microsoft.com/en-us/magazine/cc163586.aspx"&gt;&lt;FONT face=Calibri size=3&gt;http://msdn.microsoft.com/en-us/magazine/cc163586.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l1 level1 lfo2; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image002.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Data dependent routing&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l1 level2 lfo2; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image003.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image003.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;MSN: &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/technet/prodtechnol/sql/2005/scddrtng.mspx" mce_href="http://www.microsoft.com/technet/prodtechnol/sql/2005/scddrtng.mspx"&gt;&lt;FONT face=Calibri size=3&gt;http://www.microsoft.com/technet/prodtechnol/sql/2005/scddrtng.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1in; LINE-HEIGHT: normal"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;Comparison &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;&lt;IMG height=12 alt=* src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif" width=12 mce_src="file:///C:/DOCUME~1/kevincox/LOCALS~1/Temp/msohtmlclip1/01/clip_image001.gif"&gt;&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;SQL vs Oracle RAC &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/sql/techinfo/whitepapers/oraclerac.mspx" mce_href="http://www.microsoft.com/sql/techinfo/whitepapers/oraclerac.mspx"&gt;&lt;FONT face=Calibri size=3&gt;http://www.microsoft.com/sql/techinfo/whitepapers/oraclerac.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Note:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;this is a 2-year old doc and some of the RAC problems mentioned in this article have been addressed by Oracle.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;SQL Server is being used to build some of the largest database applications in the world.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Evidence of some these large projects is documented on &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/casestudies" mce_href="http://www.microsoft.com/casestudies"&gt;&lt;FONT face=Calibri color=#800080 size=3&gt;http://www.microsoft.com/casestudies&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;. Mission critical systems in core banking, telecom, stock exchanges, retail and many other industries are using SQL Server to solve their tough business requirements.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Kevin&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8592972" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Recommended+Links/default.aspx">Recommended Links</category></item><item><title>New Best Practices Whitepaper published: &amp;quot;Best Practices for Migrating Non-Unicode Data Types to Unicode&amp;quot;</title><link>http://blogs.msdn.com/sqlcat/archive/2008/01/21/new-best-practices-whitepaper-published-best-practices-for-migrating-non-unicode-data-types-to-unicode.aspx</link><pubDate>Tue, 22 Jan 2008 02:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7190033</guid><dc:creator>Sanjay Mishra</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqlcat/comments/7190033.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcat/commentrss.aspx?PostID=7190033</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;The&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: JA; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt; database system &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'MS Mincho'; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;in a company that is growing internationally&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: JA; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;must support multilingual characters in tables &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;with&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: JA; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt; Unicode data types. &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;Existing d&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: JA; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;atabases &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;that support only&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: JA; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt; non-Unicode information &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;must&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: JA; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;be &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: JA; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;migrate&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;d&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: JA; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt; from non-Unicode data type to Unicode data type. &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'MS Mincho'; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;This paper summarizes best practices for migrating &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: JA; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;database system&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'MS Mincho'; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;s from&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: JA; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'MS Mincho'; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;non-Unicode to Unicode data type&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: JA; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-bidi-font-family: 'Times New Roman'; mso-fareast-font-family: 'Times New Roman'; mso-fareast-language: JA; mso-ansi-language: EN-US; mso-bidi-language: AR-SA"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-theme-font: minor-latin"&gt;&lt;A href="http://download.microsoft.com/download/d/9/4/d948f981-926e-40fa-a026-5bfcf076d9b9/SQL_bestpract_MigrationToUnicode.docx" mce_href="http://download.microsoft.com/download/d/9/4/d948f981-926e-40fa-a026-5bfcf076d9b9/SQL_bestpract_MigrationToUnicode.docx"&gt;http://download.microsoft.com/download/d/9/4/d948f981-926e-40fa-a026-5bfcf076d9b9/SQL_bestpract_MigrationToUnicode.docx&lt;/A&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7190033" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Manageability+_2600_amp_3B00_+Serviceability/default.aspx">Manageability &amp;amp; Serviceability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Development+_2600_amp_3B00_+Programming/default.aspx">Development &amp;amp; Programming</category></item><item><title>New Best Practices Articles Published - Analysis Services Many-to-Many Dimensions: Query Performance Optimization Techniques</title><link>http://blogs.msdn.com/sqlcat/archive/2007/12/21/new-best-practices-articles-published-analysis-services-many-to-many-dimensions-query-performance-optimization-techniques.aspx</link><pubDate>Sat, 22 Dec 2007 02:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6830880</guid><dc:creator>carl.rabeler</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/sqlcat/comments/6830880.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcat/commentrss.aspx?PostID=6830880</wfw:commentRss><description>&lt;DIV class=downloadInfo&gt;&lt;A class="" name=Description&gt;&lt;/A&gt;&lt;SPAN&gt;Many-to-many dimension relationships in SQL Server 2005 Analysis Services (SSAS) enable you to easily model complex source schemas and provide great analytical capabilities. This capability frequently comes with a substantial cost in query performance due to the runtime join required by Analysis Services to resolve many-to-many queries. This best practices white paper discusses three many-to-many query performance optimization techniques, including how to implement them, and the performance testing results for each technique. It demonstrates that optimizing many-to-many relationships by compressing the common relationships between the many-to-many dimension and the data measure group, and then defining aggregations on both the data measure group and the intermediate measure group yields the best query performance. The results show dramatic improvement in the performance of many-to-many queries as the reduction in size of the intermediate measure group increases. Test results indicate that the greater the amount of compression, the greater the performance benefits—and that these benefits persist as additional fact data is added to the main fact table (and into the data measure group).&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class=downloadInfo&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class=downloadInfo&gt;&lt;SPAN&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3494E712-C90B-4A4E-AD45-01009C15C665&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=3494E712-C90B-4A4E-AD45-01009C15C665&amp;amp;displaylang=en&lt;/A&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6830880" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Development+_2600_amp_3B00_+Programming/default.aspx">Development &amp;amp; Programming</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/SQL+Analysis+Service/default.aspx">SQL Analysis Service</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Query+performance/default.aspx">Query performance</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/analysis+services/default.aspx">analysis services</category></item><item><title>New Best Practices Whitepaper Published: The Impact of Changing Collations and of Changing Data Types from Non-Unicode to Unicode</title><link>http://blogs.msdn.com/sqlcat/archive/2007/12/06/new-best-practices-whitepaper-published-the-impact-of-changing-collations-and-of-changing-data-types-from-non-unicode-to-unicode.aspx</link><pubDate>Fri, 07 Dec 2007 02:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6686031</guid><dc:creator>Sanjay Mishra</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/sqlcat/comments/6686031.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcat/commentrss.aspx?PostID=6686031</wfw:commentRss><description>&lt;P class=Text style="MARGIN: 3pt 0in"&gt;&lt;SPAN style="mso-fareast-language: JA"&gt;&lt;FONT face=Verdana&gt;When a business grows internationally, its database system must support multilingual characters in tables. Businesses that previously needed to manage only non-Unicode information must now support database tables that include non-Unicode data types such as CHAR or VARCHAR. As the business grows internationally, it must alter its database system to support Unicode data types. It may also need databases that have different collations across several servers.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Text style="MARGIN: 3pt 0in"&gt;&lt;SPAN style="mso-fareast-language: JA"&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=Text style="MARGIN: 3pt 0in"&gt;&lt;SPAN style="mso-fareast-language: JA"&gt;&lt;FONT face=Verdana&gt;&lt;A href="http://download.microsoft.com/download/d/9/4/d948f981-926e-40fa-a026-5bfcf076d9b9/SQL_bestpract_CollationChange.docx" mce_href="http://download.microsoft.com/download/d/9/4/d948f981-926e-40fa-a026-5bfcf076d9b9/SQL_bestpract_CollationChange.docx"&gt;http://download.microsoft.com/download/d/9/4/d948f981-926e-40fa-a026-5bfcf076d9b9/SQL_bestpract_CollationChange.docx&lt;/A&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=Text style="MARGIN: 3pt 0in"&gt;&lt;SPAN style="mso-fareast-language: JA"&gt;&lt;FONT face=Verdana&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=Text style="MARGIN: 3pt 0in"&gt;&lt;SPAN style="mso-fareast-language: JA"&gt;&lt;FONT face=Verdana&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6686031" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Manageability+_2600_amp_3B00_+Serviceability/default.aspx">Manageability &amp;amp; Serviceability</category></item><item><title>Using ByAttribute or ByTable Processing Group Property with Analysis Services 2005</title><link>http://blogs.msdn.com/sqlcat/archive/2007/10/19/using-byattribute-or-bytable-processing-group-property-with-analysis-services-2005.aspx</link><pubDate>Sat, 20 Oct 2007 07:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5528268</guid><dc:creator>denny.lee</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/sqlcat/comments/5528268.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcat/commentrss.aspx?PostID=5528268</wfw:commentRss><description>&lt;P&gt;As noted within the &lt;A href="http://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/ssas2005perfguide.doc" mce_href="http://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/ssas2005perfguide.doc"&gt;Analysis Services 2005 Performance Guide&lt;/A&gt;, there are some niche situations where setting the Processing Group property to ByTable provides more optimal processing than the default value of ByAttribute. 
&lt;P&gt;In a customer scenario, we had discovered that they had two dimensions (each of which has &amp;gt;25 million members and 8-10 attributes) where the Processing Group property was set to ByTable.&amp;nbsp; While the ByTable setting could theoretically have Analysis Services process faster (because it takes the entire set of dimension data and places it in memory), it didn’t in this case because it had taken approximately 80% of all available memory (approximately 25.6GB out of 32GB physical memory) to place just one dimension into memory.&amp;nbsp; Due to the large size of the dimensions, there were also issues in the dimension processing completing in a timely manner.&amp;nbsp;&amp;nbsp; The setting ByTable is an optimization that bypasses normal checks and assumes that there is enough memory to process all attributes concurrently in memory.&amp;nbsp; If this is not true, this may result in processing issues and/or errors. &amp;nbsp;&amp;nbsp;Therefore, it is important for you to monitor memory usage; especially if dimension size grows over time. 
&lt;P&gt;Note, we had investigated using the MaxParallel setting to limit concurrency.&amp;nbsp; Often this is helpful during partition processing, but it was not helpful during dimension processing for our scenario.&amp;nbsp; We feel it was not useful because the root cause is the large amount of memory consumed when using ByTable, and either it is only one dimension causing the problem, or the memory quota mechanism was sufficient to prevent doing two very large dimensions concurrently. 
&lt;P&gt;With the attribute set to ByAttribute, the maximum amount of memory Analysis Services had to take up during processing was 9GB (vs. 25.6GB on the same server).&amp;nbsp; That is, the default setting in many cases will use less resources and process in a timely manner.&amp;nbsp; &amp;nbsp;More specifically for this scenario, the reason for the processing issues was because of the large size of the dimensions (# of members, # of attributes, etc.) and when using the ByTable setting, AS had tried to put the entire dimension into memory instead of delegating this process to the relational database (i.e. when using the ByAttribute setting). 
&lt;P&gt;Contributors: Denny Lee, Richard Tkachuk, Akshai Mirchandani, Eric Jacobsen &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5528268" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/SQL+Analysis+Service/default.aspx">SQL Analysis Service</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/analysis+services/default.aspx">analysis services</category></item><item><title>SSAS small/big query interaction</title><link>http://blogs.msdn.com/sqlcat/archive/2007/10/19/ssas-small-big-query-interaction.aspx</link><pubDate>Sat, 20 Oct 2007 03:24:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5532471</guid><dc:creator>Eric Jacobsen</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/sqlcat/comments/5532471.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcat/commentrss.aspx?PostID=5532471</wfw:commentRss><description>&lt;P&gt;Default SSAS behavior can sometimes result in small queries being slowed down by concurrently running big queries.&lt;/P&gt;
&lt;P&gt;Recently in working with a customer, we observed the most common queries when run by themselves took about 1 second and some ad-hoc queries against their 110 GB cube took about 3 minutes.&amp;nbsp; When running both together, small query times slowed down to several minutes.&amp;nbsp; This slowdown prevented the customer's project from being successfully deployed.&lt;/P&gt;
&lt;P&gt;There is a configuration parameter that can alter the scheduling of the tasks to allow separate queries to run more independently.&amp;nbsp; The SSAS version that includes the configuration parameter is described in KB article 922852.&amp;nbsp; We worked with the customer to develop a table of configuration parameter values and the resulting query times.&amp;nbsp; Some configuration values resulted in the small query running concurrently with big queries in about the same time as when run independently.&lt;/P&gt;
&lt;P&gt;The scenario we are focused on is a big query that takes substantially more time than a small query, and when run concurrently the small query is observed to substantially slow down.&amp;nbsp; The root cause is the big query spends time in one or more storage engine requests, reading from many partitions having tens or hundreds of gigabytes.&amp;nbsp; Many tasks are queued to a thread pool to handle partitions and segments inside the partitions.&lt;/P&gt;
&lt;P&gt;This scenario and its solution may apply to other customers.&amp;nbsp; However the effectiveness of a proposed solution is based on the root cause of the slow down.&amp;nbsp; if the root cause is different there might not be a benefit from the same solution.&lt;/P&gt;
&lt;P&gt;The steps below can be used to determine similarity to the scenario being discussed.&amp;nbsp; When working with CSS you may be guided to repeat the steps with a different configuration parameter.&lt;/P&gt;
&lt;P&gt;Steps to reproduce scenario:&lt;BR&gt;1. Start small query, wait for completion, record time.&lt;BR&gt;2. Start big query, wait for completion, record time.&lt;BR&gt;3. Restart server.&lt;BR&gt;4. Start big query (but do not wait for completion).&lt;BR&gt;5. Wait 5 seconds then start small query.&amp;nbsp; This wait time might need to be adjusted to get consistent times, for example to 10 or 15 seconds.&amp;nbsp; The effect depends on the nature of the big query.&lt;BR&gt;6. Wait for queries to complete, record times.&lt;/P&gt;
&lt;P&gt;Customers having this circumstance can work with Microsoft Customer Support Services (CSS) and mention CoordinatorQueryBalancingFactor.&amp;nbsp; Please keep in mind server properties that are not public can only be changed after consulting with Microsoft Support.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5532471" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/SQL+Analysis+Service/default.aspx">SQL Analysis Service</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Query+performance/default.aspx">Query performance</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/analysis+services/default.aspx">analysis services</category></item><item><title>Using unformatted cell values it may improve query performance</title><link>http://blogs.msdn.com/sqlcat/archive/2007/09/25/using-unformatted-cell-values-it-may-improve-query-performance.aspx</link><pubDate>Wed, 26 Sep 2007 04:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5125425</guid><dc:creator>Nicholas Dritsas</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/sqlcat/comments/5125425.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcat/commentrss.aspx?PostID=5125425</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;FONT face=Calibri&gt;If a report does not use formatted cell values, query time can be reduced.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;An example is a Reporting Services report that does its own formatting and therefore would not use the formatted values from SSAS.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;By returning only the value of the cell and not its formatted value in MDX, you can achieve better queries performance, sometimes between 5-20%, depending on the size of the cell set.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;The default properties include FORMAT_STRING and FORMATTED_VALUE, and can be omitted by specifying a list of properties.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;An example is to add "cell properties VALUE" at the end of every query.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;select&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; [Measures].[Internet Sales Amount] &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;on&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;columns&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;from&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; [adventure works]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: blue; FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt;cell&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-no-proof: yes"&gt; &lt;SPAN style="COLOR: blue"&gt;properties&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;value&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;SPAN style="FONT-SIZE: 12pt; LINE-HEIGHT: 115%"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5125425" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/SQL+Analysis+Service/default.aspx">SQL Analysis Service</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Query+performance/default.aspx">Query performance</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/analysis+services/default.aspx">analysis services</category></item><item><title>New Best Practices Article</title><link>http://blogs.msdn.com/sqlcat/archive/2007/09/12/new-best-practices-article.aspx</link><pubDate>Wed, 12 Sep 2007 22:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4883398</guid><dc:creator>carl.rabeler</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sqlcat/comments/4883398.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcat/commentrss.aspx?PostID=4883398</wfw:commentRss><description>&lt;A class="" title="Scale Out Querying with Analysis Services Using SAN Snapshots" href="http://download.microsoft.com/download/0/7/4/074ddc16-6dba-431e-b476-dcb4c879f11e/ScaleOutQueryingASUsingSANSnapshots.doc" mce_href="http://download.microsoft.com/download/0/7/4/074ddc16-6dba-431e-b476-dcb4c879f11e/ScaleOutQueryingASUsingSANSnapshots.doc"&gt;Scale-Out Querying with Analysis Services Using SAN Snapshots&lt;/A&gt; &lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4883398" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Manageability+_2600_amp_3B00_+Serviceability/default.aspx">Manageability &amp;amp; Serviceability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Reliability+and+Availability/default.aspx">Reliability and Availability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Development+_2600_amp_3B00_+Programming/default.aspx">Development &amp;amp; Programming</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/SQL+Analysis+Service/default.aspx">SQL Analysis Service</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Query+performance/default.aspx">Query performance</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/analysis+services/default.aspx">analysis services</category></item><item><title>SQL Server Best Practices Article: Identifying and Resolving MDX Query Performance Bottlenecks in SQL Server 2005 Analysis Services</title><link>http://blogs.msdn.com/sqlcat/archive/2007/08/29/sql-server-best-practices-article-identifying-and-resolving-mdx-query-performance-bottlenecks-in-sql-server-2005-analysis-services.aspx</link><pubDate>Wed, 29 Aug 2007 10:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4619828</guid><dc:creator>carl.rabeler</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sqlcat/comments/4619828.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcat/commentrss.aspx?PostID=4619828</wfw:commentRss><description>&lt;P&gt;&lt;A class="" title="Identifying and Resolving MDX Query Performance Bottlenecks in SQL Server 2005 Analysis Services" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=975C5BB2-8207-4B4E-BE7C-06AC86E24C13&amp;amp;displaylang=en" target=_blank mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=975C5BB2-8207-4B4E-BE7C-06AC86E24C13&amp;amp;displaylang=en"&gt;Identifying and Resolving MDX Query Performance Bottlenecks in SQL Server 2005 Analysis Services&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;There are a variety of things that you can do to improve the performance of an individual MDX query. To begin, you must identify the source(s) of the performance bottlenecks in the execution of a poorly performing MDX query. To identify the source(s) of performance bottlenecks, you need to understand how to use the available Microsoft Windows and SQL Server 2005 Analysis Services troubleshooting tools to assist you with identifying bottlenecks and learn how to interpret the information revealed by these tools. This article provides the information about the available tools and demonstrates how to use the most common of these tools to identify and resolve MDX query performance bottlenecks with individual MDX queries.&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4619828" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Development+_2600_amp_3B00_+Programming/default.aspx">Development &amp;amp; Programming</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/SQL+Analysis+Service/default.aspx">SQL Analysis Service</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Query+performance/default.aspx">Query performance</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/analysis+services/default.aspx">analysis services</category></item><item><title>Performance Analysis Tool - DMVStats</title><link>http://blogs.msdn.com/sqlcat/archive/2007/07/13/performance-analysis-tool-dmvstats.aspx</link><pubDate>Fri, 13 Jul 2007 07:38:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:3841164</guid><dc:creator>lingzhuz</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/sqlcat/comments/3841164.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcat/commentrss.aspx?PostID=3841164</wfw:commentRss><description>&lt;p&gt;&lt;strong&gt;&lt;u&gt;Tom Davidson wrote:&lt;/u&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;I've been working with database applications for the last 25 years. A particular area of interest for me is SQL Server performance. As part of the Microsoft SQL Server Development Customer Advisory Team (SQLCAT) for the last 7 years, I've had an opportunity to observe what works (and more importantly what doesn't !) in the enterprise space. One of the key enterprise needs prior to SQL Server 2005, was an effective mechanism for &lt;i&gt;troubleshooting&lt;/i&gt; and &lt;i&gt;performance tuning&lt;/i&gt; for many common user scenarios. SQL Server Development along with SQLCAT &amp;amp; PSS&amp;nbsp;collaborated on defining these common scenarios as well as a mechanism for troubleshooting and performance tuning that ultimately resulted in the SQL Server 2005 feature called Dynamic Management Views (&lt;a href="http://msdn2.microsoft.com/en-us/library/ms188754.aspx"&gt;DMVs&lt;/a&gt;). DMVs provide a consistent and transparent interface to view changing server states.&lt;/p&gt; &lt;p&gt;SQL Server 2005 SP2 does include a helpful Performance Dashboard comprised of a series of Reporting Services reports to identify some performance issues using query statistics such as execution counts, IOs, worker time, and query plans - courtesy of Microsoft's stellar PSS SQL escalation team - Keith Elmore, Bob Ward, Bob Dorr et al. (see &lt;a href="http://blogs.msdn.com/psssql/archive/2007/03/30/sql-server-2005-performance-dashboard-reports.aspx "&gt;Performance Dashboard&lt;/a&gt; for more info). While SQL Server 2005 provides all this &lt;i&gt;great new DMV plumbing&lt;/i&gt;, there are a whole series of common user scenarios that are difficult to analyze and pinpoint. Examples include:&lt;/p&gt; &lt;ol&gt; &lt;li&gt;what happened yesterday or last week? e.g. historical forensics,  &lt;li&gt;trending,  &lt;li&gt;source of obscure or transient waits (*not included in query stats),  &lt;li&gt;comparisons &lt;i&gt;before&lt;/i&gt; and &lt;i&gt;after&lt;/i&gt; application changes&lt;/li&gt;&lt;/ol&gt;Over the last year, I've been working on such a tool called &lt;em&gt;DMVstats&lt;/em&gt; with some of my CAT colleagues&lt;b&gt;.&lt;/b&gt; &lt;em&gt;DMVstats&lt;/em&gt; collects performance oriented DMVs into a data warehouse, and provides a &lt;a href="http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/performance_tuning_waits_queues.mspx"&gt;methodology called 'Waits' and 'Queues'&lt;/a&gt; to identify and track down performance issues.&amp;nbsp;&amp;nbsp; Drill-through analysis is provided by reporting services reports.&lt;br&gt;&lt;em&gt;DMVstats&lt;/em&gt; can be downloaded at &lt;a href="http://www.codeplex.com/sqldmvstats"&gt;http://www.codeplex.com/sqldmvstats&lt;/a&gt;.&amp;nbsp; Please comment on the &lt;em&gt;DMVstats&lt;/em&gt; tool - your comments &amp;amp; suggestions - good or bad, all are welcomed! &amp;nbsp;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3841164" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Recommended+Links/default.aspx">Recommended Links</category></item><item><title>SQL Server 2005 Transactional Replication: Benefit of using SubscriptionStreams for low bandwidth, high latency environments</title><link>http://blogs.msdn.com/sqlcat/archive/2007/05/07/sql-server-2005-transactional-replication-benefit-of-using-subscriptionstreams-for-low-bandwidth-high-latency-environments.aspx</link><pubDate>Tue, 08 May 2007 00:00:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2468575</guid><dc:creator>Sanjay Mishra</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/sqlcat/comments/2468575.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcat/commentrss.aspx?PostID=2468575</wfw:commentRss><description>&lt;H3&gt;&lt;A href="http://blogs.msdn.com/photos/sanjay_mishra/picture2468099.aspx" target=_blank mce_href="http://blogs.msdn.com/photos/sanjay_mishra/picture2468099.aspx"&gt;&lt;/A&gt;Author: Bren Newman&lt;/H3&gt;
&lt;H2&gt;Introduction&lt;/H2&gt;
&lt;P&gt;When using Microsoft SQL Server 2005 Transactional Replication, the Log Reader Agent reads the log, constructs SQL statements for published articles and posts it to the Distribution database; the Distribution Agent reads the Distribution database, delivers and applies the "package" to the Subscriber. Often the Publisher, Distributor and Subscribers are on fast networks resulting in very low total delivery latencies. However on slower networks such as in a geographically distributed environment, the connection speeds are often of low bandwidth with high network latencies - this obviously has a negative effect on total delivery time. Network latency (easily seen when using the ping command) has a substantial negative performance impact and using the new -SubscriptionStreams can provide drastic performance increases.&lt;/P&gt;
&lt;H2&gt;-SubscriptionStreams NN&lt;/H2&gt;
&lt;P&gt;By default (and all previous editions of Microsoft SQL Server) the Distribution Agent uses as single stream to deliver a transaction from the distribution database to the subscriber database. In Microsoft SQL Server 2005 this default behavior can be overridden by specifying the -SubscriptionStreams NN parameter, where NN can be 0 (for non-SQL Server Subscribers or Peer-to-Peer Transactional subscriptions) to 64; where 64 would be a pretty insane number of threads especially if there are multiple Distribution Agents concurrently executing on the same server. The parameter refers to the number of connections allowed per Distribution Agent used to apply batches of changes in parallel to a Subscriber. It's important to note that even though transactions are parallelized, transactional consistency is maintained. This is achieved by cleverly hashing and "bucketizing" the primary key and re-assembly before committal at the subscriber. However, as noted in BOL (ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/rpldata9/html/67084a67-43ff-4065-987a-3b16d1841565.htm), if one of the connections fails to execute or commit, all connections will abort the current batch, and the Distribution Agent will use a single stream to retry the failed batches. Before this retry phase completes, there can be temporary transactional inconsistencies at the Subscriber. After the failed batches are successfully committed, the Subscriber is brought back to a state of transactional consistency.&lt;/P&gt;
&lt;H2&gt;The requirement&lt;/H2&gt;
&lt;P&gt;A very large industry-leading online business required data to be replicated from busy OLTP servers via the internet to geographically distributed offices around the world with low latency and be able to recover/catch-up from loss of connection for up to 24 hours. The "last-mile" local connection speeds varied but were generally of poor quality (i.e. high latency) and low speed/bandwidth. The average office (i.e. subscriber) connected at around 512kbps with average latencies of between 200-600 milliseconds. The Publisher (i.e. OLTP server) and remote Distributor are located on a fast local network and the Distributor server is a dual-core four socket processor.&lt;/P&gt;
&lt;H2&gt;The test&lt;/H2&gt;
&lt;P&gt;The OLTP publisher was "primed" with hundreds of transactions each consisting of approximately 5 to 10 commands per transaction. The Logreader Agent then moved the replicated transactions into the Distribution database. The Distribution Agent was then started and the duration and throughput measured. The network connection between the Distributor and the subscriber was throttled using Network Throttling software (which interfaced directly with network card). Network bandwidth of 512kbps and 128kbps with latencies of 300 milliseconds was tested.&lt;/P&gt;
&lt;H2&gt;Test results/findings&lt;/H2&gt;
&lt;P&gt;On a throttled network with 512kbps bandwidth, 300 millisecond latency and a default of only 1 distribution stream; a throughput of 6.86 commands per second was distributed to the subscriber. When increasing the number of streams to 8; a throughput of 40.34 commands per second was attained - 488% improvement. And when further increasing the number of streams to 16; a throughput of 56.11 commands per second was attained - 718% overall improvement and 39% improvement over 8 streams.&lt;/P&gt;
&lt;P&gt;When the network bandwidth was reduced to only 128kps but the network latency kept at 300 milliseconds; 1 distribution stream delivered 5.9 commands per second, 8 distribution streams delivered 31.54 and 16 distribution streams delivered 28.01 commands per second. Chart number 1 shows these results.&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.msdn.com/photos/sanjay_mishra/picture2468079.aspx" target=_blank mce_href="http://blogs.msdn.com/photos/sanjay_mishra/picture2468079.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.msdn.com/photos/sanjay_mishra/picture2487428.aspx" target=_blank&gt;&lt;/A&gt;&lt;A href="http://blogs.msdn.com/photos/sanjay_mishra/picture2505531.aspx" target=_blank&gt;&lt;/A&gt;&lt;A href="http://blogs.msdn.com/photos/sanjay_mishra/picture2509472.aspx" target=_blank&gt;&lt;IMG height=337 src="http://blogs.msdn.com/photos/sanjay_mishra/images/2509472/original.aspx" width=482 border=0&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Although it's important to notice the hugely positive throughput benefit of using SubscriptionStreams, it's important to note the impact of reduced bandwidth versus increased network latency. The results indicate that network latency has greater negative effect than reduced bandwidth - due to the longer response/acknowledge time for each transaction to be delivered across the network. It's equally important to note that for this test, with very low bandwidth (with high network latency), 16 subscription streams did not improve the delivery rate (in fact, there was a slight decrease). This indicates that bandwidth utilization has been exceeded and there is a negative cost adding more managed parallel threads.&lt;/P&gt;
&lt;P&gt;As the requirement included the ability to recover/catch-up from a loss of connection for up to 24 hours, Chart number 2 shows the effect of the positive performance improvement measured in hours. Over a slow network, without Microsoft SQL Server 2005 Subscription Streams, it would have taken up to 11 hours to catch-up whereas with the feature less than 2 hours is possible. This assumes 24 hours worth of transactions or 240,000 commands waiting to be distributed due to network connection outage (or other scenarios).&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/photos/sanjay_mishra/picture2487461.aspx" target=_blank&gt;&lt;IMG style="WIDTH: 495px; HEIGHT: 355px" height=348 src="http://blogs.msdn.com/photos/sanjay_mishra/images/2487461/original.aspx" width=472 border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/photos/sanjay_mishra/picture2468093.aspx" target=_blank mce_href="http://blogs.msdn.com/photos/sanjay_mishra/picture2468093.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;Conclusion&lt;/H2&gt;
&lt;P&gt;The SubscriptionStreams feature in SQL Server 2005 Transactional Replication can have a highly positive effect on performance, especially over a slower networks; however it must be cautioned that the more threads/connections are opened and if an "error" occurs during reassembly and or committal of the transactions at the subscriber, the number of streams are reduced to 1 and at a later stage increased back to the configured value. The constant toggling between the two states can be costly. It is highly recommended that the optimal number of streams must be carefully tested for each application and environment before rollout.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/photos/sanjay_mishra/picture2487464.aspx" target=_blank&gt;&lt;IMG style="WIDTH: 495px; HEIGHT: 340px" height=369 src="http://blogs.msdn.com/photos/sanjay_mishra/images/2487464/original.aspx" width=531 border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.msdn.com/photos/sanjay_mishra/picture2468099.aspx" target=_blank mce_href="http://blogs.msdn.com/photos/sanjay_mishra/picture2468099.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.msdn.com/photos/sanjay_mishra/picture2468099.aspx" target=_blank mce_href="http://blogs.msdn.com/photos/sanjay_mishra/picture2468099.aspx"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Even on a high bandwidth network with low network latency (e.g. 1gigabit and 0 millisecond latency), configuring the Distribution Agent to use SubscriptionStreams can provide significant performance benefits - as illustrated in Chart 3. Clearly this is a feature worth testing and possibly deploying.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2468575" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Manageability+_2600_amp_3B00_+Serviceability/default.aspx">Manageability &amp;amp; Serviceability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Reliability+and+Availability/default.aspx">Reliability and Availability</category></item><item><title>How to warm up the Analysis Services data cache using Create Cache statement?</title><link>http://blogs.msdn.com/sqlcat/archive/2007/04/26/how-to-warm-up-the-analysis-services-data-cache-using-create-cache-statement.aspx</link><pubDate>Thu, 26 Apr 2007 12:55:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2278430</guid><dc:creator>Nicholas Dritsas</dc:creator><slash:comments>14</slash:comments><comments>http://blogs.msdn.com/sqlcat/comments/2278430.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcat/commentrss.aspx?PostID=2278430</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Goal&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;This document describes how to build Create Cache commands.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Create Cache for Analysis Services (AS) was introduced in SP2 of SQL Server 2005. It can be used to make one or more queries run faster by populating the OLAP storage engine cache first.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Some customers have found certain queries benefit other later queries.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For example, ascmd.exe could be used every hour to execute all queries in a directory keeping the cache ready for subsequent user queries.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The other approach, which has been used, is to create a cache query for each user query.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This is feasible if the MDX query is part of a report, then one simply adds another query that has the side effect of populating the cache, thereby speeding up the next query.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;The root of the problem is that during a query, the AS Server does only local optimizations.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Calculations, mixed granularities, and other more complex MDX statements can result in a chatty communication between the FE (Formula Engine) and the SE (Storage engine).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In AS2000 and earlier, this was also a network round trip.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;By issuing a cache statement, we can populate the cache with one or more subcubes that cover the regions of cube space that the query will actually need.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We often find approximately the same time taken for each subcube query, so the effect can be dramatic overall.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;With this methodology, the collection of MDX queries will appear as first executing inside the storage engine, and second inside the formula engine.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In addition to reducing overall time, this can make it easier to predict the effect of multi-user load testing, because the first part uses 100% of all CPUs, and the second part uses 100% of one CPU.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Summary Steps&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;It is an iterative process.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I would describe the identification of potential scenarios where create cache would help:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0in" type=1&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: blue; mso-layout-grid-align: none; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Run profiler&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: blue; mso-layout-grid-align: none; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Run the query looking for Non-cache SE queries (query subcube filtered by subevent = 2)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: blue; mso-layout-grid-align: none; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Look at the total time of the query vis-à-vis of the sum of the times of the non-cache SE queries.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: blue; mso-layout-grid-align: none; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;If:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;OL style="MARGIN-TOP: 0in" type=a&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: blue; mso-layout-grid-align: none; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;They are pretty close &lt;B style="mso-bidi-font-weight: normal"&gt;and&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: blue; mso-layout-grid-align: none; mso-list: l0 level2 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;There are many non-cache SE queries within the same range of time (not just 1 or 2 time consuming)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;/OL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;then create cache &lt;I style="mso-bidi-font-style: normal"&gt;&lt;U&gt;might&lt;/U&gt;&lt;/I&gt; help.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;There could be variations, but here are one set of steps that have been used successfully:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;1. Extract all MDX queries as separate files.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;2. Add a Create Cache statement to correspond for every MDX query file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;3. Run Clear Cache, Create Cache, then the user query.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;4. Verify that the Create Cache is effective and improve, if necessary.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;5. Work on next query&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;6. When done with all queries, combine the Create Cache into 1 or more Create Cache queries.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;7. Verify the combined Create Cache.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Detailed Description&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Below are details about each of the steps.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;1. Extract MDX queries as separate files&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Placing the queries in separate MDX files, it can be faster to work one by one and verify if each query is handled correctly by Create Cache before moving on. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;1. Start a trace.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;2. Run the report.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;3. Stop the trace.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;4. Extract the queries.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;One way is with SQLProfiler, /File /Export /Extract SQLServer Analysis Serverices Events / Extract All Queries.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This creates a text file, with each query on a separate line.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;When queries have multiple lines this might be confusing, but is easy to add an extra line or otherwise edit.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Either copy each query to a separate file, or, for every query that is being worked on, comment out the other queries.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;2. Add Create Cache for every MDX query&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Below is an example of a Create Cache statement.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;create cache&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;for [MyCube]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;as (&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;{ [USA].[Oregon], [USA].[Colorado], [USA].[Florida], [USA].[Washington]&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;* { [Measures].[mybasemeasure] }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;* { [2006].children, parallelperiod( [Time].[Year], 1, [2006].[Q1].[Jan] ), YTD( parallelperiod( [Time].[Year], 1, [2006].[Q1].[Jan] ) )&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;* { [Products].[Shoes].children }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;It should be apparent that it is basically a crossjoin of each dimension member that is specified in the query.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Note that set expressions are allowed.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;2.a. Add Specified Members&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;First add all members specified in the query.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;NOTE: Create Cache covers static analysis rather than dynamic. MDX with dynamic members will not benefit from this approach.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;2.b. Add Calculated Members and Definitions&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;During execution, the Formula Engine can issue a subcube query which includes calculated members.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;For example, if the cube has a calculated member:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[MyDim].[Calc123] as [MyDim].[A] + [MyDim].[B]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;one should include the following members in Create Cache:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;[MyDim].[A], [MyDim].[B] }&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;2.c. Account for Custom Rollups&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;During execution, there may be custom rollups that affect the calculation.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For example, a custom rollup may involve QTD() or YTD().&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This might be hard to detect since the actual calculations are stored in the relational database.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Custom rollups can be viewed from BI Development Studio.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The dimension must be processed (otherwise the calculations still only exist on the relational database).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;1. Go to Solution Explorer, double-click on the dimension you want to examine.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;2. Click on the Browser tab.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;3. Find the icon for Member Properties, click on it.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Select "Custom Rollup", "Custom Rollup Properties".&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;4. It will display the Custom Rollup (formula) and other properties (such as solve order) for each member.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;For example, if calculations include YTD or PeriodsToDate, the member list should account for that.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;So, if the query includes:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;[Date].[2006].[June],&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;ParallelPeriod( [Date].[2006].[June], [Date].[Year], -1 )&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;YTD( [Date].[2006].[June] )&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;the only calculations resulting in output are [Date].[2005].[June], [Date].[2006].[Jan] ..[Date].[2006].[June]. However, because of indirect relationships, you should also add the member set:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;YTD( ParallelPeriod( [Date].[2006].[June], [Date].[Year], -1 )&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;3. Run Clear Cache, Create Cache, User Query&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Now, it is time to run the Clear Cache statement and examine its effect.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Note that the Cube ID can be specified or left blank to clear the entire database cache entries.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;!-- Can be used through ADOMD.NET ExecuteNonQuery call, or passed to ADODB as CommandText&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;or SQL Server Management Studio XMLA query --&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;Batch xmlns="&lt;/SPAN&gt;&lt;A href="http://schemas.microsoft.com/analysisservices/2003/engine" mce_href="http://schemas.microsoft.com/analysisservices/2003/engine"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#0000ff&gt;http://schemas.microsoft.com/analysisservices/2003/engine&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;"&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;ClearCache&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;Object&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;DatabaseID&amp;gt;FoodCmp&amp;lt;/DatabaseID&amp;gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;CubeID&amp;gt;SalesCube&amp;lt;/CubeID&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/Object&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;/ClearCache&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;lt;/Batch&amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;3.a. Connection string parameters&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;We recommend these parameters to be added at the connection string.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Provider=msolap.3;Datasource=MyServer;Initial Catalog=MyDatabase;Timeout=300;Disable Prefetch Facts=true;Cache Ratio=1&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Provider: &lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;The name of the OLE DB provider, msolap.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Datasource: &lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;The name of the server.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Might be named instance like MyServer\MyInstance.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Initial Catalog:&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;The name of the database to use.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Timeout: &lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Optional number of seconds for command timeout.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This can help to avoid very long runs until the queries are optimized to run faster.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Disable Prefetch Facts: Optional new parameter to disable the Formula Engine heuristic that sends queries for possibly more data than it is requested.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Cache Ratio: &lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Optional parameter to control the conversion from a specified set of members to the subcube query sent to the SE Storage Engine.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Use 1 to send only the specified list.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;3.b. Ways to Execute Queries&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Because the connection string needs to be modified, SQL Server Management Studio cannot be used.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;There are several alternatives:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;1. One could write a small program in C#.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;2. ascmd.exe can execute queries and output time.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The ascmd utility is part of the Yukon Samples kit &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Tahoma','sans-serif'"&gt;–&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt; located here:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e719ecf7-9f46-4312-af89-6ad8702e4e6e&amp;amp;DisplayLang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e719ecf7-9f46-4312-af89-6ad8702e4e6e&amp;amp;DisplayLang=en"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=e719ecf7-9f46-4312-af89-6ad8702e4e6e&amp;amp;DisplayLang=en&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Then look in the C:\Program Files\Microsoft SQL Server\90\Samples\Analysis Services\Administrator\ascmd folder.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;3. Use the mdx sample app from AS2000.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;4. Verify Create Cache is Effective&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;The goal of using Create Cache is to isolate the storage engine and formula engine work and prevent the user query from executing subcube commands.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The SE is multi threaded when the FE is single threaded.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Therefore, one can just use Task Manager to verify if the SE is running.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;During a good run, initially all the CPUs are at 100% since the SE is busy with the Create Cache command.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Then, only one CPU reaches 100% because the FE is busy with the formulas and preparing the result set.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Task Manager is the general way to verify, but to be sure, create a trace and look for event Query Subcube, subevent 2 Non Cache.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The cache subcube queries are fast and generally not an issue for AS.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;(In fact it shows how effective it is to create a cache first.)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;4.a. Improve, if necessary&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;If the user query results in Task Manager CPU spikes (caused by subcube queries), one only needs to determine which members from the main query are not present in the Create Cache statement.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;It might be helpful to look at trace information for Query Subcube Verbose.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It might be that by comparing the ones for the Create Cache with the ones for the user query, some differences can be seen, and that could help discover which members should be added to the Create Cache query.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Another approach is to simplify the query until the problem does not happen.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Try to use binary search to find the critical part of the user query that causes the extra subcubes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;4.b. Eliminate All Subcubes&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;This general technique works well when one can eliminate all subcubes.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;However, it might not be possible to know the set of members in advance (static analysis).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If this is not true, for instance for complex calculations, then the Create Cache technique might not be as beneficial.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Adding members that are not used can be cheap in some cases, for example to add one more product in an already large specified set.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Or it might be expensive, for example to include another large set of data that otherwise would avoid entire partitions.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;One will need to experiment and measure the result, and because sometimes it will be a win and sometimes a loss, we recommend considering several user parameters.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;5. Work on Next Query&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;6. After working with all the main queries, combine the Create Cache into 1 or More Create Cache statements&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;The best number of Create Cache queries depends on their structure (which dimension members involved, which measure group) and member sets.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;1. Different measure groups should be separated unless the dimension members are consistent.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Then, it is just a matter of convenience to combine, since under the covers the measure groups are physically separate.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;2. If one query is covered or almost covered by another one, they should be combined.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;3. If queries are disjoint or mostly disjoint, keep separate.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;We have not experimented greatly, but here is one suggestion.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Execute both scenarios, as separate and combined.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Measure execution time and size of resulting DataCache (from perfmon counter).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Use single combined Create Cache if the combination reduces time to 67% of separate commands and consumes space less than 3 times as much as separate.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;7. Verify the combined Create Cache&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Execute all queries, in this pattern:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;1. Clear Cache&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;2. Create Cache (possibly many queries)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;3. User queries&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-layout-grid-align: none"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'"&gt;Verify the set of queries in the same way as each single query.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;Contributors:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;Eric Jacobsen&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;Cristian Petculescu&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2278430" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Development+_2600_amp_3B00_+Programming/default.aspx">Development &amp;amp; Programming</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Resource+Utilization/default.aspx">Resource Utilization</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/SQL+Analysis+Service/default.aspx">SQL Analysis Service</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Query+performance/default.aspx">Query performance</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/analysis+services/default.aspx">analysis services</category></item><item><title>SSAS Partition Slicing</title><link>http://blogs.msdn.com/sqlcat/archive/2007/03/05/ssas-partition-slicing.aspx</link><pubDate>Tue, 06 Mar 2007 01:10:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1812536</guid><dc:creator>Eric Jacobsen</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/sqlcat/comments/1812536.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcat/commentrss.aspx?PostID=1812536</wfw:commentRss><description>&lt;P&gt;
&lt;TABLE class="" height="100%" cellSpacing=0 cellPadding=0 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=ms-bodyareacell vAlign=top class="ms-bodyareacell"&gt;
&lt;TABLE class=ms-propertysheet id=MSO_ContentTable height="100%" cellSpacing=0 cellPadding=0 width="100%" border=0 class="ms-propertysheet"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=ms-bodyareaframe vAlign=top height="100%" class="ms-bodyareaframe"&gt;
&lt;DIV class=ms-wikicontent&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;
&lt;DIV class=ExternalClass56A7DB2B42A848EEAEA0557D5913E032&gt;&lt;/DIV&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P class=ExternalClass12B0AD03F488468480ADCC60D563A432&gt;&lt;SPAN lang=en-us&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Summary:&lt;/FONT&gt;&lt;/B&gt;&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;SSAS uses partitions to contain cube data.&amp;nbsp; Small cubes might use only one, but for non trivial cubes, cube designers will create partitions based on ease of managing data and to split groups of data.&amp;nbsp; This document discusses how the server uses "slices" to examine partitions at query time.&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;The slices are stored as a range of internal surrogate keys, and can be thought of as a very high level index.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=ExternalClass12B0AD03F488468480ADCC60D563A432&gt;&lt;SPAN lang=en-us&gt;&lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;Using more attributes in the partition definition can potentially improve performance by the ability to exclude partitions.&amp;nbsp; To benefit user queries successfully requires some consideration of the internal way partition slices are used.&amp;nbsp; Note that even though slices might not exclude partitons, we still expect the map indexes to be efficient at retrieving only neccessary data.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=ExternalClass12B0AD03F488468480ADCC60D563A432&gt;&lt;SPAN lang=en-us&gt;&lt;B&gt;&lt;FONT face=Arial size=2&gt;Slice description:&lt;/FONT&gt;&lt;/B&gt;&lt;/SPAN&gt; &lt;BR&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;By "slice" we mean one or more members that limit the multidimensional space.&amp;nbsp; Queries may have a "slice" as a result of including a set of members on an axis, or by placing members or a set in the where clause.&amp;nbsp; Query slices are always a finite set of members.&amp;nbsp; The formula engine may decompose MDX queries into many storage engine queries, which have a simple specification of granularity of each attribute, and a set of slices that limit the contents.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=ExternalClass12B0AD03F488468480ADCC60D563A432&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;Cube partitions each have a slice for each attribute.&amp;nbsp; This slice is either set by the administrator as part of the partition definition, or for MOLAP partitions is created during creation of the bitmap index for the partition.&amp;nbsp; There is one slice per attribute in the partition.&amp;nbsp; (Similarly there is one bitmap index per attribute in the partition.)&amp;nbsp; Because the server automatically discovers the slice it is sometimes referred to as the "auto slice".&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=ExternalClass12B0AD03F488468480ADCC60D563A432&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;The partition slice value is stored in a file in the partition directory, with the name "Info.*.xml".&amp;nbsp; The information stored is the minimum and maxiumum member IDs that are present in the partition, for each attribute.&amp;nbsp; The member IDs are internal to the olap server, and are basically surrogate keys, created as a contiguous set of 32-bit integers starting with 1.&amp;nbsp; This can have an impact when considering the min/max range way that partitions are created.&amp;nbsp; It might be beneficial to change the SQL query for the dimension attributes so that the order in which attributes are returned matches the partitioning slicing scheme.&amp;nbsp; Then the alignment of the internal surrogate keys helps the server at query time eliminate some partitions from being considered.&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;See below the section Design Example.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=ExternalClass12B0AD03F488468480ADCC60D563A432&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;The slice is created during&amp;nbsp;index creation.&amp;nbsp; Index creation is controlled by the number of rows, specified in the config file as &amp;lt;IndexBuildThreshold&amp;gt;, with a default of 4096.&amp;nbsp; Partitions with fewer rows will not have indexes built -- and therefore will not have an "auto slice".&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;
&lt;P class=ExternalClass12B0AD03F488468480ADCC60D563A432&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;Optimal Number and Size of Partitions&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=ExternalClass12B0AD03F488468480ADCC60D563A432&gt;&lt;SPAN lang=en-us&gt;There is not necessarily an optimal number or size of partitions, but some general guidelines exist.&amp;nbsp; In Analysis Services 2005 Performance Guide (see link below), we suggest at most about 2000 partitions, and maximum of about 2 GB or 10-15 million rows in size.&amp;nbsp; Some sites successfully use much larger partitions.&amp;nbsp; For number of partitions, too few can miss opportunities to use slicing or can cause larger time windows for processing.&amp;nbsp; Too many partitions might take more work to manage, cause some slowdowns of operations during processing (improved after SP2 was released), and can slow service startup time due to many more files on disk.&amp;nbsp; Too small partitions might not offer any benefit.&amp;nbsp; Too large partitions might increase the time window for processing past what is available.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=ExternalClass12B0AD03F488468480ADCC60D563A432&gt;&lt;STRONG&gt;Query Time Behavior&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=ExternalClass12B0AD03F488468480ADCC60D563A432&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;During query time&amp;nbsp;all partitions are scanned for possible inclusion, by checking the query slices and partition slices for intersection.&amp;nbsp; This is sequential, but is fast because it involves only integer range comparisons.&amp;nbsp; Partitions that are included will be queried in parallel, and partitions that are excluded are not touched further.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=ExternalClass12B0AD03F488468480ADCC60D563A432&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;There are SQLProfiler trace events for each partition that is used.&amp;nbsp; Which trace event depends on whether the fact table or an aggregation, and each partition could have a separate aggregation definition.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=ExternalClass12B0AD03F488468480ADCC60D563A432&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;Troubleshooting Information&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=ExternalClass12B0AD03F488468480ADCC60D563A432&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;It is important for very large cubes that a partition is not touched unless the query depends upon it.&amp;nbsp; The information generally used to troubleshoot is:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV class=ExternalClass12B0AD03F488468480ADCC60D563A432&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;Trace event Query Subcube Verbose.&amp;nbsp; Check to see which attributes have slices.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;Info.*.xml file, located in the partition.&amp;nbsp; Make sure slices&amp;nbsp;are defined for the attributes used in the query.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;Trace events, can be used to&amp;nbsp;check which partitions are being used.&amp;nbsp; See below.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;In SSAS2005 SP2 and earlier, the following behaviors may have a negative impact on the number of partitions touched.&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN lang=en-us&gt;Aggregations having fewer than &amp;lt;IndexBuildThreshold&amp;gt; rows are not excluded based on slice, even if a slice range exists for the fact table data.&amp;nbsp; One possible work around is to lower the value of the &amp;lt;IndexBuildThreshold&amp;gt; configuration parameter in the server configuration file.&amp;nbsp; However, this is not recommended as it may result in a large number of additional indexes, slowing processing performance.&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN lang=en-us&gt;Queries using "OR" slices do not use partition slices.&amp;nbsp; The OR slice can be identified by a "+" in the trace event Query Subcube Verbose.&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;Both of these issues are expected to be addressed in a future Analysis Services release.&lt;BR&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;&lt;STRONG&gt;Trace Events&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;These are the relevant trace events to examine.&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;&lt;EM&gt;&lt;U&gt;Query Subcube Verbose&lt;/U&gt;&lt;/EM&gt;.&amp;nbsp; This trace event is emitted after the internal storage engine subcube query has completed.&amp;nbsp; The duration shows the total time for creating the datacache.&amp;nbsp; Note that a query will only have one occurring at a time, and many partitions can be read from concurrently.&amp;nbsp; So the start and end times will not overlap other Query Subcube Verbose events.&amp;nbsp; Here is an example part of the output.&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;D:3 (Time) [1 8 52 * 0 0 0 0 0]&amp;nbsp; =&amp;gt;&amp;nbsp;&amp;nbsp; ((All)):[All]&amp;nbsp; (Season):[Winter 2007]&amp;nbsp; (Period):[JANUARY_2007]&amp;nbsp; (Week):*&amp;nbsp; (Day):0&amp;nbsp; (Dimdate):0&amp;nbsp; (Year):0&amp;nbsp; (Half):0&amp;nbsp; (Qtr):0&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;The numbers in square brackets [1 8 52 * 0 ...] have these meanings:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;Single number -&amp;nbsp;The internal surrogate key ID for the member participating in the slice.&amp;nbsp; Note that the first element is often the All level, which by definition only has 1 member, and therefore its ID will always be 1.&amp;nbsp; The member name is displayed.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;'*' - The answer must have granularity for this attribute, and all members are used.&amp;nbsp; There is no slice on this member.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;0 - The answer should not include granularity for this attribute.&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;'+' - A slice is defined with more than 1 member.&amp;nbsp; This is sometimes called an "OR" slice, because the equivalent&amp;nbsp;SQL query would be of the form: where city = 'Seattle' or city = 'Redmond'.&amp;nbsp; The list of members is not displayed.&amp;nbsp; For simple MDX queries it is sometimes possible to infer the list.&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN lang=en-us&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;&lt;U&gt;&lt;EM&gt;Query Subcube.&lt;/EM&gt;&lt;/U&gt;&amp;nbsp; This trace event is not as readable for a human as Query Subcube Verbose.&amp;nbsp; The format is a bitmap of attribute granularities, with dimensions delimited by a comma (",").&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;The same format of information is emitted by the Get Data From Aggregation trace event, and is also inserted into the QueryLog relational database table, if enabled in the configuration file.&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;You can cut and paste this string directly into the AggManager sample to help create aggregations that match your queries, without or in addition to using the QueryLog relational table.&amp;nbsp; (We wish to point out the format can be transferred -- not to suggest creating aggregations by just cutting and pasting.&amp;nbsp; Designing the set of of aggregations is beyond the scope of this document.)&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN lang=en-us&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;TextData from Query Subcube&amp;nbsp;event : 00000000,000000000000000000000000,01110000&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;In this example, there are 3 dimensions, and the query only has granularity on attributes in the 3rd dimension.&amp;nbsp; (Which for this example happened to be the Time dimension.)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/SPAN&gt;&lt;U&gt;&lt;EM&gt;Get Data From Aggregation&lt;/EM&gt;&lt;/U&gt;.&amp;nbsp; This trace event is emitted when reading from a partition, in an aggregation (not from the lowest level fact data).&amp;nbsp; It is not emitted if the partition can be excluded based on the partition's "auto slice".&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;Note that the start and end time will typically overlap the start end end time of other events, because storage engine reads partition data in parallel, and the time will be contained within the time range for Query Subcube and Query Subcube Verbose.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;The ObjectPath trace column tells what partition is being read.&amp;nbsp; Note that Query Subcube and Query Subcube Verbose also have ObjectPath, but are missing the partition information since the query represents the union of all its partitions.&amp;nbsp; The format is as follows.&amp;nbsp; Note that for named instances the server name might be of the form MachineName\S&lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;&lt;SPAN lang=en-us&gt;erverInstanceName.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;ServerName . DatabaseID . CubeID . MeasureGroupID . PartitionName&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;The TextData column contains the name of the aggregation used and the list of attribute granularity for the aggregation used.&amp;nbsp; It will always "cover" (be larger than) the granularity of the Query Subcube.&amp;nbsp; Here is an example:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;TextData from Query Subcube&amp;nbsp;event : 00000000,000000000000000000000000,01110000&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;TextData from Get Data From Aggregation event: Aggregation 1&amp;nbsp; 00000000,000000000000000000000000,01110111&lt;BR&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN lang=en-us&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;&lt;EM&gt;&lt;U&gt;Progress Report Begin, Progress Report End&lt;/U&gt;&lt;/EM&gt;&amp;nbsp; These trace events&amp;nbsp;are emitted when reading from a partition, in the fact data (not from an aggregation).&amp;nbsp; It is not emitted if the partition can be excluded based on the partition's "auto slice".&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN lang=en-us&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;Note that the start and end time will typically overlap the start end end time of other events, because storage engine reads partition data in parallel, and the time will be contained within the time range for Query Subcube and Query Subcube Verbose.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;The ObjectName trace column tells what partition is being read.&amp;nbsp; T&lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;he TextData column also tells the same information.&amp;nbsp; Here is an example:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;TextData from Progress Report Begin event : Started reading data from the 'MyPartitionName' partition.&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;STRONG&gt;Example of Partition Slice Information&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;The exact MDX query is unimportant, so we will just look at the Query Subcube Verbose and some partition information.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;Query Subcube Verbose, from SQLProfiler trace:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;Dimension 0 [Location] (0 0 0 0 0 0 0 0)&amp;nbsp; [Dimlocation]:0&amp;nbsp; [Chain]:0&amp;nbsp; [Division]:0&amp;nbsp; [Region]:0&amp;nbsp; [Area]:0&amp;nbsp; [Store]:0&amp;nbsp; [Location Type]:0&amp;nbsp; [Grouped Stores Ind]:0&lt;BR&gt;Dimension 1 [Product] (0 2 2 14 137 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0)&amp;nbsp; [Dimproduct]:0&amp;nbsp; [Company]:[C SAMPLE]&amp;nbsp; [Brand]:[B 1 SAMPLE]&amp;nbsp; [Group]:[G 105 SAMPLE]&amp;nbsp; [Dept]:[D 1125 SAMPLE]&amp;nbsp; [Category]:0&amp;nbsp; [Range]:0&amp;nbsp; [Style]:0&amp;nbsp; [Colour]:0&amp;nbsp; [Size 1]:0&amp;nbsp; [Size 2]:0&amp;nbsp; [Size]:0&amp;nbsp; [Season Ind]:0&amp;nbsp; [Replenishment]:0&amp;nbsp; [Clearance]:0&amp;nbsp; [RSP]:0&amp;nbsp; [Primary Supplier]:0&amp;nbsp; [Supplier Color]:0&amp;nbsp; [SKU]:0&amp;nbsp; [Size Indicator1]:0&amp;nbsp; [VPN]:0&amp;nbsp; [Sku Description]:0&amp;nbsp; [Latest Cost]:0&amp;nbsp; [Original RSP]:0&lt;BR&gt;Dimension 2 [Time] (0 * * * + 0 0 0)&amp;nbsp; [Dimdate]:0&amp;nbsp; [Week]:*&amp;nbsp; [Period]:*&amp;nbsp; [Season]:*&amp;nbsp; [Day]:+&amp;nbsp; [Year]:0&amp;nbsp; [Qtr]:0&amp;nbsp; [Half]:0&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;The "0" means no granularity for that attribute.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;The "*" means include granularity for that attribute, with all members.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;The "+" means include granularity for that attribute, with a set of members.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;A number means include granularity for that attribute, with one specific member.&amp;nbsp; The number is the internal surrogate key.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;This subcube query included a slice on a set of days.&amp;nbsp; Though the set members are not included in the trace event, for the actual query the set of [Time].[Day] for this example was { 1465, 1466, ... 1492 }.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;So we can expect for this query, that&amp;nbsp;partitions slicing by [Product] or [Time] would be effective at reducing query time by using slice information as a high-level index and reducing the work for the query.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;SQLProfiler Trace information:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;For this example, aggregations were able to answer the subcube query.&amp;nbsp; So the relevant trace events are Progress Report Begin, and Progress Report End.&amp;nbsp; Here are the relevant columns for one trace event.&amp;nbsp; (Note that in SQLProfiler, this is displayed horizontally as one row.)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;EventClass: Progress Report Begin&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;EventSubclass: 14 - Query&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;TextData: Started reading data from the 'Aggregation 9' aggregation.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;DatabaseName: Sample&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;ObjectName: Aggregation 9&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;ObjectID: Aggregation 9&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;ObjectPath: MyMachine.Sample.Sample SMDB.Fact Sales SKU Store Day 0.Sales_W200639.Aggregation 9&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;Note that the partition name is part of the ObjectPath, a trace column that is disabled by default.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P align=left&gt;&lt;SPAN lang=en-us&gt;Here is a subset of info.*.xml for a customer partition&amp;nbsp;year 2005 week 36.&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;We can see that if the query slice contains any of the Product or Time properties, partitions should be excluded.&amp;nbsp; Note that some ranges are narrow (few members),&amp;nbsp;and some ranges are broad.&amp;nbsp; For example,&amp;nbsp;the range for [Product].[Colour] is 2...736, which is not surprising since the product sold in this week probably contains every color.&amp;nbsp; If there was a goal of partitioning also by color or some other product attribute, that would help queries that sliced by that attribute.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;For the example query subcube, w&lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;e expect it to be excluded based on [Time].[Day].&amp;nbsp; For this example, it actually was excluded due to the set of days not in the inclusive range 1101...1107 for the property Day.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DimensionID&amp;gt;Product&amp;lt;/DimensionID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PropertyID&amp;gt;ID Company&amp;lt;/PropertyID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MinIndex&amp;gt;2&amp;lt;/m_MinIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MaxIndex&amp;gt;2&amp;lt;/m_MaxIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DimensionID&amp;gt;Product&amp;lt;/DimensionID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PropertyID&amp;gt;ID Brand&amp;lt;/PropertyID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MinIndex&amp;gt;2&amp;lt;/m_MinIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MaxIndex&amp;gt;2&amp;lt;/m_MaxIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DimensionID&amp;gt;Product&amp;lt;/DimensionID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PropertyID&amp;gt;ID Group&amp;lt;/PropertyID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MinIndex&amp;gt;2&amp;lt;/m_MinIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MaxIndex&amp;gt;21&amp;lt;/m_MaxIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DimensionID&amp;gt;Product&amp;lt;/DimensionID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PropertyID&amp;gt;ID Style&amp;lt;/PropertyID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MinIndex&amp;gt;22&amp;lt;/m_MinIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MaxIndex&amp;gt;325486&amp;lt;/m_MaxIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DimensionID&amp;gt;Product&amp;lt;/DimensionID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PropertyID&amp;gt;ID SKU&amp;lt;/PropertyID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MinIndex&amp;gt;122&amp;lt;/m_MinIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MaxIndex&amp;gt;1307861&amp;lt;/m_MaxIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DimensionID&amp;gt;Product&amp;lt;/DimensionID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PropertyID&amp;gt;Colour&amp;lt;/PropertyID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MinIndex&amp;gt;2&amp;lt;/m_MinIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MaxIndex&amp;gt;736&amp;lt;/m_MaxIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DimensionID&amp;gt;Product&amp;lt;/DimensionID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PropertyID&amp;gt;Size Description1&amp;lt;/PropertyID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MinIndex&amp;gt;2&amp;lt;/m_MinIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MaxIndex&amp;gt;2205&amp;lt;/m_MaxIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DimensionID&amp;gt;Time&amp;lt;/DimensionID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PropertyID&amp;gt;(All)&amp;lt;/PropertyID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MinIndex&amp;gt;1&amp;lt;/m_MinIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MaxIndex&amp;gt;1&amp;lt;/m_MaxIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DimensionID&amp;gt;Time&amp;lt;/DimensionID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PropertyID&amp;gt;ID&amp;nbsp;Season&amp;lt;/PropertyID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MinIndex&amp;gt;11&amp;lt;/m_MinIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MaxIndex&amp;gt;11&amp;lt;/m_MaxIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DimensionID&amp;gt;Time&amp;lt;/DimensionID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PropertyID&amp;gt;ID&amp;nbsp;Period&amp;lt;/PropertyID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MinIndex&amp;gt;39&amp;lt;/m_MinIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MaxIndex&amp;gt;39&amp;lt;/m_MaxIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DimensionID&amp;gt;Time&amp;lt;/DimensionID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PropertyID&amp;gt;ID&amp;nbsp;Week&amp;lt;/PropertyID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MinIndex&amp;gt;159&amp;lt;/m_MinIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MaxIndex&amp;gt;159&amp;lt;/m_MaxIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DimensionID&amp;gt;Time&amp;lt;/DimensionID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PropertyID&amp;gt;ID Day&amp;lt;/PropertyID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MinIndex&amp;gt;1101&amp;lt;/m_MinIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MaxIndex&amp;gt;1107&amp;lt;/m_MaxIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DimensionID&amp;gt;Time&amp;lt;/DimensionID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PropertyID&amp;gt;Dimdate&amp;lt;/PropertyID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MinIndex&amp;gt;1101&amp;lt;/m_MinIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MaxIndex&amp;gt;1107&amp;lt;/m_MaxIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DimensionID&amp;gt;Time&amp;lt;/DimensionID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PropertyID&amp;gt;ID&amp;nbsp;Year&amp;lt;/PropertyID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MinIndex&amp;gt;6&amp;lt;/m_MinIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MaxIndex&amp;gt;6&amp;lt;/m_MaxIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DimensionID&amp;gt;Time&amp;lt;/DimensionID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PropertyID&amp;gt;Id Trdhalf&amp;lt;/PropertyID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MinIndex&amp;gt;8&amp;lt;/m_MinIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MaxIndex&amp;gt;8&amp;lt;/m_MaxIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;MapDataIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DimensionID&amp;gt;Time&amp;lt;/DimensionID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;PropertyID&amp;gt;ID&amp;nbsp;Qtr&amp;lt;/PropertyID&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MinIndex&amp;gt;14&amp;lt;/m_MinIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;m_MaxIndex&amp;gt;14&amp;lt;/m_MaxIndex&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/MapDataIndex&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;&lt;STRONG&gt;Design Example&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;In this example, it is known that for a cube, users often want to query for a particular city and time range.&amp;nbsp; It is common to partition by time, and to improve query time, we can also partition by geographical region.&amp;nbsp; For the real customer cube, there is one city that represents more than 50% of the records.&amp;nbsp; So we want to create a partition that looks graphically something like this:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;
&lt;TABLE class="" style="DISPLAY: inline; FONT-SIZE: 1em; BORDER-COLLAPSE: collapse" border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=ms-rtetablecells style="VERTICAL-ALIGN: top" class="ms-rtetablecells"&gt;
&lt;DIV&gt;2001, BigCity&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD class=ms-rtetablecells style="VERTICAL-ALIGN: top" class="ms-rtetablecells"&gt;
&lt;DIV&gt;2002, BigCity&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD class=ms-rtetablecells style="VERTICAL-ALIGN: top" class="ms-rtetablecells"&gt;
&lt;DIV&gt;2003, BigCity&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD class=ms-rtetablecells style="VERTICAL-ALIGN: top" class="ms-rtetablecells"&gt;
&lt;DIV&gt;2004, BigCity&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD class=ms-rtetablecells style="VERTICAL-ALIGN: top" class="ms-rtetablecells"&gt;
&lt;DIV&gt;2005, BigCity&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-rtetablecells style="VERTICAL-ALIGN: top" class="ms-rtetablecells"&gt;
&lt;DIV&gt;2001, OtherCities&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD class=ms-rtetablecells style="VERTICAL-ALIGN: top" class="ms-rtetablecells"&gt;
&lt;DIV&gt;
&lt;DIV&gt;2002, OtherCities&lt;/DIV&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD class=ms-rtetablecells style="VERTICAL-ALIGN: top" class="ms-rtetablecells"&gt;
&lt;DIV&gt;
&lt;DIV&gt;2003, OtherCities&lt;/DIV&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD class=ms-rtetablecells style="VERTICAL-ALIGN: top" class="ms-rtetablecells"&gt;
&lt;DIV&gt;
&lt;DIV&gt;2004, OtherCities&lt;/DIV&gt;&lt;/DIV&gt;&lt;/TD&gt;
&lt;TD class=ms-rtetablecells style="VERTICAL-ALIGN: top" class="ms-rtetablecells"&gt;
&lt;DIV&gt;
&lt;DIV&gt;2005, OtherCities&lt;/DIV&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;Remember that improving query time is by excluding partitions, and that is done by ensuring discontiguous ID ranges.&amp;nbsp; The IDs are surrogate keys created during dimension processing.&amp;nbsp; So for this example, it is required that during dimension processing, the query for Country, Province, and City, will result in BigCity being either before or after the other cities (and provinces and&amp;nbsp;countries).&amp;nbsp; For example, if it is in the middle, we will get these ranges:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;BigCity partition: MinIndex = 500, MaxIndex = 500&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;OtherCites partition: MinIndex = 1, MaxIndex = 1000&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;Therefore a query with slice on SmallCity with ID = 123 would exclude the BigCity partitions, but a query with slice on BigCity would not be able to exclude OtherCities partitons, and would take longer.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;The preferred result is a set of exclusive ranges (without overlap).&amp;nbsp; Thus a query with slice on BigCity will exclude 50% of the partitions, and a query with slice on SmallCity will exclude 50% of the partitions.&amp;nbsp; This is optimal.&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN lang=en-us&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;BigCity partition: MinIndex = 1, MaxIndex = 1&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;OtherCites partition: MinIndex = 2, MaxIndex = 1000&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;So we know the goal, and should check the info.*.xml files after processing, to ensure they form exclusive ranges, and check representative MDX queries, and check the Query Subcube Verbose trace events.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;Ordering the rows during dimension processing can be done using a&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;named query as the source of the dimension in the DSV. One could define a different named query for each attribute.&amp;nbsp; There is a chance this could hurt performance of dimension processing if any operation needed a join.&amp;nbsp; Another approach is to &lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;substitute a view for the dimension table, to perform the appropriate sorting.&amp;nbsp; Note that at present we have not actually done this, but we believe this approach will work.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;&lt;STRONG&gt;Further Reading&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;Analysis Services 2005 Performance Guide&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN lang=en-us&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;&lt;A href="http://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SSAS2005PerfGuide.doc" mce_href="http://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SSAS2005PerfGuide.doc"&gt;http://download.microsoft.com/download/8/5/e/85eea4fa-b3bb-4426-97d0-7f7151b2011c/SSAS2005PerfGuide.doc&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;AggManager, part of the SP2 samples.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN lang=en-us&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e719ecf7-9f46-4312-af89-6ad8702e4e6e&amp;amp;DisplayLang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e719ecf7-9f46-4312-af89-6ad8702e4e6e&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=e719ecf7-9f46-4312-af89-6ad8702e4e6e&amp;amp;DisplayLang=en&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;[end]&lt;/SPAN&gt;&lt;SPAN lang=en-us&gt;&lt;FONT face=Arial size=2&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;
&lt;TABLE class=ms-formtable id=formTbl cellSpacing=0 cellPadding=0 width="100%" border=0 class="ms-formtable"&gt;
&lt;TBODY&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;TABLE class="" cellSpacing=0 cellPadding=2 width="100%" border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD class=ms-descriptiontext id=onetidinfoblock2 class="ms-descriptiontext"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/PLACEHOLDER&gt;&lt;/TD&gt;
&lt;TD class=ms-rightareacell class="ms-rightareacell"&gt;
&lt;DIV class=ms-pagemargin&gt;&lt;IMG height=1 alt="" src="http://mswikis/_layouts/images/blank.gif" width=10 mce_src="http://mswikis/_layouts/images/blank.gif"&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=ms-pagebottommarginleft class="ms-pagebottommarginleft"&gt;&lt;IMG height=10 alt="" src="http://mswikis/_layouts/images/blank.gif" width=1 mce_src="http://mswikis/_layouts/images/blank.gif"&gt;&lt;/TD&gt;
&lt;TD class=ms-pagebottommargin class="ms-pagebottommargin"&gt;&lt;IMG height=10 alt="" src="http://mswikis/_layouts/images/blank.gif" width=1 mce_src="http://mswikis/_layouts/images/blank.gif"&gt;&lt;/TD&gt;
&lt;TD class=ms-bodyareapagemargin class="ms-bodyareapagemargin"&gt;&lt;IMG height=10 alt="" src="http://mswikis/_layouts/images/blank.gif" width=1 mce_src="http://mswikis/_layouts/images/blank.gif"&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1812536" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Development+_2600_amp_3B00_+Programming/default.aspx">Development &amp;amp; Programming</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Resource+Utilization/default.aspx">Resource Utilization</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/SQL+Analysis+Service/default.aspx">SQL Analysis Service</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/analysis+services/default.aspx">analysis services</category></item><item><title>Check out the exciting new SQL Server Best Practices website.....</title><link>http://blogs.msdn.com/sqlcat/archive/2006/12/08/check-out-the-exciting-new-sql-server-best-practices-website.aspx</link><pubDate>Sat, 09 Dec 2006 01:31:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1242261</guid><dc:creator>thomasda</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/sqlcat/comments/1242261.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sqlcat/commentrss.aspx?PostID=1242261</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/default.mspx"&gt;http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/default.mspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Get the real-world guidelines, expert tips, and rock-solid guidance to take your SQL Server implementation to the next level. Drawing on the extensive experience and expertise from respected developers and engineers at Microsoft as they walk you through the specifics on solving particularly difficult issues.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1242261" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Performance+and+Scalability/default.aspx">Performance and Scalability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Manageability+_2600_amp_3B00_+Serviceability/default.aspx">Manageability &amp;amp; Serviceability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Reliability+and+Availability/default.aspx">Reliability and Availability</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Development+_2600_amp_3B00_+Programming/default.aspx">Development &amp;amp; Programming</category><category domain="http://blogs.msdn.com/sqlcat/archive/tags/Resource+Utilization/default.aspx">Resource Utilization</category></item></channel></rss>