<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.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>Premier Field Engineering</title><link>http://blogs.technet.com/b/mspfe/</link><description>Microsoft Premier Field Engineering - The Official Blog</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Touch-friendly layouts with Outlook Web App 2013</title><link>http://blogs.technet.com/b/mspfe/archive/2013/05/16/touch-friendly-layouts-with-outlook-web-app-2013.aspx</link><pubDate>Wed, 15 May 2013 23:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3571826</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mspfe/rsscomments.aspx?WeblogPostID=3571826</wfw:commentRss><comments>http://blogs.technet.com/b/mspfe/archive/2013/05/16/touch-friendly-layouts-with-outlook-web-app-2013.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.technet.com/b/matabra/"&gt;Matt Abraham&lt;/a&gt; posts a few top tips on &lt;a href="http://blogs.technet.com/b/matabra/archive/2013/05/09/new-layout-options-for-outlook-web-app-in-exchange-2013-and-office-365-post-upgrade.aspx"&gt;making Exchange 2013’s version of OWA more touch-friendly&lt;/a&gt;, simply by modifying the address!&lt;/p&gt;  &lt;p&gt;Among his tips are &lt;strong&gt;twide&lt;/strong&gt; (touch, wide) and &lt;strong&gt;tnarrow&lt;/strong&gt; (touch, narrow):&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;You can modify the Outlook Web App view with a couple of easy switches, which can be saved in your favourites!&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;The first is designed for your tablet. Just add &lt;strong&gt;&lt;font style="background-color: #ffff00"&gt;?layout=twide&lt;/font&gt;&lt;/strong&gt; to your OWA URL (eg. &lt;/em&gt;&lt;a href="https://mail.contoso.com/owa/?layout=twide"&gt;&lt;em&gt;https://mail.contoso.com/owa/&lt;strong&gt;?layout=twide&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;) It will now look like this&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;img src="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-14-metablogapi/3443.image_5F00_6D6A3F97.png" width="640" height="360" /&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Much easier to see on a small screen, and much more finger friendly. Especially when viewed through Modern IE on a Surface/Touch device!.&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;But what if you are on a phone? Try adding &lt;strong&gt;&lt;font style="background-color: #ffff00"&gt;?layout=tnarrow&lt;/font&gt;&lt;/strong&gt; and you will get the view below (beautifully demonstrated through the WP8 emulator)&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;img src="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-89-14-metablogapi/2388.image_5F00_3F3043DD.png" width="207" height="370" /&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;Perfect for a mobile OWA wouldn’t you say?&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Yes, yes I would. Looks great! Can’t wait for my mail server to make it to Exchange 2013.&lt;/p&gt;  &lt;p&gt;There are a few more address-bar nuggets at &lt;a href="http://blogs.technet.com/b/matabra/archive/2013/05/09/new-layout-options-for-outlook-web-app-in-exchange-2013-and-office-365-post-upgrade.aspx"&gt;his post&lt;/a&gt;.&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;em&gt;&lt;font size="1"&gt;Posted by &lt;/font&gt;&lt;/em&gt;&lt;a href="http://blogs.technet.com/b/tristank/"&gt;&lt;em&gt;&lt;font size="1"&gt;Tristan Kington&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;, MSPFE Editor. Tristan, Tristan, Tristan: you don’t T me no good no more.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3571826" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Outlook/">Outlook</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Exchange+2013/">Exchange 2013</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/OWA/">OWA</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Surface/">Surface</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/office+365/">office 365</category></item><item><title>TechEd session preview: Troubleshooting Long Boot and High Resource Consumptions</title><link>http://blogs.technet.com/b/mspfe/archive/2013/05/15/teched-session-preview-troubleshooting-long-boot-and-high-resource-consumptions.aspx</link><pubDate>Wed, 15 May 2013 05:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3572651</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mspfe/rsscomments.aspx?WeblogPostID=3572651</wfw:commentRss><comments>http://blogs.technet.com/b/mspfe/archive/2013/05/15/teched-session-preview-troubleshooting-long-boot-and-high-resource-consumptions.aspx#comments</comments><description>&lt;p&gt;TechEd 2013 North America is just around the corner. And if it is TechEd, so is it time for our PFEs to show their deep technical skills coupled with the vital insight into typical customer situations. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/Events/Speakers/milad-aslaner" target="_blank"&gt;Milad Aslaner&lt;/a&gt;, our Windows Core SME from Microsoft Germany, has been invited to speak at TechEd – both in North America and later, at TechEd Europe! Milad will show us how to use XPerf v5, from the latest Windows ADK, to troubleshoot slow boot and high resource consumption. In his own words:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;If you are attending one of those events please feel free to join and examine how Windows works &lt;strong&gt;under the hood&lt;/strong&gt;, what you need to know when troubleshooting performance issues. I will share some of the &lt;strong&gt;lessons learnt &lt;/strong&gt;when resolving those issues onsite at our customers. &lt;/em&gt;&lt;em&gt;Don’t be shy! Ask us what you always wanted to know around Microsoft technologies. The event is for &lt;strong&gt;you&lt;/strong&gt;!&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Save the date!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Field Experience: Troubleshooting Long Boot and High Resource Consumptions &lt;/strong&gt;@ &lt;a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/WCA-B315" target="_blank"&gt;TechEd North America&lt;/a&gt;    &lt;br /&gt;Date: June 6, 2013 from 1:00PM to 2:15PM | Day 4     &lt;br /&gt;New Orleans Theater C (1162) | WCA-B315&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Field Experience: Troubleshooting Long Boot and High Resource Consumptions &lt;/strong&gt;@ &lt;a href="http://channel9.msdn.com/Events/TechEd/Europe/2013/WCA-B315" target="_blank"&gt;TechEd Europe&lt;/a&gt;    &lt;br /&gt;Date: Date: June 28, 2013 from 2:45PM to 4:00PM | Day 4     &lt;br /&gt;Hall 4-2 (500) WCA-B315&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;em&gt;Content from &lt;a href="http://channel9.msdn.com/Events/Speakers/milad-aslaner" target="_blank"&gt;Milad Aslaner&lt;/a&gt;, posted by MSPFE Editor Arvind Shyamsundar&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3572651" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Slow+Boot/">Slow Boot</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Windows/">Windows</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Milad+Aslaner/">Milad Aslaner</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/TechEd+2013/">TechEd 2013</category></item><item><title>Exchange 2010: Why does AllowCrossSiteRPCClientAccess revert to false?</title><link>http://blogs.technet.com/b/mspfe/archive/2013/05/15/exchange-2010-why-does-allowcrosssiterpcclientaccess-revert-to-false.aspx</link><pubDate>Tue, 14 May 2013 23:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3571825</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mspfe/rsscomments.aspx?WeblogPostID=3571825</wfw:commentRss><comments>http://blogs.technet.com/b/mspfe/archive/2013/05/15/exchange-2010-why-does-allowcrosssiterpcclientaccess-revert-to-false.aspx#comments</comments><description>&lt;p&gt;Exchange 2010 SP2 RU3 and later support the AllowCrossSiteRPCClientAccess capability, and our old Scottish-sounding but Canada-based friend* &lt;a href="http://blogs.technet.com/b/rmilne/"&gt;Rhoderick Milne&lt;/a&gt; ran across an interesting mention of it while &lt;a href="http://blogs.technet.com/b/rmilne/archive/2013/05/08/exchange-2010-dag-allowcrosssiterpcclientaccess-reverts-to-false.aspx"&gt;reviewing disaster recovery operations with one of his customers&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;The admins were running:&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;Set-DatabaseAvailabilityGroup –Identity DAG AllowCrossSiteRPCClientAccess:$True&lt;/p&gt;    &lt;p&gt;&lt;em&gt;This was being done as they had noticed in testing (full marks for testing !!) that the AllowCrossSiteRPCClientAccess&amp;#160; setting was being changed from $True to $False.&amp;#160; To ensure that the DAG was configured as per the design they were running the Set-DAG command to again reset the value for AllowCrossSiteRPCClientAccess.&lt;/em&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;But why was the setting getting changed?&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Sometimes we want to use Set-DatabaseAvailabilityGroup with no additional parameters to:&lt;/em&gt;&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;       &lt;p&gt;&lt;em&gt;Remediate incorrect cluster quorum types.&amp;#160; Running Set-DatabaseAvailabilityGroup with no other parameters will set the correct quorum type based on the number of nodes in the underlying cluster. &lt;/em&gt;&lt;/p&gt;     &lt;/li&gt;      &lt;li&gt;       &lt;p&gt;&lt;em&gt;Correct issues with File Share Witness (FSW) folders and permissions.&amp;#160; For example if the FSW share is manually removed this will re-create it. &lt;/em&gt;&lt;/p&gt;     &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;&lt;em&gt;What happens if Set-DatabaseAvailabilityGroup is run to change another aspect of the DAG – would the AllowCrossSiteRPCClientAccess be changed in that scenario? Let’s see…..&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;I don’t want to spoil it for you, so I’ll let you &lt;a href="http://blogs.technet.com/b/rmilne/archive/2013/05/08/exchange-2010-dag-allowcrosssiterpcclientaccess-reverts-to-false.aspx"&gt;read the conclusions yourself&lt;/a&gt;. (Hint: the guy dies at the end.)&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;em&gt;&lt;font size="1"&gt;Posted by &lt;/font&gt;&lt;/em&gt;&lt;a href="http://blogs.technet.com/b/tristank/"&gt;&lt;em&gt;&lt;font size="1"&gt;Tristan Kington&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;, MSPFE Editor, recovering from a bout of sausageitis.&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3571825" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Exchange/">Exchange</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Exchange+2010/">Exchange 2010</category></item><item><title>Sharepoint 2013: Configuring Search Service Topology with PowerShell</title><link>http://blogs.technet.com/b/mspfe/archive/2013/05/14/sharepoint-2013-configuring-search-service-topology-with-powershell.aspx</link><pubDate>Tue, 14 May 2013 11:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3571824</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mspfe/rsscomments.aspx?WeblogPostID=3571824</wfw:commentRss><comments>http://blogs.technet.com/b/mspfe/archive/2013/05/14/sharepoint-2013-configuring-search-service-topology-with-powershell.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/chandru/"&gt;Chandrasekar Natarajan&lt;/a&gt;, a PFE based in Canada, runs through some example &lt;a href="http://blogs.msdn.com/b/chandru/archive/2013/02/19/sharepoint-2013-configuring-search-service-application-and-topology-using-powershell.aspx"&gt;PowerShell scripts for configuring SharePoint 2013 Search Service applications and topology&lt;/a&gt; configuration:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Each Search service application has its own search topology. If you create more than one Search service application in a farm, it’s recommended to allocate dedicated servers for the search topology of each Search service application. &lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;In this blog, we will see how to configure topology for one search service application with multiple search components across 2 servers for redundancy and performance.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Lots of scripts and lots of detail; scripting this type of operation can save you time in the long run. (&lt;a href="http://www.xkcd.com/1205/"&gt;Or can it?&lt;/a&gt; You do the maths!)&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;em&gt;&lt;font size="1"&gt;Posted by &lt;/font&gt;&lt;/em&gt;&lt;a href="http://blogs.technet.com/b/tristank/"&gt;&lt;em&gt;&lt;font size="1"&gt;Tristan Kington&lt;/font&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;font size="1"&gt;, MSPFE Editor and recent barbequeue purchaser&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3571824" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mspfe/archive/tags/SharePoint/">SharePoint</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/SharePoint+2013/">SharePoint 2013</category></item><item><title>AskPFEPlat: How Domain Controllers are found across forest trusts</title><link>http://blogs.technet.com/b/mspfe/archive/2013/05/08/askpfeplat-how-domain-controllers-are-found-across-forest-trusts.aspx</link><pubDate>Tue, 07 May 2013 23:04:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3571305</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mspfe/rsscomments.aspx?WeblogPostID=3571305</wfw:commentRss><comments>http://blogs.technet.com/b/mspfe/archive/2013/05/08/askpfeplat-how-domain-controllers-are-found-across-forest-trusts.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://social.technet.microsoft.com/profile/tom%20moser%20%5Bmsft%5D/"&gt;Tom Moser&lt;/a&gt; answers a reasonably frequently asked question about &lt;a href="http://blogs.technet.com/b/askpfeplat/archive/2013/05/06/how-domain-controllers-are-located-across-trusts.aspx"&gt;cross-organization domain controller location&lt;/a&gt;, and shows his work! One key point:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;This post is about the a scenario where the subnets in the two forests &lt;strong&gt;do not&lt;/strong&gt; overlap (i.e., client’s IP address from forest A is not covered by any subnet in forest B). This would typically occur in resource forest scenarios with separate networks. For example: federating via trust with Microsoft online services or a trust between a corporate forest and a perimeter forest. Everything you’re about to read below assumes that the client IP from Forest A is not covered by any subnet in Forest B.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;(Aside: Overlapping IP ranges is something IP (i.e. The Internet) really wasn’t designed to cope gracefully with. I also had a quick geek-out at how the Hyper-V virtual switch supports mirroring too!&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;First, let’s talk about how your workstation, or any domain member, finds a domain controller at startup. To demo this, &lt;strong&gt;I configured port mirroring on my VMs in Hyper-V&lt;/strong&gt; and intercepted the entire network conversation on another VM. For the purposes of demonstration, I’ve filtered the traffic to just DNS, LDAP, and Netlogon responses.&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;)&lt;/p&gt;  &lt;p&gt;Detail and commentary are at the original post: &lt;a href="http://blogs.technet.com/b/askpfeplat/archive/2013/05/06/how-domain-controllers-are-located-across-trusts.aspx"&gt;How domain controllers are located across trusts&lt;/a&gt;.&lt;/p&gt;  &lt;hr /&gt;  &lt;p&gt;&lt;em&gt;Posted by &lt;/em&gt;&lt;a href="http://blogs.technet.com/b/tristank/"&gt;&lt;em&gt;Tristan Kington&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, MSPFE Editor (currently with 800KM more south-ness!)&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3571305" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Windows/">Windows</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Active+Directory/">Active Directory</category></item><item><title>A Quick Look At System Center Advisor (SCA)</title><link>http://blogs.technet.com/b/mspfe/archive/2013/05/02/a-quick-look-at-system-center-advisor-sca.aspx</link><pubDate>Thu, 02 May 2013 05:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3568546</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mspfe/rsscomments.aspx?WeblogPostID=3568546</wfw:commentRss><comments>http://blogs.technet.com/b/mspfe/archive/2013/05/02/a-quick-look-at-system-center-advisor-sca.aspx#comments</comments><description>&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Summary:&amp;nbsp; &lt;/em&gt;&lt;/strong&gt;&lt;a href="http://blogs.technet.com/b/mspfe/archive/tags/Milad+Aslaner"&gt;&lt;em&gt;Milad Aslaner&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, a Microsoft Premier Field&lt;/em&gt; &lt;em&gt;Engineer based in Germany, gives us a quick peek at System Center Advisor (SCA), a freely available cloud-based service from Microsoft that enables you to assess your server configurations and proactively avoid problems.&lt;/em&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/8206.clip_5F00_image002_5F00_353DCA83.png"&gt;&lt;img style="margin: 0px 12px; border: 0px currentcolor; float: left; display: inline; background-image: none;" title="System Center Advisor Overview" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/2376.clip_5F00_image002_5F00_thumb_5F00_0BC98943.png" alt="System Center Advisor Overview" width="409" height="380" border="0" hspace="12" /&gt;&lt;/a&gt;As you probably know by now, my passion is around reliability and performance. I just love to evangelize and engage with customers, partners and colleagues on how to optimize bits and bytes to achieve the best experience.&lt;/p&gt;
&lt;p&gt;In this article I want to focus on &lt;strong&gt;System Center Advisor,&lt;/strong&gt; or SCA for short. You can think about SCA as your little friend who proactively warns you if it detects misconfigurations on your server or if it identifies a potential threat. It&amp;rsquo;s backend is cloud-based and fully utilizes all advantages of &lt;a href="http://www.windowsazure.com" target="_blank"&gt;Windows Azure&lt;/a&gt;. All tests cases are based on Microsoft&amp;rsquo;s own support data and best practices around configuration, optimization and manageability.&lt;/p&gt;
&lt;p&gt;With SCA, we support the following technologies as of this writing: Windows Server, SharePoint Server, Lync Server, Exchange Server and lastly SQL Server workloads. You can download and read more about SCA at &lt;a href="http://www.systemcenteradvisor.com"&gt;www.systemcenteradvisor.com&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;So how does it work under the hood?&lt;/h2&gt;
&lt;p&gt;First you need to specify which servers you want to monitor and which server should communicate with Microsoft. Once you know that, go to &lt;a href="http://www.systemcenteradvisor.com"&gt;www.systemcenteradvisor.com&lt;/a&gt;, sign-up and download the toolkit.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/2335.image_5F00_423A3B45.png"&gt;&lt;img style="display: inline; background-image: none;" title="System Center Advisor Monitoring Screen" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/1033.image_5F00_thumb_5F00_617F72C9.png" alt="System Center Advisor Monitoring Screen" width="626" height="398" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The next step is to install the software on your gateway server (i.e. the server which communicates with Microsoft) and add the certificate which is also downloadable from the web interface. Once this is done, you can go ahead and install the agent software on all servers you want to monitor.&lt;/p&gt;
&lt;p&gt;Once this is done, the action really starts! After a while your machines will appear in the SCA console and you will start seeing alerts and recommendations.&lt;/p&gt;
&lt;p&gt;This should give you a quick look on how to deploy System Center Advisor.&amp;nbsp; Stay tuned for the next blog post on SCA and some lessons learned from the field.&amp;nbsp; Btw, currently the largest organization which utilizes SCA is monitoring over 30.000 servers with this solution!&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="font-size: xx-small;"&gt;Written by &lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;a href="http://blogs.technet.com/b/mspfe/archive/tags/Milad+Aslaner"&gt;&lt;span style="font-size: xx-small;"&gt;Milad Aslaner&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: xx-small;"&gt;;&amp;nbsp; Posted by &lt;/span&gt;&lt;a href="http://social.technet.microsoft.com/Profile/Frank%20Battiston"&gt;&lt;span style="font-size: xx-small;"&gt;Frank Battiston&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: xx-small;"&gt;, MSPFE Editor&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3568546" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Windows/">Windows</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/SharePoint/">SharePoint</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Exchange/">Exchange</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/SQL+Server/">SQL Server</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Windows+Server/">Windows Server</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Lync/">Lync</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Milad+Aslaner/">Milad Aslaner</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/SCA/">SCA</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/System+Center+Advisor/">System Center Advisor</category></item><item><title>So You Want To Block Exchange 2010 Autodiscover. Why Would Anyone Do That?</title><link>http://blogs.technet.com/b/mspfe/archive/2013/05/01/so-you-want-to-block-exchange-2010-autodiscover-why-would-anyone-do-that.aspx</link><pubDate>Wed, 01 May 2013 05:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3569039</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mspfe/rsscomments.aspx?WeblogPostID=3569039</wfw:commentRss><comments>http://blogs.technet.com/b/mspfe/archive/2013/05/01/so-you-want-to-block-exchange-2010-autodiscover-why-would-anyone-do-that.aspx#comments</comments><description>&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Summary&lt;/strong&gt;:&amp;nbsp; &lt;a href="http://social.technet.microsoft.com/Profile/Shamsher Dhanoa" target="_blank"&gt;Shamsher Dhanoa&lt;/a&gt;&lt;/em&gt;&lt;em&gt;, a Microsoft Senior Premier Field Engineer based in the US&lt;em&gt;&lt;/em&gt;&lt;/em&gt;&lt;em&gt;, tells us why you would want to block the ever-valuable Exchange Autodiscover feature, along with detailed steps and options on how to do it.&amp;nbsp;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/4718.image_5F00_3F47BFCA.png"&gt;&lt;img style="margin: 0px 9px 0px 0px;" title="Exchange 2013" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/7853.image_5F00_thumb_5F00_1AB63246.png" alt="Exchange 2013" width="195" height="52" align="left" border="0" /&gt;&lt;/a&gt;Microsoft Exchange Administrators may well remember setting up Outlook profiles and the &amp;ldquo;&lt;strong&gt;Check Names&lt;/strong&gt;&amp;rdquo; button, and then came Autodiscover which simplified the Outlook profile creation process. It also does other things like tell Outlook where to go for useful stuff including Free/Busy, Out of Office, and Offline Address Book information. In the screenshot below you can see the result of the Outlook &amp;ldquo;&lt;em&gt;Test E-Mail AutoConfiguration&lt;/em&gt;&amp;rdquo; task (names have been redacted to protect a corporation that specializes in the procurement of weapons-grade hardware for needy &lt;a href="http://en.wikipedia.org/wiki/Wile_E._Coyote_and_Road_Runner"&gt;coyotes&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/8867.clip_5F00_image002_5F00_5DCBCAFB.jpg"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="Outlook &amp;ldquo;Test E-Mail AutoConfiguration&amp;rdquo; task " src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/1537.clip_5F00_image002_5F00_thumb_5F00_600853B7.jpg" alt="Outlook &amp;ldquo;Test E-Mail AutoConfiguration&amp;rdquo; task " width="613" height="410" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Why would you want to block autodiscover?&lt;/h2&gt;
&lt;p&gt;So why would anyone want to block all this Autodiscover goodness? I didn&amp;rsquo;t know but recently found out.&amp;nbsp; It looks like there are a fair number of cross Organization Exchange migrations being done via non-Microsoft migration tools that have a legacy Exchange 2003 mailbox and a new Exchange 2010 mailbox coexisting.&amp;nbsp; An example of this is the &lt;a href="http://www.quest.com/migration-manager-for-exchange/" target="_blank"&gt;Quest Migration Manager for Exchange&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Typically, the legacy and new Exchange Org will be linked by dedicated non-internet routable namespace connectors. For example: &lt;strong&gt;@Exchange2010.local &lt;/strong&gt;and &lt;strong&gt;@Exchange2003.local&lt;/strong&gt;.&amp;nbsp; Every Exchange 2003 mailbox gets an extra e-mail address &lt;em&gt;@Exchange2003.local&lt;/em&gt; and, correspondingly, every Exchange 2010 mailbox gets an extra &lt;em&gt;@Exchange2010.local&lt;/em&gt; address.&lt;/p&gt;
&lt;p&gt;At the start of the migration &amp;ndash; Exchange 2010 is populated with pre-created empty mailboxes for everybody - this is the &lt;strong&gt;Directory Synchronization&lt;/strong&gt; phase.&amp;nbsp; The empty mailboxes have their &lt;strong&gt;targetAddress &lt;/strong&gt;attribute populated with the users &lt;em&gt;@Exchange2003.local&lt;/em&gt; SMTP address. This means if a message hits Jon&amp;rsquo;s empty Exchange 2010 mailbox it bounces off to the Exchange 2003 mailbox specified in the targetAddress (&lt;strong&gt;Jon@Exchange2003.local&lt;/strong&gt;).&amp;nbsp; Jon of course has Outlook configured to open his non-migrated Exchange 2003 mailbox.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/8308.clip_5F00_image004_5F00_74217040.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="Mailboxes created for purposes of Migration/Co-existence" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/8836.clip_5F00_image004_5F00_thumb_5F00_5642EC3F.jpg" alt="Mailboxes created for purposes of Migration/Co-existence" width="624" height="269" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;At any time during the coexistence period there are 2 mailboxes for each user. Non-Migrated users on Exchange 2003 look at the Exchange 2003 Address Book. Migrated users on Exchange 2010 look at the Exchange 2010 Address Book.&lt;/p&gt;
&lt;p&gt;When Jon is migrated the targetAddress attribute on Exchange 2010 is cleared and targetAddress on his OLD Exchange 2003 mailbox is populated with &lt;strong&gt;Jon@Exchange2010.local&lt;/strong&gt;. This means when his buddies on Exchange 2003 email him, the message is automatically forwarded through the SMTP connector to his spanking new Exchange 2010 mailbox. If Jon wants to email a non-migrated user he sends mail to the Exchange 2010 mailbox he sees in &lt;em&gt;his&lt;/em&gt; Address Book and it redirects via targetAddress to the non-migrated 2003 mailbox.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/4532.clip_5F00_image006_5F00_119651FE.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="TargetAddresses changed: Mailboxes created for purposes of Migration/Co-existence" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/0841.clip_5F00_image006_5F00_thumb_5F00_45CA7B44.jpg" alt="TargetAddresses changed: Mailboxes created for purposes of Migration/Co-existence" width="624" height="261" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So what does this have to do with Autodiscover?&amp;nbsp; Nothing yet, but remember there are 2 mailboxes for every user. And Outlook 2010 is pulling towards Exchange 2010 like a beagle to bacon.&amp;nbsp; In 2003 the spacecraft &amp;ldquo;&lt;a href="http://en.wikipedia.org/wiki/Beagle_2" target="_blank"&gt;Beagle 2&lt;/a&gt;&amp;rdquo; was sent to find life on Mars &amp;ndash; appropriately it got lost. I had 2 beagles which I also frequently lost.&amp;nbsp; But nevermind, Autodiscover has nothing to do with beagles.&amp;nbsp; However, what if you as an Exchange administrator strolled into the office one Monday morning to find that 10,000 Outlook clients had reconfigured themselves to point to Exchange 2010 and everyone was wondering why their mailboxes were empty? &lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/6710.clip_5F00_image007_5F00_1A19B148.png"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="Uh Oh!" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/8284.clip_5F00_image007_5F00_thumb_5F00_35BE3D3E.png" alt="Uh Oh!" width="25" height="20" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;How to Block Autodiscover&lt;/h2&gt;
&lt;p&gt;Now we&amp;rsquo;ve established that sometimes blocking Autodiscover may be a good thing in order to prevent the Monday morning Exchange admin blues, how do we go about blocking it?&lt;/p&gt;
&lt;p&gt;Fellow Premier Field Engineer Rhoderick Milne wrote an excellent article on how Autodiscover works here: &lt;a href="http://blogs.technet.com/b/mspfe/archive/2011/11/10/what_2D00_everyone_2D00_should_2D00_know_2D00_about_2D00_microsoft_2D00_exchange_2D00_autodiscover.aspx"&gt;What Everyone Should Know About Microsoft Exchange Autodiscover&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;From this, we see that Outlook will try to use:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;1. the SCP record for Autodiscover&lt;/p&gt;
&lt;p&gt;2. the standard DNS namespaces:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span style="font-family: Courier New;"&gt;https://&amp;lt;&lt;em&gt;smtpdomain&lt;/em&gt;&amp;gt;/Autodiscover/Autodiscover.xml &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Courier New;"&gt;https://autodiscover.&amp;lt;&lt;em&gt;smtpdomain&lt;/em&gt;&amp;gt;/Autodiscover/Autodiscover.xml &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-family: Courier New;"&gt;http://autodiscover.&amp;lt;&lt;em&gt;smtpdomain&lt;/em&gt;&amp;gt;/Autodiscover/Autodiscover.xml&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;3. SRV record query for &lt;span style="font-family: Courier New;"&gt;_autodiscover._tcp.&amp;lt;smtpdomain&amp;gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We can block this default behavior by deploying the below regkeys:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\14.0\Outlook\AutoDiscover\ExcludeSCPLookup = 1&lt;/li&gt;
&lt;li&gt;HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\14.0\Outlook\AutoDiscover\ExcludeHttpRedirect = 1&lt;/li&gt;
&lt;li&gt;HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\14.0\Outlook\AutoDiscover\ExcludeHttpsAutodiscoverDomain = 1&lt;/li&gt;
&lt;li&gt;HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\14.0\Outlook\AutoDiscover\ExcludeHttpsRootDomain = 1&lt;/li&gt;
&lt;li&gt;HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\14.0\Outlook\AutoDiscover\ExcludeSrvRecord = 1&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This works great and you can see the results in the &lt;em&gt;Outlook AutoConfiguration&lt;/em&gt; test screenshot below.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/0636.clip_5F00_image001_5F00_37186FB4.png"&gt;&lt;img style="display: inline; background-image: none;" title=" Outlook AutoConfiguration test screenshot " src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/7827.clip_5F00_image001_5F00_thumb_5F00_64998F77.png" alt=" Outlook AutoConfiguration test screenshot " width="629" height="245" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Registry keys can also be pushed out via GPO, however some environments may not have an established or mature GPO infrastructure, so another solution recommended by some vendors is to place a &lt;strong&gt;DENY&lt;/strong&gt; on the SCP objects in AD and just not publish the DNS records until the migration coexistence is complete. As shown below, this is possible via ADSIEdit (once again please disregard the reference to secretive corporations dedicated to the apprehension of remarkably rapid roadrunners).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/0083.clip_5F00_image003_5F00_66D61833.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="place a DENY on the SCP objects in AD" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/2555.clip_5F00_image003_5F00_thumb_5F00_1B0A417A.jpg" alt="place a DENY on the SCP objects in AD" width="620" height="308" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;An LDAP query as a blocked user will show no Exchange SCP objects returned.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/6864.clip_5F00_image005_5F00_1D46CA36.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="An LDAP query as a blocked user will show no Exchange SCP objects returned" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/1512.clip_5F00_image005_5F00_thumb_5F00_71960039.jpg" alt="An LDAP query as a blocked user will show no Exchange SCP objects returned" width="629" height="82" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Remember:&lt;/strong&gt; this is not a Microsoft recommendation but it does appear to work &amp;ndash; results may vary,&amp;nbsp; Caveat emptor, contents may settle during shipment, if symptoms persist &amp;hellip; and so on.&lt;/p&gt;
&lt;p&gt;Now Autodiscover is disabled by all known methods to prevent non migrated clients from flipping their profiles to 2010. But what about migrated Outlook clients?&lt;/p&gt;
&lt;p&gt;Migration tools from vendors other than Microsoft typically have a client side agent that will automatically trigger and update the Outlook profile to the new migrated mailbox so that part is good &amp;ndash; but what about Autodiscover?&amp;nbsp; Without Autodiscover they may find that Out of Office, free/busy and MailTips are mysteriously malfunctioning, so we need to undo the Autodiscover blockers as soon as users are migrated. Hopefully we have GPOs and can just remove migrated users from a policy to achieve this.&lt;/p&gt;
&lt;p&gt;One last note - even with the blockers above in place, a way for Outlook to switch to the new mailbox is the value of the users &lt;strong&gt;msExchHomeServerName&lt;/strong&gt; attribute. Consider the scenario below where an old AD/Exchange 2003 forest is being decommissioned.&amp;nbsp; If Jon&amp;rsquo;s Exchange 2003 server becomes unavailable at any time, Outlook may try to repair the profile, check the &lt;em&gt;msExchHomeServerName&lt;/em&gt; attribute and switch to Exchange 2010.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/7317.clip_5F00_image007_5F00_660042FA.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="Scenario: an old AD/Exchange 2003 forest is being decommissioned." src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/0572.clip_5F00_image007_5F00_thumb_5F00_01389BFC.jpg" alt="Scenario: an old AD/Exchange 2003 forest is being decommissioned." width="624" height="339" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This can be prevented by using the PreferLocalXML registry key to point to an XML file that in turn hardcodes Outlook to look at Exchange 2003.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;HKEY_CURRENT_USER\Software\Policies\Microsoft\Office\14.0\Outlook\AutoDiscover\PreferLocalXML = 1&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;There is more information on deploying PreferLocalXML on &lt;a href="http://blogs.technet.com/b/mspfe/archive/2011/11/10/what_2d00_everyone_2d00_should_2d00_know_2d00_about_2d00_microsoft_2d00_exchange_2d00_autodiscover.aspx" target="_blank"&gt;Rhoderick Milne&amp;rsquo;s blog&lt;/a&gt;. There are a few options for blocking Autodiscover.&amp;nbsp; For my particular situation the &lt;strong&gt;PreferLocalXML&lt;/strong&gt; regkey &lt;strong&gt;in addition&lt;/strong&gt; to the regular recommendations of &lt;em&gt;ExcludeSCPLookup, ExcludeHttpsRootDomain, ExcludeHttpsAutoDiscoverDomain, ExcludeHttpRedirect, &lt;/em&gt;and&lt;em&gt; ExcludeSrvRecord&lt;/em&gt; were necessary.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="font-size: xx-small;"&gt;Written by &lt;/span&gt;&lt;/em&gt;&lt;a href="http://social.technet.microsoft.com/Profile/Shamsher%20Dhanoa" target="_blank"&gt;&lt;em&gt;&lt;span style="font-size: xx-small;"&gt;Shamsher Dhanoa&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;span style="font-size: xx-small;"&gt;; Posted by &lt;/span&gt;&lt;/em&gt;&lt;a href="http://social.technet.microsoft.com/Profile/Frank%20Battiston"&gt;&lt;em&gt;&lt;span style="font-size: xx-small;"&gt;Frank Battiston&lt;/span&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;span style="font-size: xx-small;"&gt;, MSPFE Editor&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3569039" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Exchange/">Exchange</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Outlook/">Outlook</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Exchange+2010/">Exchange 2010</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Shamsher+Dhanoa/">Shamsher Dhanoa</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Autodiscover/">Autodiscover</category></item><item><title>SQL Server Statistics: Charting Volatile Data And Density Vector Values</title><link>http://blogs.technet.com/b/mspfe/archive/2013/04/30/sql-server-statistics-charting-volatile-data-and-density-vector-values.aspx</link><pubDate>Tue, 30 Apr 2013 05:03:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3569316</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mspfe/rsscomments.aspx?WeblogPostID=3569316</wfw:commentRss><comments>http://blogs.technet.com/b/mspfe/archive/2013/04/30/sql-server-statistics-charting-volatile-data-and-density-vector-values.aspx#comments</comments><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Summary&lt;/strong&gt;: &lt;a href="http://blogs.technet.com/b/mspfe/archive/tags/Tony+O_2700_Grady/"&gt;Tony O'Grady&lt;/a&gt;, a Microsoft Premier Field Engineer based in the UK, &lt;/em&gt;&lt;em&gt;continues with his second post of 5 advanced articles on charting statistical data with SQL Server.&amp;nbsp; In this post he explores how changes to the underlying data are reflected in cardinality estimations, explores some scenarios, and introduces the concept of density vectors. Enjoy!&lt;/em&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/3056.image_5F00_17766F87.png"&gt;&lt;img style="margin: 0px 9px 0px 0px;" title="SQL Server Logo" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/6433.image_5F00_thumb_5F00_674F24C3.png" alt="SQL Server Logo" width="248" height="66" align="left" border="0" /&gt;&lt;/a&gt;In the &lt;a href="http://blogs.technet.com/b/mspfe/archive/2013/04/18/understanding-sql-server-cardinality-estimations-by-charting-histogram-to-actual-values.aspx"&gt;first post&lt;/a&gt; in this &lt;a href="http://blogs.technet.com/b/mspfe/archive/tags/SQLStatisticsSeries/" target="_blank"&gt;series&lt;/a&gt; I gave an introduction to how the SQL Server optimiser utilises histogram values for cardinality estimations.&amp;nbsp; In this second post we are going to look at how changes to the underlying data are reflected in cardinality estimations. We will look at specific scenarios where actual values are not represented in the histogram. I introduce the concept of the &lt;strong&gt;density vector&lt;/strong&gt; and show both its advantages and limitations depending on the scenario.&lt;/p&gt;
&lt;h2&gt;Scenario 1:&amp;nbsp; inserting additional values to [dbo].[SalesOrderDetail_big]&lt;/h2&gt;
&lt;p&gt;Reviewing the SalesOrderDetailID histogram from the first post, this covered values ranging from 1 &amp;ndash; 121317 as we can see in Figure 1:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/0880.clip_5F00_image002_5F00_30BFEBFA.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="SalesOrderDetailID histogram from the first post" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/6558.clip_5F00_image002_5F00_thumb_5F00_45453B78.jpg" alt="SalesOrderDetailID histogram from the first post" width="639" height="89" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Figure 1&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;A sample INSERT statement below adds an additional SalesOrderDetailID value of &lt;strong&gt;121318,&lt;/strong&gt; inserting 100000 rows for this value.&amp;nbsp; Since the insertion is less than the &lt;a href="http://support.microsoft.com/kb/195565" target="_blank"&gt;threshold for an automatic statistics update&lt;/a&gt;, the value 121318 will not be represented in the histogram.&amp;nbsp; We can visualise this in Figure 2 which plots the histogram to actual values.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;INSERT&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;INTO&lt;/span&gt; &lt;span&gt;[dbo]&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[SalesOrderDetail_big]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span lang="EN-GB"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;[SalesOrderID]&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[SalesOrderDetailID]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[CarrierTrackingNumber]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[OrderQty]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[ProductID]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[SpecialOfferID]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[UnitPrice]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[UnitPriceDiscount]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[LineTotal]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[rowguid]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;[ModifiedDate]&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;SELECT&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span&gt;TOP&lt;/span&gt; 100000&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[SalesOrderID]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong style="mso-bidi-font-weight: normal;"&gt;&lt;span style="mso-bidi-font-size: 9.5pt;" lang="EN-GB"&gt;&lt;span style="font-size: 11pt;"&gt;121318&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[CarrierTrackingNumber]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[OrderQty]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[ProductID]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[SpecialOfferID]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[UnitPrice]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[UnitPriceDiscount]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[LineTotal]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[rowguid]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[ModifiedDate]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="line-height: 10pt; list-style-type: disc; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-gb; mso-fareast-language: en-us; mso-bidi-language: ar-sa;" lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;FROM&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 10pt; list-style-type: disc; mso-fareast-font-family: calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: en-gb; mso-fareast-language: en-us; mso-bidi-language: ar-sa;" lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;[sales]&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[SalesOrderDetail]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/3441.clip_5F00_image004_5F00_44D90883.png"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="Plot of the histogram to actual values" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/2474.clip_5F00_image004_5F00_thumb_5F00_6E4FDA74.png" alt="Plot of the histogram to actual values" width="497" height="261" border="0" /&gt;&lt;/a&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Figure 2&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;When a sample query uses a WHERE clause value equal to 1213818, SQL Server estimates the number of rows as 1. We can see this in Figure 3 where the query plans for this scenario contains an expensive Key Lookup&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;SELECT&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;*&lt;/span&gt; &lt;span&gt;FROM&lt;/span&gt; &lt;span&gt;[dbo]&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;[SalesOrderDetail_Big]&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;WHERE&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;[SalesOrderDetailID]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt;121318 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;OPTION &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span lang="EN-GB"&gt;(&lt;/span&gt;&lt;span lang="EN-GB"&gt;RECOMPILE&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/3365.clip_5F00_image006_5F00_09883376.jpg"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="Query plans for this scenario contains an expensive Key Lookup" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/0741.clip_5F00_image006_5F00_thumb_5F00_2217D0C6.jpg" alt="Query plans for this scenario contains an expensive Key Lookup" width="622" height="214" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Figure 3&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;Scenario 2: inserting additional rows for an existing value in [dbo].[SalesOrderDetail_big]&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;INSERT&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;INTO&lt;/span&gt; &lt;span&gt;[dbo]&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[SalesOrderDetail_big]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span lang="EN-GB"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;[SalesOrderID]&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[SalesOrderDetailID]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[CarrierTrackingNumber]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[OrderQty]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[ProductID]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[SpecialOfferID]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[UnitPrice]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[UnitPriceDiscount]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[LineTotal]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[rowguid]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;[ModifiedDate]&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;SELECT&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span&gt;TOP&lt;/span&gt; 91000&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-tab-count: 1;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[SalesOrderID]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;strong style="mso-bidi-font-weight: normal;"&gt;&lt;span style="mso-bidi-font-size: 9.5pt;" lang="EN-GB"&gt;&lt;span style="font-size: 11pt;"&gt;121317&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[CarrierTrackingNumber]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[OrderQty]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[ProductID]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[SpecialOfferID]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[UnitPrice]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[UnitPriceDiscount]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[LineTotal]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[rowguid]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="mso-spacerun: yes;"&gt;&lt;span style="font-size: 9.5pt;"&gt;&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&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span&gt;,&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[ModifiedDate]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;FROM&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;[sales]&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;[SalesOrderDetail]&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Similar to scenario 1 the addition of 91000 rows for SalesOrderDetailID value 121317 is not sufficient to trigger an automatic statistics update. As can be observed in figure 4 the query plan generated for the sample select statement has estimated the out of date statistics histogram value of 10.693&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;SELECT&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;*&lt;/span&gt; &lt;span&gt;FROM&lt;/span&gt; &lt;span&gt;[dbo]&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;[SalesOrderDetail_Big]&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;WHERE&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;[SalesOrderDetailID]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt;121318 &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;OPTION &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span lang="EN-GB"&gt;(&lt;/span&gt;&lt;span lang="EN-GB"&gt;RECOMPILE&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/2248.clip_5F00_image008_5F00_6B3D7C7F.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="clip_image008" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/7534.clip_5F00_image008_5F00_thumb_5F00_7FC2CBFD.jpg" alt="clip_image008" width="625" height="189" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Figure 4&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Looking at the histogram in Figure 5, for both scenario 1 and scenario 2 a statistics update can resolve the cardinality estimation errors, but managing and coordinating statistics maintenance on a production environment may be difficult to achieve.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/5074.clip_5F00_image010_5F00_5B313E79.jpg"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="clip_image010" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/7462.clip_5F00_image010_5F00_thumb_5F00_6FB68DF7.jpg" alt="clip_image010" width="624" height="103" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Figure 5&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;Introducing DENSITY VECTOR Values&lt;/h2&gt;
&lt;p&gt;As in the sample scenario below, when the WHERE clause value is parameterised the optimiser makes use of statistical &lt;a href="http://msdn.microsoft.com/en-gb/library/ms174384.aspx" target="_blank"&gt;ALL DENSITY&lt;/a&gt; value in its calculations. This value for a column(s) can be reviewed by running:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;DBCC&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;SHOW_STATISTICS &lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;[dbo.SalesOrderDetail_Big]&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span&gt;[uststs_SalesOrderDetailID]&lt;/span&gt; &lt;span&gt;)&lt;/span&gt;&lt;span style="mso-spacerun: yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span&gt;WITH&lt;/span&gt; &lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;DENSITY_VECTOR&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/2055.clip_5F00_image012_5F00_2EE8D79D.jpg"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="Result of DBCC SHOW_STATISTICS ([dbo.SalesOrderDetail_Big],[uststs_SalesOrderDetailID] )  WITH DENSITY_VECTOR" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/7167.clip_5F00_image012_5F00_thumb_5F00_2A7256D6.jpg" alt="Result of DBCC SHOW_STATISTICS ([dbo.SalesOrderDetail_Big],[uststs_SalesOrderDetailID] )  WITH DENSITY_VECTOR" width="438" height="80" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Figure 6&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;One of the advantages of the all density value is that it can continue to be used by the optimiser for cardinality estimations when an insert continues to add additional ever increasing values to a column, as would be the case for an identity column. In effect, for this scenario the all density calculation &amp;ldquo;keeps up&amp;rdquo; with the actual values whereas the histogram values do not.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/4452.clip_5F00_image014_5F00_5C95614B.png"&gt;&lt;img style="display: inline; background-image: none;" title="all density calculation &amp;ldquo;keeps up&amp;rdquo; with the actual values whereas the histogram values do not" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/5344.clip_5F00_image014_5F00_thumb_5F00_711AB0C9.png" alt="all density calculation &amp;ldquo;keeps up&amp;rdquo; with the actual values whereas the histogram values do not" width="623" height="328" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Figure 7&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;As an example, if we execute the following query the value 121320 returns 10 rows.&amp;nbsp; But, because 121320 is not represented in the histogram, SQL Server estimates 1 row:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;SELECT&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;*&lt;/span&gt; &lt;span&gt;FROM&lt;/span&gt; &lt;span&gt;[dbo]&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;[SalesOrderDetail_Big]&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;WHERE&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;[SalesOrderDetailID]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; 121320&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;OPTION &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span lang="EN-GB"&gt;(&lt;/span&gt;&lt;span lang="EN-GB"&gt;RECOMPILE&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/5850.clip_5F00_image016_5F00_7A7675FD.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="Result of SELECT * FROM [dbo].[SalesOrderDetail_Big] ..." src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/1256.clip_5F00_image016_5F00_thumb_5F00_7A0A4308.jpg" alt="Result of SELECT * FROM [dbo].[SalesOrderDetail_Big] ..." width="605" height="200" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s say we run the same query again without a statistics update, but this time parameterising it.&amp;nbsp; In this scenario, SQL Server uses the ALL DENSITY VECTOR value of 11.6564 in its calculation.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;DECLARE&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;@x&lt;/span&gt; &lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;INT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;SET&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;@x&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; 121320&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;SELECT&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;*&lt;/span&gt; &lt;span&gt;FROM&lt;/span&gt; &lt;span&gt;[dbo]&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;[SalesOrderDetail_Big]&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;WHERE&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;[SalesOrderDetailID]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt;&lt;span&gt;@x&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/7851.clip_5F00_image018_5F00_0366083D.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="Run the same query again without a statistics update, but this time parameterising it" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/5314.clip_5F00_image018_5F00_thumb_5F00_09ACDECB.jpg" alt="Run the same query again without a statistics update, but this time parameterising it" width="620" height="203" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Figure 8&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Keep in mind that this approach is not going to benefit all scenarios.&amp;nbsp; Take for example when the WHERE clause value of 121318 from scenario 1 above.&amp;nbsp; In this case the ALL DENSITY VECTOR calculation is 11.6564 and the actual number of rows is 100000.&amp;nbsp; Note this was with fully updated statistics.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;DECLARE&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;@x&lt;/span&gt; &lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;INT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;SET&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;@x&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; 121318&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;SELECT&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;*&lt;/span&gt; &lt;span&gt;FROM&lt;/span&gt; &lt;span&gt;[dbo]&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;[SalesOrderDetail_Big]&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;WHERE&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;[SalesOrderDetailID]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt;&lt;span&gt;@x&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/8877.clip_5F00_image020_5F00_32B77DC7.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="Result from DECLARE @x INT....." src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/2626.clip_5F00_image020_5F00_thumb_5F00_4DEFD6C8.jpg" alt="Result from DECLARE @x INT....." width="612" height="195" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Figure 9&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Whereas when we run the same query with a recompile hint this results in an accurate cardinality estimate.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;DECLARE&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;@x&lt;/span&gt; &lt;/span&gt;&lt;span&gt;&lt;span style="font-size: 9.5pt;"&gt;INT&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;SET&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;@x&lt;/span&gt; &lt;span&gt;=&lt;/span&gt; 121318&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;SELECT&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;*&lt;/span&gt; &lt;span&gt;FROM&lt;/span&gt; &lt;span&gt;[dbo]&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;[SalesOrderDetail_Big]&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;WHERE&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt; &lt;span&gt;[SalesOrderDetailID]&lt;/span&gt; &lt;span&gt;=&lt;/span&gt;&lt;span&gt;@x&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin: 0in 0in 0pt; line-height: normal; list-style-type: disc; mso-layout-grid-align: none;"&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;OPTION &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 9.5pt;"&gt;&lt;span lang="EN-GB"&gt;(&lt;/span&gt;&lt;span lang="EN-GB"&gt;RECOMPILE&lt;/span&gt;&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;span style="font-size: 9.5pt;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/4478.clip_5F00_image022_5F00_71CD6E44.jpg"&gt;&lt;img style="display: inline; background-image: none;" title="Result from running the same query with a recompile hint " src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/8765.clip_5F00_image022_5F00_thumb_5F00_0A5D0B95.jpg" alt="Result from running the same query with a recompile hint " width="614" height="186" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;In this post we looked at how violate data can affect the accuracy of cardinality estimates when the values are not represented in the histogram.&amp;nbsp; We can mitigate for this issue, but the mitigation may not be applicable in all scenarios particularly with outlier values.&lt;/p&gt;
&lt;p&gt;In the third post of this series I am going to identify and resolve a scenario where even with a fully updated histogram the values may not be representative resulting in inaccurate cardinality estimations.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="font-size: xx-small;"&gt;Written by &lt;/span&gt;&lt;a href="http://blogs.technet.com/b/mspfe/archive/tags/Tony+O_2700_Grady/"&gt;&lt;span style="font-size: xx-small;"&gt;Tony O&amp;rsquo;Grady&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: xx-small;"&gt;; Posted by &lt;/span&gt;&lt;a href="http://social.technet.microsoft.com/Profile/Frank%20Battiston"&gt;&lt;span style="font-size: xx-small;"&gt;Frank Battiston&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: xx-small;"&gt;, MSPFE Editor&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3569316" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mspfe/archive/tags/SQL+Server/">SQL Server</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/SQLStatisticsSeries/">SQLStatisticsSeries</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Histograms/">Histograms</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Statistics+TSQL/">Statistics TSQL</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Tony+O_2700_Grady/">Tony O'Grady</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/density+vector/">density vector</category></item><item><title>Windows Server 2003 Rapidly Approaches End-Of-Life, Watch Out For Performance Bottlenecks</title><link>http://blogs.technet.com/b/mspfe/archive/2013/04/29/windows-server-2003-rapidly-approaches-end-of-life-watch-out-for-performance-bottlenecks.aspx</link><pubDate>Mon, 29 Apr 2013 05:06:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3568536</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mspfe/rsscomments.aspx?WeblogPostID=3568536</wfw:commentRss><comments>http://blogs.technet.com/b/mspfe/archive/2013/04/29/windows-server-2003-rapidly-approaches-end-of-life-watch-out-for-performance-bottlenecks.aspx#comments</comments><description>&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Summary:&lt;/em&gt;&lt;/strong&gt;&lt;em&gt;&amp;nbsp; Still running Windows Server 2003? Besides making the well-advised recommendation of moving to Windows Server 2012, &lt;/em&gt;&lt;a href="http://social.technet.microsoft.com/profile/frank%20plawetzki%20-%20msft/" target="_blank"&gt;&lt;em&gt;Frank Plawetzki&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, a Senior Microsoft Premier Field Engineer based in Germany, runs us through how to monitor servers remotely on a large scale, what to look for from a performance standpoint, and digs into some details on how to properly deal with page and non-paged pool memory to insure these older systems don&amp;rsquo;t get dinged by memory-hungry applications.&amp;nbsp; Enjoy.&lt;/em&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Most IT administrators should be aware that &lt;strong&gt;Windows Server 2003&lt;/strong&gt; will reach its end-of-life by July 2015.&amp;nbsp; Since Windows Server 2003 has run for so long now and 64-bit/x64-systems are so common nowadays, I did not expect to have to deal with paged-pool and non-paged-pool issues again, but I was wrong.&lt;/p&gt;
&lt;p&gt;There are still many customers, who run Windows Server 2003 in production today and many will continue to do so until end-of life of Windows Server 2003 or close to that date for various reasons.&amp;nbsp;&amp;nbsp; While this date is still two years away, current systems should at least be checked to insure things are running properly.&amp;nbsp; In my example here-in, we&amp;rsquo;ll check that we don&amp;rsquo;t have 3&lt;sup&gt;rd&lt;/sup&gt;-party applications depleting paged-pool or non-paged-pool memory since many of those servers are running as 32-bit (x86) installations.&lt;/p&gt;
&lt;p&gt;Although Windows Server 2003 is running stably, some 3&lt;sup&gt;rd&lt;/sup&gt;-party applications today consume large amounts of this paged-pool or non-paged-pool memory which is very limited on x86 systems,&amp;nbsp; Problems start to arise when a x86-System has the /3GB switch set in &lt;strong&gt;boot.ini&lt;/strong&gt;, in order to increase available memory for the application on that server which in fact decreases the amount of available paged-pool or non-paged-pool memory.&lt;/p&gt;
&lt;p&gt;Problems may start to arise when 3&lt;sup&gt;rd&lt;/sup&gt;-party applications have not been developed for the x86 architecture or weren&amp;rsquo;t optimized for the limited paged- and non-paged-pool memory available on x86-systems.&lt;/p&gt;
&lt;p&gt;In my case, one 3&lt;sup&gt;rd&lt;/sup&gt;-party application was consuming more than 50MB of the total available paged-pool memory of ~150MB.&amp;nbsp; The result was that the affected server stopped working as soon as paged-pool-memory consumption was increased only a little bit more during normal work cycles.&amp;nbsp; As soon as paged-pool (or non-paged-pool) memory is depleted, only a reboot can make the server work again.&lt;/p&gt;
&lt;p&gt;This article gives a rough overview, what the /3GB switch does:&amp;nbsp; &lt;a href="http://support.microsoft.com/kb/328882/EN-US" target="_blank"&gt;Exchange memory use and the /3GB switch&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The general architecture of those resources is described here:&amp;nbsp; &lt;a href="http://blogs.technet.com/b/markrussinovich/archive/2009/03/26/3211216.aspx" target="_blank"&gt;Pushing the Limits of Windows: Paged and Nonpaged Pool&lt;/a&gt;.&amp;nbsp; As you can see from the tables in the latter article, an x86-System in theory should have enough paged-pool or non-paged-pool memory available, i.e. something around 650MB for Windows Server 2003.&lt;/p&gt;
&lt;p&gt;Practical operation often shows different values:&amp;nbsp; When you take a x86-system with 4GB RAM as an example, you will usually see a maximum of available paged-pool memory of around 360 MB and a maximum of non-paged-pool memory of around 260 MB.&amp;nbsp; Remember, those limits depend on the used hardware, certain BIOS and software settings, and are calculated during boot time and are fixed until the server gets rebooted.&lt;/p&gt;
&lt;p&gt;Sometimes the available paged-pool maximum will even be much less, like in this example:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/3652.clip_5F00_image002_5F00_5B4F7150.png"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="available paged-pool memory maximums" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/6204.clip_5F00_image002_5F00_thumb_5F00_06969909.png" alt="available paged-pool memory maximums " width="519" height="340" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;How to check what amount of paged- or non-paged pool memory is available on a system&lt;/h2&gt;
&lt;p&gt;The amount of paged- and non-paged-pool memory available on a system (a.k.a. paged- and non-paged MAX) is determined from the hardware, hardware settings like hot-add memory usage, and software settings in the boot.ini and in the registry for memory manager.&lt;/p&gt;
&lt;p&gt;You should definitely check your systems for the amount of available paged- and non-paged-pool memory, in order to be sure they are running healthy and can bear a load peak.&amp;nbsp; The link above explains how you can check the practical limits as in the screenshot above, without attaching a debugger for live debugging to the kernel of the running system.&lt;/p&gt;
&lt;p&gt;If your servers are equally configured and use the same hardware, those paged- and non-paged-pool memory limits should be identical on your servers.&amp;nbsp; You can then compare the paged- and non-paged-pool memory max with the amount of paged- and non-paged pool currently consumed on your server.&lt;/p&gt;
&lt;p&gt;The performance counters for the current consumption that you want to look at are:&lt;/p&gt;
&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;&amp;ldquo;\Memory\Pool Paged Bytes&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;\Memory\Pool Nonpaged Bytes&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;You can also quick-check the current consumption via task manager, even on systems where no symbols are deployed.&lt;/p&gt;
&lt;p&gt;As soon as the paged- or non-paged-pool memory consumption on your server exceeds 80% of the available memory of this pool, the usage is critically high.&amp;nbsp; At this point, you need to identify which driver or component is consuming what amount of memory. The inbox tool POOLMON helps with that and shows the real-time consumption. For more information on POOLMON see this article: &lt;a href="http://support.microsoft.com/kb/177415" target="_blank"&gt;How to use Memory Pool Monitor (Poolmon.exe) to troubleshoot kernel mode memory leaks&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Also, with those values, you can create a baseline to get an idea what a healthy memory pattern of a server in your organization looks like during normal production.&lt;/p&gt;
&lt;h2&gt;How to monitor performance counters on your servers large scale and remotely&lt;/h2&gt;
&lt;p&gt;You most likely will quickly come to a point where you want to set up a baseline and create a set of performance counters that you want to monitor on all your servers.&amp;nbsp; Windows ships an inbox tool, which makes deploying performance counters on remote systems very easy.&amp;nbsp; The tool is called &lt;strong&gt;LOGMAN&lt;/strong&gt; and can also help query the performance counters which are available on a remote system or extract certain values from a .blg file which is used to save the monitored performance counters to.&lt;/p&gt;
&lt;p&gt;As an example, the following command will create a performance counter set on &amp;lt;server&amp;gt; and create a new file as soon as the size limit of 1024 is hit:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="font-family: Courier New;"&gt;Logman create -s &amp;lt;Server&amp;gt; counter MS_Baseline -f bin -max 1 -si 1 -v mmddhhmm -o c:\test\MS_Baseline -cf C:\test\MS_Baseline_Template.txt -cnf 1024&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The &lt;strong&gt;MS_Baseline_Template.txt&lt;/strong&gt; file in our example would contain those two entries.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="font-family: Courier New;"&gt;&amp;ldquo;\Memory\Pool Paged Bytes&amp;rdquo;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Courier New;"&gt;&amp;ldquo;\Memory\Pool Nonpaged Bytes&amp;rdquo;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;For simplicity, we are only using two performance counters in this example. There are certainly more performance counters you need to look at in order to check whether your server is healthy or not.&lt;/p&gt;
&lt;p&gt;After you created the performance counter set on the remote server, you need to start it:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span style="font-family: Courier New;"&gt;Logman start -s &amp;lt;Server&amp;gt; MS_Baseline.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;LOGMAN is a bit tricky regarding the various switches and combination of switches that you can use, so you have to check the syntax carefully and do some tests until the tool creates the pool of performance counters you want, in order to monitor in the exact way you want it to happen, e.g. for the sampling intervals or size of the .blg files.&amp;nbsp; The LOGMAN tool uses performance monitor on the remote system which creates a .blg file that you can open in performance monitor on you client workstation and check the various performance counters.&lt;/p&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;If you really still need to run Windows Server 2003, especially the x86-version for some more months, you should at least ensure that the servers are running healthy.&amp;nbsp;&amp;nbsp; You can only achieve that by creating a performance baseline and checking various performance counters.&lt;/p&gt;
&lt;p&gt;Microsoft Support or Premier Field engineering is happy to help with questions that you may have around which performance values are important and at what values they should be, according to your workload.&lt;/p&gt;
&lt;p&gt;This article wants to point your attention to the fact, that even in times when everybody is running x64-systems, you still have to watch your 32-bit systems carefully for performance.&amp;nbsp; Another (better) way to solve those kind of issues is to migrate to a modern 64-bit operating system like Windows Server 2012.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="font-size: xx-small;"&gt;Written by &lt;/span&gt;&lt;a href="http://social.technet.microsoft.com/profile/frank%20plawetzki%20-%20msft/" target="_blank"&gt;&lt;span style="font-size: xx-small;"&gt;Frank Plawetzki&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: xx-small;"&gt;, Senior Microsoft Premier Field Engineer; Posted by &lt;/span&gt;&lt;a href="http://social.technet.microsoft.com/Profile/Frank%20Battiston" target="_blank"&gt;&lt;span style="font-size: xx-small;"&gt;Frank Battiston&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: xx-small;"&gt;, MSPFE Editor&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3568536" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Performance/">Performance</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Windows/">Windows</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Windows+Server/">Windows Server</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Frank+Plawetzki/">Frank Plawetzki</category></item><item><title>A Day In The Life: What does a Microsoft Premier Field Engineer do?</title><link>http://blogs.technet.com/b/mspfe/archive/2013/04/26/day-to-day-as-a-microsoft-premier-field-engineer.aspx</link><pubDate>Fri, 26 Apr 2013 05:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3568514</guid><dc:creator>Premier Field Engineers</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/mspfe/rsscomments.aspx?WeblogPostID=3568514</wfw:commentRss><comments>http://blogs.technet.com/b/mspfe/archive/2013/04/26/day-to-day-as-a-microsoft-premier-field-engineer.aspx#comments</comments><description>&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Summary: &lt;/strong&gt;Because inquiring minds want to know,&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/em&gt;&lt;a href="http://blogs.technet.com/b/mspfe/archive/tags/Milad+Aslaner"&gt;&lt;em&gt;Milad Aslaner&lt;/em&gt;&lt;/a&gt;&lt;em&gt;, a Microsoft Premier Field&lt;/em&gt; &lt;em&gt;Engineer based in Germany, provides us some insight into what it&amp;rsquo;s like to be a Microsoft Premier Field Engineer. Enjoy!&lt;/em&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/7853.image_5F00_53F86106.png"&gt;&lt;img style="margin: 0px 13px 0px 0px; float: left; display: inline; background-image: none;" title="Milad Aslaner" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/2262.image_5F00_thumb_5F00_5C7BC050.png" alt="Milad Aslaner" width="158" height="143" align="left" border="0" /&gt;&lt;/a&gt;Those who follow &lt;a href="http://blogs.technet.com/b/mspfe/archive/tags/milad+aslaner/" target="_blank"&gt;my blog posts&lt;/a&gt; know that I&amp;rsquo;m truly in love in what I do. But what is it actually that I do?&amp;nbsp; Typically, when I&amp;rsquo;m talking with customers sooner or later they ask &amp;ldquo;&lt;em&gt;Mr. Aslaner what is a &lt;strong&gt;Premier Field Engineer&lt;/strong&gt;?&lt;/em&gt;&amp;rdquo; or &amp;ldquo;&lt;em&gt;What does your day-to-day job look like?&lt;/em&gt;&amp;rdquo;&amp;nbsp; This is why I decided to give you some insights about my role in this blog post.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s start with the basics: we, as Premier Field Engineers (PFE for short), are part of Microsoft&amp;rsquo;s &lt;strong&gt;Global Business Support&lt;/strong&gt; group. Each of us are specialized in a specific technology or even a subsegment of it.&amp;nbsp; For example, my primary technology is Windows Client, and&amp;nbsp; I mainly focus on Windows Reliability and Performance. That means I&amp;rsquo;m a technical expert when it comes to identifying in nanoseconds what&amp;rsquo;s going on with Windows; how it works under the hood and Windows security features like Mandatory Integrity Control, etc..&lt;/p&gt;
&lt;p&gt;We are typically divided into &lt;strong&gt;transactional&lt;/strong&gt; and &lt;strong&gt;dedicated PFE&lt;/strong&gt;&amp;rsquo;s. Dedicated PFE&amp;rsquo;s are colleagues who have 1-3 dedicated accounts they&amp;rsquo;re responsible for and visit frequently. Transactional PFE&amp;rsquo;s travel around from one customer to the next one, typically changing customers each week.&amp;nbsp; Recently, we also introduced Hybrid PFE&amp;rsquo;s which is what I&amp;rsquo;m doing. Hybrid PFE&amp;rsquo;s are PFE&amp;rsquo;s who have typically 1-2 dedicated accounts and travel doing transactional-oriented work the rest of the time.&lt;/p&gt;
&lt;p&gt;But what is it that we do when we are onsite? We do mainly &lt;strong&gt;proactive work&lt;/strong&gt; which means that we help customers identify ways to improve their IT landscape by delivering several different types of offerings such as workshops, chalk talks, health checks and risk assessments. A smaller portion of our work reactive in nature. This means that once the customer has a critical issue in their infrastructure or when they need a subject-matter-expert on a particular case that we jump in and support them.&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/2251.image_5F00_50DEDFD4.png"&gt;&lt;img style="margin: 12px 0px 0px 13px; border: 0px currentcolor; float: right; display: inline; background-image: none;" title="Milad Aslaner speaking at TechReady" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-92-37-metablogapi/3821.image_5F00_thumb_5F00_57947A08.png" alt="Milad Aslaner speaking at TechReady" width="165" height="224" align="right" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Besides working with our valuable customers we are also a lot involved in a bunch of projects like developing new training opportunities, working on &amp;ldquo;v.Next&amp;rdquo; projects, blogging on TechNet/MSDN, tweeting about the latest update to our technologies, and, under the umbrella of our &amp;ldquo;Heroes to Mentors&amp;rdquo; strategy, we participate in internal and external conferences like TechEd, Premier Nights etc.&lt;/p&gt;
&lt;p&gt;In my particular case, I&amp;rsquo;m a regular speaker at events such as TechEd, TechReady (a Microsoft internal version of TechEd) and Premier Events. I also deliver workshops like &lt;em&gt;Windows 8 New Features and Upgrade&lt;/em&gt; as an open delivery which means that usually we invite up to 12 customers to our offices and deliver it there.&amp;nbsp; Besides that, I&amp;rsquo;m a regular blogger on &lt;a href="http://mspfe.com" target="_blank"&gt;MSPFE&lt;/a&gt; and the &lt;a href="http://blogs.technet.com/b/microsoft_services_deutschland/" target="_blank"&gt;German Microsoft Services Blog&lt;/a&gt;. Lastly, I&amp;rsquo;m one of the world-wide Community subject matter experts for Windows Client Deployment, Program Lead for German community readiness in Client Deployment Field, and in a team of world-wide leads for specific Chalk Talks and other Services.&lt;/p&gt;
&lt;p&gt;I hope I was able to give you some insights about our every day job and what it&amp;rsquo;s like to be a PFE (&lt;em&gt;and btw, PFE is recruiting! If you&amp;rsquo;re interested check out our &lt;a href="https://careers.microsoft.com/search.aspx#&amp;amp;&amp;amp;p4=all&amp;amp;p0=PFE&amp;amp;p5=all&amp;amp;p1=all&amp;amp;p2=all&amp;amp;p3=all" target="_blank"&gt;careers website&lt;/a&gt;&lt;/em&gt;).&amp;nbsp; &lt;strong&gt;PFE Rocks!&lt;/strong&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="font-size: xx-small;"&gt;Written by &lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/span&gt;&lt;a href="http://blogs.technet.com/b/mspfe/archive/tags/Milad+Aslaner"&gt;&lt;span style="font-size: xx-small;"&gt;Milad Aslaner&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: xx-small;"&gt;;&amp;nbsp; Posted by &lt;/span&gt;&lt;a href="http://social.technet.microsoft.com/Profile/Frank%20Battiston"&gt;&lt;span style="font-size: xx-small;"&gt;Frank Battiston&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: xx-small;"&gt;, MSPFE Editor&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3568514" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Premier+Support/">Premier Support</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Milad+Aslaner/">Milad Aslaner</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/Premier+Field+Engineering/">Premier Field Engineering</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/All+About+PFE/">All About PFE</category><category domain="http://blogs.technet.com/b/mspfe/archive/tags/PFE/">PFE</category></item></channel></rss>