<?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>Exchange Team Blog</title><link>http://blogs.technet.com/b/exchange/</link><description>aka the Microsoft Exchange Team Blog</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Ambiguous URLs and their effect on Exchange 2010 to Exchange 2013 Migrations</title><link>http://blogs.technet.com/b/exchange/archive/2013/05/23/ambiguous-urls-and-their-effect-on-exchange-2010-to-exchange-2013-migrations.aspx</link><pubDate>Thu, 23 May 2013 18:31:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3574451</guid><dc:creator>The Exchange Team</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/exchange/rsscomments.aspx?WeblogPostID=3574451</wfw:commentRss><comments>http://blogs.technet.com/b/exchange/archive/2013/05/23/ambiguous-urls-and-their-effect-on-exchange-2010-to-exchange-2013-migrations.aspx#comments</comments><description>&lt;p&gt;With the recent releases of &lt;a class="bold" title="See 'Released: Exchange Server 2013 RTM Cumulative Update 1'" href="http://blogs.technet.com/b/exchange/archive/2013/04/02/released-exchange-server-2013-rtm-cumulative-update-1.aspx"&gt;Exchange Server 2013 RTM CU1&lt;/a&gt;, &lt;a class="bold" title="See 'Ask the Perf Guy: Sizing Exchange 2013 Deployments'" href="http://blogs.technet.com/b/exchange/archive/2013/05/06/ask-the-perf-guy-sizing-exchange-2013-deployments.aspx"&gt;Exchange 2013 sizing guidance&lt;/a&gt;, &lt;a class="bold" title="See 'Released: Exchange 2013 Server Role Requirements Calculator'" href="http://blogs.technet.com/b/exchange/archive/2013/05/14/released-exchange-2013-server-role-requirements-calculator.aspx"&gt;Exchange 2013 Server Role Requirements Calculator&lt;/a&gt;, and the updated &lt;a class="bold" title="See 'Updated: Exchange Server 2013 Deployment Assistant'" href="http://blogs.technet.com/b/exchange/archive/2013/04/22/updated-exchange-server-2013-deployment-assistant.aspx"&gt;Exchange 2013 Deployment Asistant&lt;/a&gt;, on-premises customers now have the tools you need to begin designing and performing migrations to Exchange Server 2013. Many of you have introduced Exchange 2013 RTM &lt;acronym title="Cumulative Update"&gt;CU1&lt;/acronym&gt; into your test environments alongside Exchange 2010 SP3 and/or Exchange 2007 SP3 RU10, and are readying yourselves for the production migrations.&lt;/p&gt;
&lt;p&gt;There's one particular Exchange 2010 design choice some customers made that could throw a monkey wrench into your upgrade plans to Exchange 2013, and we want to walk you through how to mitigate it so you can move forward. If you're still in the design or deployment phase of Exchange Server 2010, we recommend you continue reading this article so you can make some intelligent design choices which will benefit you when you migrate to Exchange 2013 or later.&lt;/p&gt;
&lt;h2&gt;What is the situation we need to look for?&lt;/h2&gt;
&lt;p&gt;In Exchange 2010, all Outlook clients in the most typical configurations will utilize MAPI/RPC or Outlook Anywhere (RPC over HTTPS) connections to a Client Access Server. The MAPI/RPC clients connect to the &lt;a class="bold" href="http://blogs.technet.com/b/exchange/archive/2010/05/20/3409978.aspx"&gt;CAS Array Object&lt;/a&gt; FQDN (also known as the &lt;span class="newterm lightyellow"&gt;RPC endpoint&lt;/span&gt;) for Mailbox access and the HTTPS based clients connect to the Outlook Anywhere hostname (also known as the &lt;span class="newterm lightyellow"&gt;RPC proxy endpoint&lt;/span&gt;) for all Mailbox and Public Folder access. In addition to these primary connections, other HTTPS based workloads such as &lt;acronym title="Exchange ActiveSync"&gt;EAS&lt;/acronym&gt;, &lt;acronym title="Exchange Control Panel"&gt;ECP&lt;/acronym&gt;, &lt;acronym title="Offline Address Book"&gt;OAB&lt;/acronym&gt;, and &lt;acronym title="Exchange Web Services"&gt;EWS&lt;/acronym&gt; may be sharing the same FQDN as Outlook Anywhere. In some environments you may also be sharing the same FQDN with &lt;acronym title="Post Office Protocol"&gt;POP&lt;/acronym&gt;/&lt;acronym title="Internet Message Access Protocol"&gt;IMAP&lt;/acronym&gt; based clients and using it as an &lt;acronym title="Simple Mail Transfer Protocol"&gt;SMTP&lt;/acronym&gt; endpoint for internal mail submissions.&lt;/p&gt;
&lt;p&gt;In Exchange 2010, the recommendation was to utilize &lt;span class="newterm"&gt;split DNS&lt;/span&gt; and ensure that the CAS Array Object FQDN was only resolvable via DNS by internal clients. External clients should never be able to resolve the CAS Array Object FQDN. This was covered previously in item &lt;strong&gt;#4&lt;/strong&gt; of &lt;a class="bold" href="http://blogs.technet.com/b/exchange/archive/2012/03/28/demystifying-the-cas-array-object-part-2.aspx"&gt;Demystifying the CAS Array Object - Part 2&lt;/a&gt;. If you put those two design rules together you come to the conclusion your ClientAccessArray FQDN used by the mailbox database &lt;span class="parameter lightyellow"&gt;RpcClientAccessServer&lt;/span&gt; property should have been an internal-only unique FQDN not utilized by any workload besides MAPI/RPC clients.&lt;/p&gt;
&lt;p&gt;Take the following chart as an example of what a suggested configuration in a split DNS configuration would have looked like.&lt;/p&gt;
&lt;table class="posttable"&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;th&gt;&lt;strong&gt;FQDN&lt;/strong&gt;&lt;/th&gt;&lt;th&gt;&lt;strong&gt;Used By&lt;/strong&gt;&lt;/th&gt;&lt;th&gt;&lt;strong&gt;Internal DNS resolves to&lt;/strong&gt;&lt;/th&gt;&lt;th&gt;&lt;strong&gt;External DNS resolves to&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mail.contoso.com&lt;/td&gt;
&lt;td&gt;All HTTPS Workloads&lt;/td&gt;
&lt;td&gt;Internal Load Balancer IP&lt;/td&gt;
&lt;td&gt;Perimeter Network Device&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;outlook.contoso.com&lt;/td&gt;
&lt;td&gt;MAPI/RPC Workloads&lt;/td&gt;
&lt;td&gt;Internal Load Balancer IP&lt;/td&gt;
&lt;td&gt;N/A&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;If your do not utilize split DNS, then a suggested configuration may have been.&lt;/p&gt;
&lt;table class="posttable"&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;th&gt;&lt;strong&gt;FQDN&lt;/strong&gt;&lt;/th&gt;&lt;th&gt;&lt;strong&gt;Used By&lt;/strong&gt;&lt;/th&gt;&lt;th&gt;&lt;strong&gt;DNS resolves to&lt;/strong&gt;&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mail.contoso.com&lt;/td&gt;
&lt;td&gt;External HTTPS Workloads&lt;/td&gt;
&lt;td&gt;Perimeter Network Device&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mail-int.contoso.com&lt;/td&gt;
&lt;td&gt;Internal HTTPS Workloads&lt;/td&gt;
&lt;td&gt;Internal Load Balancer IP&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;outlook.contoso.com&lt;/td&gt;
&lt;td&gt;Internal MAPI/RPC Workloads&lt;/td&gt;
&lt;td&gt;Internal Load Balancer IP&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;In speaking with our Premier Field Engineers and &lt;acronym title="Microsoft Consulting Services"&gt;MCS&lt;/acronym&gt; consultants, we learned that some of our customers did not choose to use a unique &lt;span class="parameter"&gt;ClientAccessArray&lt;/span&gt; &lt;acronym title="Fully Qualified Domain Name"&gt;FQDN&lt;/acronym&gt;. This design choice may manifest itself in one of two ways. The MAPI/RPC and HTTPS workloads may both utilize the &lt;span class="fqdn lightyellow"&gt;mail.contoso.com&lt;/span&gt; FQDN internally and externally, or a unique external FQDN of &lt;span class="fqdn lightyellow"&gt;mail.contoso.com&lt;/span&gt; is used while internal MAPI/RPC and HTTPS workloads share &lt;span class="fqdn lightyellow"&gt;mail-int.contoso.com&lt;/span&gt;. The shared FQDN in either situation is ambiguous because we can't look at it and immediately understand the workload type that's using it. Perhaps we were not clear enough in our original guidance, or customers felt fewer names would help reduce overall design complexity since everything appeared to work with this configuration.&lt;/p&gt;
&lt;p&gt;Take a look at the figure below and the FQDNs in use for some of the different workloads. Shown are EWS, ECP, OWA, CAS Array Object, and Outlook Anywhere External Hostname. The yellow arrow specifically points out the CAS Array Object, the value used as the &lt;span class="parameter"&gt;RpcClientAccessServer&lt;/span&gt; for Exchange 2010 mailbox databases, and seen in the &lt;span class="parameter lighteyllow"&gt;Server&lt;/span&gt; field of an Outlook profile for an Exchange 2010 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-31-06-metablogapi/1856.image_5F00_3053B088.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/8132.image_5F00_thumb_5F00_0B55F00F.png" alt="image" width="375" height="437" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;em&gt;An Exchange 2010 deployment with a single ambiguous URL for all workloads.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Let us pause for a moment to visualize what we have talked about so far. If we were to compare an Exchange 2010 environment using ambiguous URLs to one not using ambiguous URLs, it would look like the following diagrams. Notice the first diagram below uses the same FQDN for Outlook MAPI/RPC based traffic and HTTPS based traffic.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/8244.image_5F00_624DE1C3.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/2313.image_5F00_thumb_5F00_7666FE4C.png" alt="image" width="624" height="738" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If we were to then look at an environment not utilizing ambiguous URLs, we see the clients utilize unique FQDNs for MAPI/RPC based traffic and HTTPS based traffic. In addition, the FQDN utilized for MAPI/RPC based traffic is only resolvable via internal DNS.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4073.image_5F00_665AC046.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/0601.image_5F00_thumb_5F00_7A73DCCF.png" alt="image" width="624" height="753" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If your environment does not look like the one above using ambiguous URLs, then you can go hit the coffee shop for a while or play some XBOX 360. Tell your boss we gave the okay. If your environment &lt;strong&gt;does&lt;/strong&gt; look similar to the first example using ambiguous URLs or you are in the planning stages for Exchange 2010, then please read on as we need you to perform some extra steps when migrating to Exchange 2013.&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;So what&amp;rsquo;s the big deal? It is functional this way isn&amp;rsquo;t it?&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;While this may be working for you today, it certainly will not work tomorrow if you migrate to Exchange 2013. In this scenario where both the MAPI/RPC and HTTP workloads are using the same FQDN you cannot successfully move the FQDN to CAS 2013 without breaking your MAPI/RPC client connectivity entirely. I repeat, &lt;span style="color: #ff0000;"&gt;your MAPI/RPC clients will start failing to connect via MAPI/RPC&lt;/span&gt; once their DNS cache expires after the shared FQDN is moved to CAS 2013. The MAPI/RPC clients will fail to connect because CAS 2013 does not know how to handle direct MAPI/RPC connections as all Windows based Outlook clients utilize MAPI over a RPC over HTTPS connection in Exchange 2013. There is a chance your Outlook clients may successfully fall back to HTTPS only if Outlook Anywhere is currently enabled for Exchange 2010 when the failure to connect via MAPI/RPC takes place, but this article will help with the following.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ensure you are in full control of what will take place&lt;/li&gt;
&lt;li&gt;Ensure you are in full control of when #1 takes place&lt;/li&gt;
&lt;li&gt;Ensure you are in a supported server + client configuration&lt;/li&gt;
&lt;li&gt;Ensure environments with Outlook Anywhere disabled for Exchange 2010 know their path forward&lt;/li&gt;
&lt;li&gt;Help remove the possibility of any clients not automatically falling back to HTTPS&lt;/li&gt;
&lt;li&gt;Remove the potentially long delay when Outlook does fail to via MAPI/RPC even though it can resolve the MAPI/RPC URL and then falls back to HTTPS&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;&lt;strong&gt;Shoot&amp;hellip; this looks like us. What should we do immediately?&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;First off, if you are still in the planning stages of Exchange 2010 you need to take our warning to heart and immediately change your design to use a specific internal-only FQDN for MAPI/RPC clients. If you are in the middle of a 2010 deployment using an Ambiguous URL I recommend you change your ClientAccessArray FQDN to a unique name and update the mailbox database &lt;em&gt;RpcClientAccessServer&lt;/em&gt; values on all Exchange 2010 mailbox databases accordingly. Fixing this item mid-migration to Exchange 2010 or even in your fully migrated environment will ensure any newly created or manually repaired Outlook profiles are protected, but it will not automatically fix existing Outlook clients with the old value in the server field.&lt;/p&gt;
&lt;p&gt;While not necessary as long as you go through our mitigation steps below, any existing Outlook profiles could be manually repaired to reflect the new value. If you are curious why a manual repair is necessary you can refer to items &lt;strong&gt;#5&lt;/strong&gt; and &lt;strong&gt;#6&lt;/strong&gt; in &lt;a href="http://blogs.technet.com/b/exchange/archive/2012/03/28/demystifying-the-cas-array-object-part-2.aspx"&gt;Demystifying the CAS Array Object - Part 2&lt;/a&gt;. Again, forcing this update &lt;span style="text-decoration: underline;"&gt;is not necessary&lt;/span&gt; if you follow our mitigation steps later in this article. However, if you were to choose to update some specific Outlook profiles we suggest you perform those steps in your test environment first to make sure you have the process down correctly.&lt;/p&gt;
&lt;p&gt;Additionally as we previously discussed in item &lt;strong&gt;#3&lt;/strong&gt; of &lt;a href="http://blogs.technet.com/b/exchange/archive/2012/03/23/demystifying-the-cas-array-object-part-1.aspx"&gt;Demystifying the CAS Array Object &amp;ndash; Part 1&lt;/a&gt;, the ClientAccessArray FQDN is not needed in your SSL certificate as it is not being used for HTTPS based traffic. Because of this, the only thing you would need to do is create a new internal DNS record, update your ClientAccessArray FQDN, and finally update your Exchange 2010 Mailbox Database &lt;em&gt;RpcClientAccessServer&lt;/em&gt; values. It bears repeating that you do not have to get a new SSL certificate only to fix an Ambiguous URL situation.&lt;/p&gt;
&lt;h2&gt;&lt;strong&gt;Ok, fixed that&amp;hellip; now what about the clients we don&amp;rsquo;t want to repair manually?&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;Our suggestion is to implement Outlook Anywhere internally for all users prior to introducing Exchange Server 2013 to the environment.&lt;/p&gt;
&lt;p&gt;Many of our customers have already moved to Outlook Anywhere internally for all Windows Outlook clients. In fact, those of you reading this with OA in use internally are good to proceed to the coffee shop or go play XBOX 360 with the other folks if you&amp;rsquo;d like to.&lt;/p&gt;
&lt;p&gt;Now for the rest of you&amp;hellip; sit a little closer. Go ahead and fill in, there are plenty of seats in the front row like usual.&lt;/p&gt;
&lt;p&gt;In Exchange Server 2013 all Windows Outlook clients operate in Outlook Anywhere mode internally. By following these mitigation steps you will be one step ahead of where you will end up after your migration to Exchange Server 2013 anyways.&lt;/p&gt;
&lt;p&gt;If you do not have Outlook Anywhere enabled at all in your environment, please see &lt;a href="http://technet.microsoft.com/en-us/library/bb123542(v=exchg.141).aspx"&gt;Enable Outlook Anywhere&lt;/a&gt; on TechNet for steps on how to enable it in Exchange 2010. If your company does not wish to provide external access for Outlook Anywhere that is ok. By simply enabling Outlook Anywhere you will not be providing remote access unless you also publish the /rpc virtual directory to the Internet.&lt;/p&gt;
&lt;p&gt;It is suggested customers, especially very large ones, consider enabling Kerberos authentication to avoid any potential performance issues you may run into utilizing the default NTLM authentication. Information on how to configure Kerberos Authentication can be found &lt;a href="http://technet.microsoft.com/en-us/library/ff808312(v=exchg.141).aspx"&gt;here on TechNet&lt;/a&gt; for Exchange Server 2010 and the steps for Exchange Server 2013 are similar which we will have documentation for in the near future. However, please keep in mind Kerberos authentication with Outlook Anywhere is only supported with Windows Vista or later.&lt;/p&gt;
&lt;p&gt;By default with Outlook Anywhere enabled in the environment your clients prefer RPC/TCP connections when on Fast Networks as seen 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-31-06-metablogapi/4010.image_5F00_3C7A4C11.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/3264.image_5F00_thumb_5F00_10C98215.png" alt="image" width="448" height="52" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The trick we use to force Outlook Anywhere to also be used internally is via Autodiscover. Using Autodiscover we can make Windows Outlook clients prefer RPC/HTTPS on both Fast and Slow networks as seen here.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/3276.image_5F00_5E65AE95.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/6835.image_5F00_thumb_5F00_40F35D89.png" alt="image" width="441" height="50" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The method used to make clients always prefer HTTPS is configuring the &lt;em&gt;OutlookProviderFlags&lt;/em&gt; option via the Set-OutlookProvider cmdlet. The following commands are executed from the Exchange 2010 Management Shell.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="code"&gt;Set-OutlookProvider EXPR -OutlookProviderFlags:ServerExclusiveConnect&lt;/p&gt;
&lt;p class="code"&gt;Set-OutlookProvider EXCH -OutlookProviderFlags:ServerExclusiveConnect&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If for any reason you need to put the configuration back to its default settings, issue the following commands and clients will no longer prefer HTTP on Fast Networks.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="code"&gt;Set-OutlookProvider EXPR -OutlookProviderFlags:None&lt;/p&gt;
&lt;p class="code"&gt;Set-OutlookProvider EXCH -OutlookProviderFlags:None&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;You can prepare to introduce Exchange Server 2013 to your environment once all of your Windows Outlook clients are preferring HTTP on both fast and slow networks and are connecting through &lt;strong&gt;mail.contoso.com&lt;/strong&gt; for RPC over HTTPS connections.&lt;/p&gt;
&lt;p&gt;There are a small number of things we would like to call out as you plan this migration to enable Outlook Anywhere for all internal clients.&lt;/p&gt;
&lt;p&gt;First, your front end infrastructure (CAS 2013, Load Balancer, etc&amp;hellip;) must ready to immediately handle the full production load of Windows Outlook clients when you re-point the &lt;strong&gt;mail.contoso.com&lt;/strong&gt; FQDN in DNS.&lt;/p&gt;
&lt;p&gt;Second, if your Exchange 2010 Client Access Servers were not scaled for 100% Outlook Anywhere connections then performance should be monitored when OA is enabled and all clients are moved from MAPI/RPC based to HTTPS based workloads. You should be ready to scale out your CAS 2010 infrastructure if necessary to mitigate any possible performance issues.&lt;/p&gt;
&lt;p&gt;Lastly, Windows Outlook clients older than Outlook 2007 are not supported going through CAS 2013 even if their mailbox is on an older Exchange version. All Windows Outlook clients going through CAS 2013 have to be at least the minimum versions supported by Exchange 2013. Any unsupported clients, such as Outlook 2003, do not support Autodiscover and would have to be manually with a new MAPI/RPC specific endpoint to assure they continue communicating with Exchange 2010 until the client can be updated and the mailbox migrated to Exchange 2013.&lt;/p&gt;
&lt;p class="note"&gt;Note: The easiest way to confirm what major/minor version of Outlook you have is to look at the version of &lt;em&gt;OUTLOOK.EXE&lt;/em&gt; and &lt;em&gt;EMSMDB32.DLL&lt;/em&gt; via Windows Explorer or to run an inventory report through Microsoft System Center Configuration Manager or similar software. The minimum version numbers Exchange Server 2013 supports for on-premises deployments are provided below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Outlook 2007: &lt;strong&gt;12.0.6665.5000&lt;/strong&gt; (SP3 + the November 2012 Public Update or any later PU)&lt;/li&gt;
&lt;li&gt;Outlook 2010: &lt;strong&gt;14.0.6126.5000&lt;/strong&gt; (SP1 + the November 2012 Public Update or any later PU)&lt;/li&gt;
&lt;li&gt;Outlook 2013: &lt;strong&gt;15.0.4420.1017&lt;/strong&gt; (RTM or later)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If we were to visualize the mitigation steps from start to end we need to compare it between phases.&lt;/p&gt;
&lt;p&gt;First, the upper area of the below diagram depicts the start state of the environment with internal Windows Outlook clients utilizing MAPI/RPC and ambiguous URLs for their HTTPS based workloads. The lower area of the diagram depicts the same environment, but we have now forced Outlook Anywhere to be used by internal Windows Outlook clients. This change has forced all mailbox and public folder access traffic over HTTPS through the &lt;strong&gt;mail.contoso.com&lt;/strong&gt; Outlook Anywhere FQDN.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/8081.image_5F00_0E8F8A0A.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/5488.image_5F00_thumb_5F00_3BA476D8.png" alt="image" width="614" height="864" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We now have all Windows Outlook clients utilizing Outlook Anywhere internally by levering Autodiscover to force the preference of HTTPS. Now that all Windows Outlook traffic is routed through &lt;strong&gt;mail.contoso.com&lt;/strong&gt; via HTTPS, the ambiguous URL problem has been mitigated. However, you may have other applications integrating with Exchange whom are unable to utilize Outlook Anywhere and/or Autodiscover. These applications will also be affected if you were to update the &lt;strong&gt;mail.contoso.com&lt;/strong&gt; DNS entry to point at Exchange 2013. Before moving onto the second step it may be most efficient to add a HOSTS file entry on the servers hosting these external applications to force resolution of &lt;strong&gt;mail.contoso.com&lt;/strong&gt; to the Layer-7 Load Balancer used by Exchange 2010. This should allow you to temporarily continue routing external application traffic that needs to talk to only Exchange 2010 via MAPI/RPC while you work on updating the applications to be Outlook Anywhere compatible, which they will need to be before they can ever connect to Exchange 2013.&lt;/p&gt;
&lt;p&gt;Having dealt with both the Windows Outlook clients and third-party applications whom cannot utilize Outlook Anywhere, we can now move onto the second step. The second step is executed when you are ready to introduce Exchange 2013 to the environment.&lt;/p&gt;
&lt;p&gt;The below diagram starts by showing where we finished after executing step one. The lower area of the below diagram shows that we have updated DNS to point the &lt;strong&gt;mail.contoso.com&lt;/strong&gt; entry to the new IP of the new Exchange 2013 load balancer configuration. Because of the HOSTS entry we made our application server continues talking to the old Layer-7 load balancer for its MAPI over RPC/TCP connections. Exchange 2013 CAS will now receive all client traffic and then we proxy traffic for users still on Exchange 2010 back to the Exchange 2010 CAS infrastructure. The redundant CAS was removed from the diagram to simplify the view and simply show traffic flow.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4721.image_5F00_7DAAE619.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1055.image_5F00_thumb_5F00_6D9EA813.png" alt="image" width="603" height="864" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In summary, we hope those of you in this unique configuration will be able to smoothly migrate from Exchange 2010 to Exchange 2013 now that you have these mitigation steps. Some of you may identify other potential methods to use and wonder why we are offering only a single mitigation approach. There were many methods investigated, but this mitigation approach came back every time as the most straightforward method to implement, maintain, and support. Given the potential complexity of this change we invite you to ask follow-up questions at the follow Exchange Server Forum where we can often better interact with you than the comments format allows.&lt;/p&gt;
&lt;p&gt;Exchange Server Forum: &lt;a href="http://social.technet.microsoft.com/Forums/en-US/exchangesvrdeploy/threads"&gt;Exchange Server 2013 &amp;ndash; Setup, Deployment, Updates, and Migration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="author"&gt;Brian Day &lt;/span&gt; &lt;br /&gt;Senior Program Manager &lt;br /&gt;Exchange Customer Experience&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3574451" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/exchange/archive/tags/Troubleshooting/">Troubleshooting</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Tips+_2700_n+Tricks/">Tips 'n Tricks</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Client+Access/">Client Access</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Exchange+2010/">Exchange 2010</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Planning+and+Architecture/">Planning and Architecture</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Exchange+2013/">Exchange 2013</category></item><item><title>Using Exchange Web Services to Apply a Personal Tag to a Custom Folder</title><link>http://blogs.technet.com/b/exchange/archive/2013/05/20/using-exchange-web-services-to-apply-a-personal-tag-to-a-custom-folder.aspx</link><pubDate>Mon, 20 May 2013 15:50:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3573602</guid><dc:creator>Bharat Suneja [MSFT]</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/exchange/rsscomments.aspx?WeblogPostID=3573602</wfw:commentRss><comments>http://blogs.technet.com/b/exchange/archive/2013/05/20/using-exchange-web-services-to-apply-a-personal-tag-to-a-custom-folder.aspx#comments</comments><description>&lt;p&gt;In Exchange 2010, we introduced &lt;a class="bold" title="See 'Retention Tags and Retention Policies' in Exchange 2013 documentation" href="http://technet.microsoft.com/en-us/library/dd297955.aspx"&gt;Retention Tags&lt;/a&gt;, a Messaging Records Management (MRM) feature that allows you to manage email lifecycle. You can use retention policies to retain mailbox data for as long as it&amp;rsquo;s required to meet business or regulatory requirements, and delete items older than the specified period.&lt;/p&gt;
&lt;p&gt;One of the design goals for &lt;acronym title="Messaging Records Management"&gt;MRM&lt;/acronym&gt; 2.0 was to simplify administration compared to &lt;a class="bold" title="" href="http://blogs.technet.com/controlpanel/blogs/posteditor.aspx/"&gt;Managed Folders&lt;/a&gt;, the MRM feature introduced in Exchange 2007, and allow users more flexibility. By applying a &lt;span class="bold"&gt;Personal Tag&lt;/span&gt; to a folder, users can have different retention settings apply to items in that folder than the default tag applied to the entire mailbox(known as a &lt;span class="bold"&gt;Default Policy Tag&lt;/span&gt;). Similarly, users can apply a different tag to a subfolder than the one applied to the parent folder. Users can also apply a Personal Tag to individual items, allowing them the freedom to organize messages based on their work habits and preference, rather than forcing them to move messages, based on the retention requirement, to an admin-controlled Managed Folder.&lt;/p&gt;
&lt;p&gt;You can still use Managed Folders in Exchange 2010, but they&amp;rsquo;re &lt;a title="See 'What's Discontinued in Exchange 2013'" href="http://technet.microsoft.com/en-us/library/jj619283%28v=exchg.150%29.aspx"&gt;not available in Exchange 2013&lt;/a&gt;.&lt;/p&gt;
&lt;p class="note"&gt;For a comparison of Retention Tags with Managed Folders and migration details, see &lt;a class="bold" title="See 'Migrate from Managed Folders' in Exchange 2013 documentation" href="http://aka.ms/migratemrm"&gt;Migrate Managed Folders&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you like the Managed Folders approach of being able to create a folder in the user&amp;rsquo;s mailbox and configure a retention setting for that folder, you can use &lt;span class="bold"&gt;Exchange Web Services&lt;/span&gt; (EWS) to accomplish something similar, with some caveats mentioned later in this post. You can write your own code or even a PowerShell script to create a folder in the user&amp;rsquo;s mailbox and apply a Personal Tag to it. There are scripts available on the interwebs, including some code samples on MSDN to accomplish this. For example:&lt;/p&gt;
&lt;ul class="arrowlist"&gt;
&lt;li&gt;&lt;a href="http://aka.ms/personaltagscript"&gt;Stamping Retention Policy Tag using EWS Managed API 1.1 from PowerShell (Exchange 2010)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/mvpawardprogram/archive/2013/04/08/5-lesser-known-operations-in-exchange-web-services-on-exchange-2013.aspx"&gt;5 Lesser Known Operations in Exchange Web Services on Exchange 2013&lt;/a&gt;, Exchange MVP Glen Scales&amp;rsquo; post on the MVP Program Blog, which uses a simpler method to do this on Exchange 2013.&lt;/li&gt;
&lt;/ul&gt;
&lt;p class="note"&gt;&lt;span class="bold"&gt;Note:&lt;/span&gt; The above scripts are examples for your reference. They&amp;rsquo;re not written or tested by the Exchange product group.&lt;/p&gt;
&lt;h2&gt;But is it supported?&lt;/h2&gt;
&lt;p&gt;We frequently get questions about whether this is supported by Microsoft. Short answer: Yes. &lt;a class="bold" title="See 'EWS Managed API 2.0' on MSDN" href="http://msdn.microsoft.com/en-us/library/exchange/dd633709%28v=exchg.80%29.aspx"&gt;Exchange Web Services&lt;/a&gt; (EWS) is a supported and documented &lt;acronym title="Application Programming Interface"&gt;API&lt;/acronym&gt;, which allows &lt;acronym title="Independent Software Vendors"&gt;ISV&lt;/acronym&gt;s and customers to create custom solutions for Exchange.&lt;/p&gt;
&lt;p&gt;When using &lt;acronym title="Exchange Web Services"&gt;EWS&lt;/acronym&gt; in your code or PowerShell script to apply a Personal Tag to a folder, it&amp;rsquo;s important to consider the following:&lt;/p&gt;
&lt;p&gt;&lt;span class="bold"&gt;For Developers&lt;/span&gt;&lt;/p&gt;
&lt;ul class="arrowlist"&gt;
&lt;li&gt;EWS is meant for developers who can write custom code or scripts to extend Exchange&amp;rsquo;s functionality. As a developer, you must have a good understanding of the functionality available via the API and what you can do with it using your code/script.&lt;/li&gt;
&lt;li&gt;Support for EWS API is offered through our &lt;a class="bold" href="http://msdn.microsoft.com/en-us/exchange/aa731549"&gt;Exchange Developer Support&lt;/a&gt; channels.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span class="bold"&gt;For IT Pros&lt;/span&gt;&lt;/p&gt;
&lt;ul class="arrowlist"&gt;
&lt;li&gt;If you&amp;rsquo;re an IT Pro writing your own code or scripts, you&amp;rsquo;re a developer too! Above applies to you.&lt;/li&gt;
&lt;li&gt;If you&amp;rsquo;re an IT Pro using 3rd-party code or scripts, including the code samples &amp;amp; scripts available on MSDN, TechNet or elsewhere on the interwebs, we recommend that you follow the general best practices for using such code or scripts, including &lt;span class="italic"&gt;(but not limited to)&lt;/span&gt;the following:
&lt;ul&gt;
&lt;li&gt;Do not use code/scripts from untrusted sources in a production environment.&lt;/li&gt;
&lt;li&gt;Understand what the script or code does. (This is easy for scripts &amp;ndash; you can look at the source in a text editor.)&lt;/li&gt;
&lt;li&gt;Test the script or code thoroughly in a non-production environment, including all command-line options/parameters available in it, before installing or executing it in your production environment.&lt;/li&gt;
&lt;li&gt;Although it&amp;rsquo;s easy to change the &lt;a class="bold" title="See 'Running Windows PowerShell Scripts'" href="http://technet.microsoft.com/en-us/library/ee176949.aspx"&gt;PowerShell execution policy&lt;/a&gt; on your servers to allow unsigned scripts to execute, it&amp;rsquo;s recommended to allow only signed scripts in production environments. You can easily &lt;a class="bold" title="See 'Using Windows PowerShell to Sign Scripts with Digital Certificates'" href="http://technet.microsoft.com/en-us/magazine/2008.04.powershell.aspx"&gt;sign a script&lt;/a&gt; if it's unsigned, before running it in a production environment.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;So should I do it?&lt;/h2&gt;
&lt;p&gt;If using &lt;acronym title="Exchange Web Services"&gt;EWS &lt;/acronym&gt;to apply a Personal Tag to custom folders helps you meet your business requirements, absolutely! However, do note and consider the following:&lt;/p&gt;
&lt;ul class="arrowlist"&gt;
&lt;li&gt;You&amp;rsquo;re replicating some of the functionality available via Managed Folders, but it &lt;span class="lightyellow"&gt;doesn&amp;rsquo;t turn the folder into a Managed Folder&lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;Remember - it&amp;rsquo;s a Personal Tag! &lt;span class="lightyellow"&gt;Users can remove the tag&lt;/span&gt; from the folder using Outlook or Outlook Web App.&lt;/li&gt;
&lt;li&gt;If you have additional Personal Tags available in your environment, &lt;span class="lightyellow"&gt;users can change the tag&lt;/span&gt; on the custom folder.&lt;/li&gt;
&lt;li&gt;&lt;span class="lightyellow"&gt;Users can tag individual items with a different Personal Tag.&lt;/span&gt; There is no way to enforce inheritance of retention tag if Personal Tags have been provisioned and available to the user.&lt;/li&gt;
&lt;li&gt;&lt;span class="lightyellow"&gt;Users can rename or delete custom folders.&lt;/span&gt; Unlike Managed Folders, which are protected from changes or deletion by users, custom folders created by users or by admin are just like any other &lt;span class="italic"&gt;(non-default)&lt;/span&gt; folder in the mailbox.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Provisioning custom folders with different retention settings (by applying Personal Tags) may help you meet your organization&amp;rsquo;s retention requirements. As an IT Pro, make sure you understand the above and follow the best practices.&lt;/p&gt;
&lt;p&gt;&lt;span class="author"&gt;&lt;a title="Follow @bsuneja on Twitter" href="http://twitter.com/bsuneja"&gt;Bharat Suneja&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3573602" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/exchange/archive/tags/Development/">Development</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Exchange+2010/">Exchange 2010</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Compliance/">Compliance</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Exchange+2013/">Exchange 2013</category></item><item><title>Released: Exchange Server 2013 Management Pack</title><link>http://blogs.technet.com/b/exchange/archive/2013/05/15/released-exchange-server-2013-management-pack.aspx</link><pubDate>Wed, 15 May 2013 19:07:42 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3572952</guid><dc:creator>Ross Smith IV [MSFT]</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/exchange/rsscomments.aspx?WeblogPostID=3572952</wfw:commentRss><comments>http://blogs.technet.com/b/exchange/archive/2013/05/15/released-exchange-server-2013-management-pack.aspx#comments</comments><description>&lt;p&gt;The Microsoft Exchange Server 2013 Management Pack (SCOM MP) is now live!&lt;/p&gt;  &lt;p&gt;As I discussed in my &lt;a href="http://blogs.technet.com/b/exchange/archive/2012/09/21/lessons-from-the-datacenter-managed-availability.aspx"&gt;Managed Availability&lt;/a&gt; article, the key difference between this management pack and previous releases, is that our health logic is now built into Exchange, as opposed to the management pack. This means updates to Exchange 2013 (like our cumulative updates), will include changes to the probes, monitors, and responders. Any issues that Managed Availability cannot solve are bubbled up to SCOM via an event monitor.&lt;/p&gt;  &lt;p&gt;You can download the management pack via Microsoft Download Center at &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=39039"&gt;http://www.microsoft.com/en-us/download/details.aspx?id=39039&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;You can also view the following documentation:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/ee758046(v=exchg.150).aspx"&gt;Exchange Server 2013 Management Pack Documentation&lt;/a&gt; provides detailed instructions and descriptions on how to import and use the Exchange Server 2013 Management Pack&lt;/li&gt;    &lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/dn195892(v=exchg.150).aspx"&gt;Exchange Server 2013 Management Health Set documentation&lt;/a&gt; comprehensive list of healthsets and details&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;More information can be found at the SCOM team’s blog - &lt;a href="http://blogs.technet.com/b/momteam/archive/2013/05/14/exchange-2013-management-pack-released.aspx"&gt;http://blogs.technet.com/b/momteam/archive/2013/05/14/exchange-2013-management-pack-released.aspx&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;span class="author"&gt;&lt;a href="http://blogs.technet.com/b/exchange/archive/2005/08/25/ross-smith-iv-s-biography.aspx"&gt;Ross Smith IV&lt;/a&gt;&lt;/span&gt;     &lt;br /&gt;Principal Program Manager     &lt;br /&gt;Exchange Customer Experience&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3572952" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/exchange/archive/tags/Tools/">Tools</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Announcements/">Announcements</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/High+Availability/">High Availability</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Exchange+2013/">Exchange 2013</category></item><item><title>Released: Exchange 2013 Server Role Requirements Calculator</title><link>http://blogs.technet.com/b/exchange/archive/2013/05/14/released-exchange-2013-server-role-requirements-calculator.aspx</link><pubDate>Tue, 14 May 2013 13:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3572537</guid><dc:creator>Ross Smith IV [MSFT]</dc:creator><slash:comments>35</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/exchange/rsscomments.aspx?WeblogPostID=3572537</wfw:commentRss><comments>http://blogs.technet.com/b/exchange/archive/2013/05/14/released-exchange-2013-server-role-requirements-calculator.aspx#comments</comments><description>&lt;div class="resources" style="margin-left: 10px; width: 150px"&gt;   &lt;ul style="list-style-type: none; font-size: 1.2em; list-style-position: outside; color: #3b79cc; margin-left: 0.5em"&gt;     &lt;li&gt;&lt;a title="Download Exchange 2013 Server Role Requirements Calculator" href="http://gallery.technet.microsoft.com/Exchange-2013-Server-Role-f8a61780"&gt;download&lt;/a&gt; &lt;/li&gt;      &lt;li&gt;&lt;a title="Exchange 2013 Server Role Requirements Calculator Readme" href="http://gallery.technet.microsoft.com/Exchange-2013-Server-Role-c81ac1cf"&gt;readme&lt;/a&gt; &lt;/li&gt;   &lt;/ul&gt; &lt;/div&gt;  &lt;p&gt;It’s been a long road, but the initial release of the Exchange 2013 Server Role Requirements Calculator is here. No, that isn’t a mistake, the calculator has been rebranded.&amp;#160; Yes, this is no longer a Mailbox server role calculator; this calculator includes recommendations on sizing Client Access servers too! Originally, marketing wanted to brand it as the &lt;em&gt;Microsoft Exchange Server 2013 Client Access and Mailbox Server Roles Theoretical Capacity Planning Calculator, On-Premises Edition&lt;/em&gt;.&amp;#160; Wow, that’s a mouthful and reminds me of this &lt;a href="http://www.youtube.com/watch?v=EUXnJraKM3k"&gt;branding parody&lt;/a&gt;.&amp;#160; Thankfully, I vetoed that name (you’re welcome!).&lt;/p&gt;  &lt;p&gt;The calculator supports the architectural changes made possible with Exchange 2013:&lt;/p&gt;  &lt;h3&gt;Client Access Servers&lt;/h3&gt;  &lt;p&gt;&lt;span class="lightyellow"&gt;Like with Exchange 2010, the recommendation in Exchange 2013 is to deploy multi-role servers.&lt;/span&gt; There are very few reasons you would need to deploy dedicated Client Access servers (CAS); CPU constraints, use of Windows Network Load Balancing in small deployments (even with our architectural changes in client connectivity, we still do not recommend Windows NLB for any large deployments) and certificate management are a few examples that may justify dedicated CAS.&lt;/p&gt;  &lt;p&gt;When deploying multi-role servers, the calculator will take into account the impact that the CAS role has and make recommendations for sizing the entire server’s memory and CPU. So when you see the CPU utilization value, this will include the impact both roles have!&lt;/p&gt;  &lt;p&gt;When deploying dedicated server roles, the calculator will recommend the minimum number of Client Access processor cores and memory per server, as well as, the minimum number of CAS you should deploy in each datacenter.&lt;/p&gt;  &lt;h3&gt;Transport&lt;/h3&gt;  &lt;p&gt;Now that the Mailbox server role includes additional components like transport, it only makes sense to include transport sizing in the calculator. This release does just that and will factor in &lt;a href="http://technet.microsoft.com/en-us/library/aa998043(v=exchg.150).aspx"&gt;message queue expiration&lt;/a&gt; and &lt;a href="http://technet.microsoft.com/en-us/library/jj657495.aspx"&gt;Safety Net hold time&lt;/a&gt; when calculating the database size. The calculator even makes a recommendation on where to deploy the mail.que database, either the system disk, or on a dedicated disk!&lt;/p&gt;  &lt;h3&gt;Multiple Databases / JBOD Volume Support&lt;/h3&gt;  &lt;p&gt;Exchange 2010 introduced the concept of 1 database per JBOD volume when deploying multiple database copies. However, this architecture did not ensure that the drive was utilized effectively across all three dimensions – throughput, IO, and capacity. Typically, the system was balanced from an IO and capacity perspective, but throughput was where we saw an imbalance, because during reseeds only a portion of the target disk’s total capable throughput was utilized. In addition, capacity on the 7.2K disks continue to increase with 4TB disks now available, thus impacting our ability to remain balanced along that dimension. In addition, Exchange 2013 includes a 33% reduction in IO when compared to Exchange 2010. Naturally, the concept of 1 database / JBOD volume needed to evolve. As a result, Exchange 2013 made several architectural changes in the store process, ESE, and HA architecture to support multiple databases per JBOD volume. If you would like more information, please see Scott’s excellent TechEd session in a few weeks on &lt;a href="http://channel9.msdn.com/Events/TechEd/NorthAmerica/2013/OUC-B314"&gt;Exchange 2013 High Availability and Site Resilience&lt;/a&gt; or the &lt;a href="http://technet.microsoft.com/en-us/library/dd638137(v=exchg.150).aspx"&gt;High Availability and Site Resilience&lt;/a&gt; topic on TechNet.&lt;/p&gt;  &lt;p&gt;By default, the calculator will recommend multiple databases per JBOD volume. This architecture is supported for single datacenter deployments and multi-datacenter deployments when there is copy and/or server symmetry. The calculator supports highly available database copies and lagged database copies with this volume architecture type. The distribution algorithm will lay out the copies appropriately, as well as, generate the deployment scripts correctly to support &lt;a href="http://technet.microsoft.com/en-us/library/jj619303(v=exchg.150).aspx"&gt;AutoReseed&lt;/a&gt;.&lt;/p&gt;  &lt;h3&gt;High Availability Architecture Improvements&lt;/h3&gt;  &lt;p&gt;The calculator has been improved in several ways for high availability architectures:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;You can now specify the Witness Server location, either primary, secondary, or tertiary datacenter. &lt;/li&gt;    &lt;li&gt;The calculator allows you to simulate WAN failures, so that you can see how the databases are distributed during the worst failure mode. &lt;/li&gt;    &lt;li&gt;The calculator allows you to name servers and define a database prefix which are then used in the deployment scripts. &lt;/li&gt;    &lt;li&gt;The distribution algorithm supports single datacenter HA deployments, Active/Passive deployments, and Active/Active deployments. &lt;/li&gt;    &lt;li&gt;The calculator includes a PowerShell script to automate DAG creation. &lt;/li&gt;    &lt;li&gt;In the event you are deploying your high availability architecture with direct attached storage, you can now specify the maximum number of database volumes each server will support. For example, if you are deploying a server architecture that can support 24 disks, you can specify a maximum support of 20 database volumes (leaving 2 disks for system, 1 disk for Restore Volume, and 1 disks as a spare for AutoReseed). &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Additional Mailbox Tiers (sort of!) &lt;/h3&gt;  &lt;p&gt;Over the years, a few, but vocal, members of the community have requested that I add more mailbox tiers to the calculator. As many of you know, I rarely recommend sizing multiple mailbox tiers, as that simply adds operational complexity and I am all about removing complexity in your messaging environments. While, I haven’t specifically added additional mailbox tiers, I have added the ability for you to define a percentage of the mailbox tier population that should have the IO and Megacycle Multiplication Factors applied. In a way, this allows you to define up to eight different mailbox tiers.&lt;/p&gt;  &lt;h3&gt;Processors&lt;/h3&gt;  &lt;p&gt;I’ve received a number of questions regarding processor sizing in the calculator.&amp;#160; People are comparing the Exchange 2010 Mailbox Server Role Requirements Calculator output with the Exchange 2013 Server Role Requirements Calculator.&amp;#160; As mentioned in our &lt;a href="http://blogs.technet.com/b/exchange/archive/2013/05/06/ask-the-perf-guy-sizing-exchange-2013-deployments.aspx"&gt;Exchange 2013 Performance Sizing&lt;/a&gt; article, the megacycle guidance in Exchange 2013 leverages a new server baseline, therefore, you cannot directly compare the output from the Exchange 2010 calculator with the Exchange 2013 calculator.&lt;/p&gt;  &lt;h3&gt;Conclusion&lt;/h3&gt;  &lt;p&gt;There are many other minor improvements sprinkled throughout the calculator.&amp;#160; We hope you enjoy this initial release.&amp;#160; All of this work wouldn’t have occurred without the efforts of Jeff Mealiffe (for without our sizing guidance there would be no calculator!), David Mosier (VBA scripting guru and the master of crafting the distribution worksheet), and Jon Gollogy (deployment scripting master).&lt;/p&gt;  &lt;p&gt;As always we welcome feedback and please report any issues you may encounter while using the calculator by emailing strgcalc AT microsoft DOT com.&lt;/p&gt;  &lt;p&gt;&lt;span class="author"&gt;&lt;a href="http://blogs.technet.com/b/exchange/archive/2005/08/25/ross-smith-iv-s-biography.aspx"&gt;Ross Smith IV&lt;/a&gt;&lt;/span&gt;     &lt;br /&gt;Principal Program Manager     &lt;br /&gt;Exchange Customer Experience&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3572537" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/exchange/archive/tags/Storage/">Storage</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Tips+_2700_n+Tricks/">Tips 'n Tricks</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Tools/">Tools</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Announcements/">Announcements</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Client+Access/">Client Access</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Mailbox/">Mailbox</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Exchange+2013/">Exchange 2013</category></item><item><title>Use Exchange Web Services and PowerShell to Discover and Remove Direct Booking Settings</title><link>http://blogs.technet.com/b/exchange/archive/2013/05/09/use-exchange-web-services-and-powershell-to-discover-and-remove-direct-booking-settings.aspx</link><pubDate>Fri, 10 May 2013 00:45:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3571818</guid><dc:creator>The Exchange Team</dc:creator><slash:comments>31</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/exchange/rsscomments.aspx?WeblogPostID=3571818</wfw:commentRss><comments>http://blogs.technet.com/b/exchange/archive/2013/05/09/use-exchange-web-services-and-powershell-to-discover-and-remove-direct-booking-settings.aspx#comments</comments><description>&lt;p&gt;Prior to Exchange 2007, there were &lt;a class="bold" title="See previous post: Exchange 2003 Auto Accept Agent vs. direct booking" href="http://blogs.technet.com/b/exchange/archive/2006/02/22/420275.aspx"&gt;two primary methods&lt;/a&gt; of implementing automated resource scheduling &amp;ndash; &lt;span class="bold"&gt;Direct Booking&lt;/span&gt; and the &lt;span class="bold"&gt;AutoAccept Agent&lt;/span&gt; &lt;span class="comment"&gt;(a store event sink released as a web download for Exchange 2003)&lt;/span&gt;. In Exchange 2007, we changed how automated resource scheduling is implemented. The AutoAccept Agent is no longer supported, and the Direct Booking method, technically an Outlook function, has been replaced with server-side calendar booking function called the &lt;a class="bold" title="See previous post: Resource scheduling in Exchange Server 2007" href="http://blogs.technet.com/b/exchange/archive/2007/05/14/3402515.aspx"&gt;Resource Booking Attendant&lt;/a&gt;.&lt;/p&gt;
&lt;p class="note"&gt;&lt;span class="bold"&gt;Note&lt;/span&gt; There are various terms associated with this new Resource Booking function, such as: &lt;span class="newterm"&gt;Calendar Processing&lt;/span&gt;, &lt;span class="newterm"&gt;Automatic Resource Booking&lt;/span&gt;, &lt;span class="newterm"&gt;Calendar Attendant Processing&lt;/span&gt;, &lt;span class="newterm"&gt;Automated Processing&lt;/span&gt; and &lt;span class="newterm"&gt;Resource Booking Assistant&lt;/span&gt;. We will be using the &amp;ldquo;Resource Booking Attendant&amp;rdquo; nomenclature for this article.&lt;/p&gt;
&lt;p&gt;While the Direct Booking method for resource scheduling can indeed work on Exchange Server 2007/2010/2013, we strongly recommend that you disable Direct Booking for resource mailboxes and use the Resource Booking Attendant instead. Specifically, we are referring to the &amp;ldquo;AutoAccept&amp;rdquo; Automated Processing feature of the Resource Booking Attendant, which can be enabled for a mailbox after it has been migrated to Exchange 2007 or later and &lt;a class="bold" title="See 'How to Upgrade Outlook Direct Booking Resource Mailboxes to Exchange 2007' in Exchange 2007 documentation" href="http://technet.microsoft.com/en-us/library/bb232195(v=EXCHG.80).aspx"&gt;upgraded to a Resource Mailbox&lt;/a&gt;.&lt;/p&gt;
&lt;div class="note"&gt;
&lt;p&gt;&lt;span class="bold"&gt;Note&lt;/span&gt; The published resource mailbox upgrade guidance on TechNet specifies to disable Direct Booking in the resource mailbox while still on Exchange 2003, move the mailbox, and then enable the AutoAccept functionality via the Resource Booking Attendant. This order of steps can introduce an unnecessary amount of time where the resource mailbox may be without automated scheduling capabilities.&lt;/p&gt;
&lt;p&gt;We are currently working to update that guidance to reflect moving the mailbox first, and only then proceed with disabling the Direct Booking functionality, after which the AutoAccept functionality via the Resource Booking Attendant can be immediately enabled. This will shorten the duration where the mailbox is without automated resource scheduling capabilities.&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;This conversion process to resource mailboxes utilizing the Resource Booking Attendant is sometimes an honest oversight or even deliberately ignored when migrating away from Exchange 2003 due to Direct Booking&amp;rsquo;s ability to continue to work with newer versions of Exchange, even Exchange Online. This will often result in resource mailboxes (or even user mailboxes!) with Direct Booking functionality remaining in place long after Exchange 2003 is ancient history in the environment.&lt;/p&gt;
&lt;h2&gt;Why not just leave Direct Booking enabled?&lt;/h2&gt;
&lt;p&gt;There are issues that can arise from leaving Direct Booking enabled, from simple administrative burden scenarios all the way to major calendaring issues. Additionally, Resource Booking Attendant offers advantages over Direct Booking functionality:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Direct Booking capabilities, technically an Outlook function, has been &lt;a class="bold" title="See 'The EnableDirectBooking registry value is not used by Outlook 2013'" href="http://support.microsoft.com/kb/2788235"&gt;deprecated&lt;/a&gt; from the product as of Outlook 2013. It was already on the deprecation list in Outlook 2010 and required a &lt;a class="bold" title="See 'Direct Booking does not successfully book a resource in Outlook 2010'" href="http://support.microsoft.com/kb/982774"&gt;registry modification&lt;/a&gt; to reintroduce the functionality.&lt;/li&gt;
&lt;li&gt;Direct Booking and Resource Booking Attendant are conflicting technologies, and if &lt;a class="bold" title="See 'Resources in Exchange do not respond to meeting requests'" href="http://support.microsoft.com/kb/2005631"&gt;simultaneously enabled&lt;/a&gt;, unexpected behavior in calendar processing and item consistency can occur.&lt;/li&gt;
&lt;li&gt;Outlook Web App (as well as any non-MAPI clients, like Exchange ActiveSync (EAS) devices) cannot use Direct Booking for automated resource scheduling. This is especially relevant for Outlook Web App-only environments where the users do not have Microsoft Outlook as a mail client.&lt;/li&gt;
&lt;li&gt;The Resource Booking Attendant AutoAccept functionality is a &lt;span class="lightyellow"&gt;server-side solution&lt;/span&gt;, eliminating the need for client-side logic in order to automatically process meeting requests.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;How do I check which mailboxes have Direct Booking Enabled?&lt;/h2&gt;
&lt;p&gt;How does one validate if Direct Booking settings are enabled on mailboxes in the organization, especially if mailboxes had previously been hosted on Exchange 2003?&lt;/p&gt;
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-postimages/2500.Outlook2010_2D00_ResoruceScheduling.png" alt="Screenshot: Resource Scheduling properties" /&gt;&lt;br /&gt; &lt;span class="caption"&gt;&lt;span class="bold"&gt;Figure 1:&lt;/span&gt; Checking Direct Booking settings in Microsoft Outlook 2010&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Unfortunately, the manual steps involve assigning permissions to all mailboxes, creating &lt;acronym title="Messaging Application Programming Interface"&gt;MAPI&lt;/acronym&gt; profiles for each mailbox, logging into each mailbox, checking &lt;span class="UI"&gt;Tools&lt;/span&gt; &amp;gt; &lt;span class="UI"&gt;Options&lt;/span&gt; &amp;gt; &lt;span class="UI"&gt;Calendar&lt;/span&gt; &amp;gt; &lt;span class="UI"&gt;Resource Scheduling&lt;/span&gt;, note which of the three Direct Booking checkboxes are checked, click &lt;span class="UI"&gt;OK&lt;/span&gt;/&lt;span class="UI"&gt;Cancel&lt;/span&gt; a few times, log out of mailbox. Whew! That can be a major undertaking even for a small to midsize company that has more than a handful of mailboxes! Having staff perform this type of activity manually can be a costly and tedious endeavor. Once you have discovered which mailboxes have the Direct Booking settings enabled, you would then have to repeat this entire process to disable these settings unless you removed them at the time of discovery.&lt;/p&gt;
&lt;p&gt;Having an automated method to discover, track, and even disable Direct Booking settings would be nice right?&lt;/p&gt;
&lt;h2&gt;Look no further, we have the solution for you!&lt;/h2&gt;
&lt;p&gt;Using Exchange Web Services (EWS) and PowerShell, we can automate the discovery of Direct Booking settings that are enabled, track the results, and even disable them! We wrote &lt;a class="bold" title="Download Remove-DirectBooking.ps1 script from TechNet Gallery" href="http://gallery.technet.microsoft.com/scriptcenter/Remove-DirectBookingps1-4c54ec74"&gt;Remove-DirectBooking.ps1&lt;/a&gt;, a sample script, to do exactly that and even more to aid in automating this manual effort.&lt;/p&gt;
&lt;p class="note"&gt;After you've downloaded it, rename the file and remove the &lt;span class="lightyellow filename"&gt;.txt&lt;/span&gt; extension.&lt;/p&gt;
&lt;p class="alert"&gt;&lt;span class="bold"&gt;IMPORTANT&lt;/span&gt;&amp;nbsp; The previously uploaded script had the last line truncated to &lt;span class="command bold"&gt;Stop-Tran&lt;/span&gt; (instead of &lt;span class="command bold"&gt;Stop-Transcript&lt;/span&gt;). We've uploaded an updated version to TechNet Gallery. &lt;span class="bold"&gt;If you downloaded the previous version of the script&lt;/span&gt;, please download the updated version. Alternatively, you can open the previously downloaded version in Notepad or other text editor and correct the last line to &lt;span class="command bold"&gt;Stop-Transcript&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s break down the major tasks the PowerShell script does:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Uses &lt;acronym title="Exchange Web Services"&gt;EWS&lt;/acronym&gt; Application Impersonation to tap into a mailbox (or set of mailboxes) and read the three MAPI properties where the Direct Booking settings are stored. It does this by accessing the localfreebusy item sitting in the &lt;span class="filepath lightyellow"&gt;NON_IPM_SUBTREE\FreeBusy Data&lt;/span&gt; folder, which resides in the root of the &lt;span class="UI"&gt;Information Store&lt;/span&gt; in the mailbox. The three MAPI properties and their equivalent Outlook settings the script looks at are:&lt;/p&gt;
&lt;ul class="arrowlist"&gt;
&lt;li&gt;&lt;span class="bold"&gt;0x686d&lt;/span&gt; Automatically accept meeting requests and remove canceled meetings&lt;/li&gt;
&lt;li&gt;&lt;span class="bold"&gt;0x686f&lt;/span&gt; Automatically decline meeting requests that conflict with an existing appointment or meeting&lt;/li&gt;
&lt;li&gt;&lt;span class="bold"&gt;0x686e&lt;/span&gt; Automatically decline recurring meeting requests&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These three properties contain Boolean values mirroring the Resource Scheduling checkboxes found in Outlook (see Figure 1 above).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;For mailboxes where Direct Booking settings were detected, it checks for conflicts by determining if the mailbox also has Resource Booking Attendant enabled with &lt;span class="parameter"&gt;AutomateProcessing&lt;/span&gt; set to &lt;span class="parameer lightyellow"&gt;AutoAccept&lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;Optionally, disables any enabled Direct Booking settings encountered.
&lt;p class="note"&gt;&lt;span class="bold"&gt;Note&lt;/span&gt; It is important to understand that by default the script runs in a read-only mode. Additional command line switches are available to run the script to disable Direct Booking settings.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Writes a detailed runtime processing log to console and log file.&lt;/li&gt;
&lt;li&gt;Creates a simple output text file containing a list of mailboxes that can be later leveraged as an input file to feed the script for disabling the Direct Booking functionality.&lt;/li&gt;
&lt;li&gt;Creates a CSV file containing statistics of the list of mailboxes processed with detailed information, such as what was discovered, any errors encountered, and optionally what was disabled. This is useful for performing analysis in the discovery phase and can also be used as another source to create an input file to feed into the script for disabling the Direct Booking functionality.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Example Scenarios&lt;/h2&gt;
&lt;p&gt;Here are a couple of example scenarios that illustrate how to use the script to discover and remove enabled Direct Booking settings.&lt;/p&gt;
&lt;h3&gt;Scenario 1&lt;/h3&gt;
&lt;p&gt;You've recently migrated from Exchange 2003 to Exchange 2010 and would like to disable Direct Booking for your company&amp;rsquo;s conference room mailboxes as well as any user mailboxes that may have Direct Booking settings enabled. The administrator&amp;rsquo;s logged in account has Application Impersonation rights and the &lt;a class="bold" title="More about the View-Only Recipients Role in Exchange 2010 documentation" href="http://technet.microsoft.com/en-us/library/dd876872%28v=exchg.141%29.aspx"&gt;View-Only Recipients&lt;/a&gt; &lt;acronym title="Role-Based Access Control"&gt;RBAC&lt;/acronym&gt;role assigned.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;On a machine that has the Exchange management tools &amp;amp; the Exchange Web Services API 1.2 or greater installed, open the Exchange Management Shell, navigate to the folder containing the script, and run the script using the following syntax:
&lt;p class="code"&gt;.\Remove-DirectBooking.ps1 &amp;ndash;identity * -UseDefaultCredentials&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;The script will process all mailboxes in the organization with detailed logging sent to the shell on the console. Note, depending the number of mailboxes in the org, this may take some time to complete&lt;/li&gt;
&lt;li&gt;When the script completes, open the &lt;span class="filename lightyellow"&gt;Remove-DirectBooking_&amp;lt;timestamp&amp;gt;.txt&lt;/span&gt;file in Notepad, which will contain list of mailboxes that have Direct Booking enabled:
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-postimages/5100.Remove_2D00_DirectBooking_2D00_1.png" alt="Screnshot: The Remove-Directbooking log generated by the script" /&gt;&lt;br /&gt; &lt;span class="caption"&gt;&lt;span class="bold"&gt;Figure 2: &lt;/span&gt; Output file containing list of mailboxes with Direct Booking enabled&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;After reviewing the list, rerun the script with the &lt;span class="parameter"&gt;InputFile&lt;/span&gt; parameter and the &lt;span class="parameter"&gt;RemoveDirectBooking&lt;/span&gt;switch:
&lt;p class="code"&gt;.\Remove-DirectBooking.ps1 &amp;ndash;InputFile &amp;lsquo;.\Remove-DirectBooking_&amp;lt;timestamp&amp;gt;.txt&amp;rsquo; &amp;ndash;UseDefaultCredentials -RemoveDirectBooking&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;The script will process all the mailboxes listed in the input file with detailed logging sent to the shell on the console. Because you specified the &lt;span class="parameter lighyellow"&gt;RemoveDirectBooking&lt;/span&gt; switch, it does not run in read-only mode and disables all currently enabled Direct Booking settings encountered.&lt;/li&gt;
&lt;li&gt;When the script completes, you can check the status of the removal operation by checking the &lt;span class="filename lightyellow"&gt;Remove-DirectBooking_&amp;lt;timestamp&amp;gt;.csv&lt;/span&gt; file. A column called &lt;span class="bold"&gt;Direct Booking Removed?&lt;/span&gt; will record if the removal was successful. You can also check the runtime processing log file &lt;span class="filename lightyellow"&gt;RemoveDirectBooking_&amp;lt;timestamp&amp;gt;.log&lt;/span&gt;as well.
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-postimages/4857.Remove_2D00_DirectBooking_2D00_2.png" alt="Log file results in Excel" width="600" /&gt;&lt;br /&gt; &lt;span class="caption"&gt;&lt;span class="bold"&gt;Figure 3:&lt;/span&gt; Reviewing runtime log file in Excel (see &lt;a href="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-postimages/4857.Remove_2D00_DirectBooking_2D00_2.png"&gt;larger screeshot&lt;/a&gt;))&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p class="note"&gt;&lt;span class="bold"&gt;Note&lt;/span&gt; The &lt;span class="bold"&gt;Direct Booking Removed?&lt;/span&gt; column now shows &lt;span class="parameter lightyellow"&gt;Yes&lt;/span&gt; where applicable, but the three Direct Booking settings columns still show their various values as &amp;ldquo;Yes&amp;rdquo;; this is because we record those three values pre-removal. If you were to run the script again in read-only mode against the same input file, those columns would reflect a value of &lt;span class="parameter lightyellow"&gt;N/A&lt;/span&gt; since there would no longer be any Direct Booking settings enabled. The &lt;span class="bold"&gt;Resource Room?&lt;/span&gt;, &lt;span class="bold"&gt;AutoAccept Enabled?&lt;/span&gt;, and &lt;span class="bold"&gt;Conflict Detected&lt;/span&gt; all have a value of &lt;span class="parameter"&gt;N/A&lt;/span&gt; regardless because they are not relevant when disabling the Direct Booking settings.&lt;/p&gt;
&lt;h3&gt;Scenario 2&lt;/h3&gt;
&lt;p&gt;You're an administrator who's new to an organization. You know that they migrated from Exchange 2003 to Exchange 2007 in the distant past and are currently in the process of implementing Exchange 2013, having already migrated some users to Exchange 2013. You have no idea what resources mailboxes or even user mailboxes may be using Direct Booking and would like to discover who has what Direct Booking settings enabled. You would then like to selectively choose which mailboxes to pilot for Direct Booking removal before taking action on the majority of found mailboxes.&lt;/p&gt;
&lt;p&gt;Here's how you would accomplish this using the &lt;span class="filename"&gt;Remove-DirectBooking.ps1&lt;/span&gt; script:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Obtain a service account that has Application Impersonation rights for all mailboxes in the org.&lt;/li&gt;
&lt;li&gt;Ensure service account has at least Exchange View-Only Administrator role (2007) and at least have an RBAC Role Assignment of View Only Recipients (2010/2013).&lt;/li&gt;
&lt;li&gt;On a machine that has the Exchange management tools &amp;amp; the Exchange Web Services API 1.2 or greater installed, preferably an Exchange 2013 server, open the Exchange Management Shell, navigate to the folder containing the script, and run the script using the following syntax:
&lt;p class="code"&gt;.\Remove-DirectBooking.ps1 &amp;ndash;Identity *&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;The script will prompt you for the domain credentials of the account you wish to use because no credentials were specified. Enter the service account&amp;rsquo;s credentials.&lt;/li&gt;
&lt;li&gt;The script will process all mailboxes in the organization with detailed logging sent to the shell on the console. Note, depending the number of mailboxes in the org, this may take some time to complete.&lt;/li&gt;
&lt;li&gt;When the script completes, open the &lt;span class="filename"&gt;Remove-DirectBooking_&amp;lt;timestamp&amp;gt;.csv&lt;/span&gt;in Excel, which will looks something like:
&lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-postimages/4861.Remove_2D00_DirectBooking_2D00_3.png" alt="" /&gt;&lt;br /&gt; &lt;span class="caption"&gt;&lt;span class="bold"&gt;Figure 4:&lt;/span&gt; Reviewing the &lt;span class="filename"&gt;Remove-DirectBooking_&amp;lt;timestamp&amp;gt;.csv&lt;/span&gt; in Excel (see &lt;a href="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-postimages/4861.Remove_2D00_DirectBooking_2D00_3.png"&gt;larger screeshot&lt;/a&gt;))&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Filter or sort the table by the &lt;span class="bold"&gt;Direct Booking Enabled?&lt;/span&gt; column. This will provide a list that can be scrutinized to determine which mailboxes are to be piloted with Direct Booking removal, such as those that have conflicts with already having the Resource Booking Attendant&amp;rsquo;s Automated Processing set to &lt;span class="parameter lightyellow"&gt;AutoAccept&lt;/span&gt; (which you can also filter on using the &lt;span class="bold"&gt;AutoAccept Enabled?&lt;/span&gt; column).&lt;/li&gt;
&lt;li&gt;Once the list has been reviewed and the targeted mailboxes isolated, simply copy their email addresses into a text file (one address per line), save the text file, and use it as the input source for the running the script to disable the Direct Booking settings:
&lt;p class="code"&gt;.\Remove-DirectBooking.ps1 &amp;ndash;InputFile &amp;lsquo;.\&amp;rsquo; -RemoveDirectBooking&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;As before, the script will prompt you for the domain credentials of the account you wish to use. Enter the service account&amp;rsquo;s credentials.&lt;/li&gt;
&lt;li&gt;The script will process all the mailboxes listed in the input file with detailed logging sent to the shell on the console. It will disable all enabled Direct Booking settings encountered.&lt;/li&gt;
&lt;li&gt;Use the same validation steps at the end of the previous example to verify the removal was successful.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Script Options and Caveats&lt;/h2&gt;
&lt;p&gt;Please see the script&amp;rsquo;s help section (via &amp;ldquo;get-help .\remove-DirectBooking.ps1 -full&amp;rdquo;) for full information on all the available parameters. Here are some additional options that may be useful in certain scenarios:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span class="bold"&gt;EWSURL switch parameter&lt;/span&gt; By default, the script will attempt to retrieve the &lt;acronym title="Exchange Web Services"&gt;EWS&lt;/acronym&gt; URL for each mailbox via AutoDiscover. This is preferred, especially in complex multi-datacenter or hybrid Exchange Online/On-premises environments where different EWS URLs may be in play for any given mailbox depending on where it resides in the org. However, there may be times where one would want to supply an EWS URL manually, such as when AutoDiscover is having &amp;ldquo;issues&amp;rdquo;, or the response time for AutoDiscover requests is introducing delays in overall script execution (think very large quantity of number of mailbox identities to churn through) and the EWS URL is the same across the org, etc. In these situations, one can use the &lt;span class="parameter lightyellow"&gt;EWSURL&lt;/span&gt; parameter to feed the script a static EWS URL.&lt;/li&gt;
&lt;li&gt;&lt;span class="bold"&gt;UseDefaultCredentials&lt;/span&gt; If the current user is the service account or perhaps simply has both the Impersonation and the necessary Exchange Admin rights per the script&amp;rsquo;s requirements and they don&amp;rsquo;t wish to be prompted to type in a credential (another great example is scheduling the script to run as a job for instance), you can use the &lt;span class="parameter lightyellow"&gt;UseDefaultCredentials&lt;/span&gt; to run the script under that security context.&lt;/li&gt;
&lt;li&gt;&lt;span class="bold"&gt;RemoveDirectBooking&lt;/span&gt; By default, the script runs in read-only mode. In order to make changes and disable Direct Booking settings on the mailbox, you mus specify the &lt;span class="parameter lightyellow"&gt;RemoveDirectBooking&lt;/span&gt; switch.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The script does have several prerequisites and caveats to ensure proper operation and meaningful results:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Application Impersonation rights and minimum Exchange Admin rights must be used
&lt;ul class="arrowlist"&gt;
&lt;li&gt;For Exchange 2007, see &lt;a class="bold" href="http://msdn.microsoft.com/en-us/library/exchange/bb204095(v=exchg.80).aspx"&gt;Configuring Exchange Impersonation (Exchange Web Services)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;For Exchange 2010/2013, see &lt;a class="bold" href="http://msdn.microsoft.com/en-us/library/exchange/bb204095(v=exchg.140).aspx"&gt;Configuring Exchange Impersonation&lt;/a&gt; (uses &lt;acronym title="Role-Based Access Control"&gt;RBAC&lt;/acronym&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="bold" title="Download Exchange Web Services Managed API 1.2" href="http://www.microsoft.com/en-us/download/details.aspx?id=28952"&gt;Exchange Web Services Managed API 1.2&lt;/a&gt; or later must be installed on the machine running the script&lt;/li&gt;
&lt;li&gt;Exchange management tools must be installed on the machine running the script&lt;/li&gt;
&lt;li&gt;Script must be executed from within the Exchange Management Shell&lt;/li&gt;
&lt;li&gt;The Shell session must have the appropriate execution policy to allow the script to be executed &lt;span class="comment"&gt;(by default, you can't execute unsigned scripts)&lt;/span&gt;.&lt;/li&gt;
&lt;li&gt;AutoDiscover must be configured correctly (unless the &lt;acronym title="Exchange Web Services"&gt;EWS&lt;/acronym&gt; URL is entered manually)&lt;/li&gt;
&lt;li&gt;Exchange 2003-based mailboxes cannot be targeted due to lack of EWS capabilities&lt;/li&gt;
&lt;li&gt;In an Exchange 2010/2013 environment that also has Exchange 2007 mailboxes present, the script should be executed from a machine running Exchange 2010/2013 management tools due to changes in the cmdlets in those versions&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;The discovery and removal of Direct Booking settings can be a tedious and costly process to perform manually, but you can avoid and automate it using current functions and features via PowerShell and &lt;acronym title="Exchange Web Services"&gt;EWS&lt;/acronym&gt; in Microsoft Exchange Server 2007, 2010, &amp;amp; 2013. With careful use, the &lt;span class="filename"&gt;Remove-DirectBooking.ps1&lt;/span&gt; script can be a valuable tool to aid Exchange administrators in maintaining automated resource scheduling capabilities in their Microsoft Exchange environments.&lt;/p&gt;
&lt;p&gt;Your feedback and comments are welcome.&lt;/p&gt;
&lt;p&gt;Thank you to Brian Day and Nino Bilic for their guidance in content review, and to our customers (you know who you are) for piloting the script.&lt;/p&gt;
&lt;p&gt;&lt;span class="author"&gt;Seth Brandes&lt;/span&gt; &amp;amp; &lt;span class="author"&gt;Dan Smith&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3571818" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/exchange/archive/tags/Administration/">Administration</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Exchange+2007/">Exchange 2007</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Exchange+2010/">Exchange 2010</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Mailbox/">Mailbox</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Exchange+2013/">Exchange 2013</category></item><item><title>Ask the Perf Guy: Sizing Exchange 2013 Deployments</title><link>http://blogs.technet.com/b/exchange/archive/2013/05/06/ask-the-perf-guy-sizing-exchange-2013-deployments.aspx</link><pubDate>Mon, 06 May 2013 13:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3570595</guid><dc:creator>The Exchange Team</dc:creator><slash:comments>24</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/exchange/rsscomments.aspx?WeblogPostID=3570595</wfw:commentRss><comments>http://blogs.technet.com/b/exchange/archive/2013/05/06/ask-the-perf-guy-sizing-exchange-2013-deployments.aspx#comments</comments><description>&lt;p&gt;Since the release to manufacturing (RTM) of Exchange 2013, you have been waiting for our sizing and capacity planning guidance. This is the first official release of our guidance in this area, and updates to our &lt;a class="bold" title="See Exchange 2013 documentation on TechNet" href="http://aka.ms/ex2013docs"&gt;TechNet content&lt;/a&gt; will follow in a future milestone.&lt;/p&gt;
&lt;p&gt;As we continue to learn more from our own internal deployments of Exchange 2013, as well as from customer feedback, you will see further updates to our sizing and capacity planning guidance in two forms: changes to the numbers mentioned in this document, as well as further guidance on specific areas not covered here. Let us know what you think we are missing and we will do our best to respond with better information over time.&lt;/p&gt;
&lt;h2&gt;First, some context&lt;/h2&gt;
&lt;p&gt;Historically, the Exchange Server product group has used various sources of data to produce sizing guidance. Typically, this data would come from scale tests run early in the product development cycle, and we would then fine-tune that guidance with observations from production deployments closer to final release. Production deployments have included Exchange Dogfood (our internal pre-release deployment that hosts the Exchange team and various other groups at Microsoft), Microsoft IT&amp;rsquo;s corporate Exchange deployment, and various early adopter programs.&lt;/p&gt;
&lt;p&gt;For Exchange 2013, our guidance is primarily based on observations from the Exchange Dogfood deployment. Dogfood hosts some of the most demanding Exchange users at Microsoft, with extreme messaging profiles and many client sessions per user across multiple client types. Many users in the Dogfood deployment send and receive more than 500 messages per day, and typically have multiple Outlook clients and multiple mobile devices simultaneously connected and active. This allows our guidance to be somewhat conservative, taking into account additional overhead from client types that we don&amp;rsquo;t regularly see in our internal deployments as well as client mixes that might be different from what's considered &amp;ldquo;normal&amp;rdquo; at Microsoft.&lt;/p&gt;
&lt;p&gt;&lt;span class="bold"&gt;Does this mean that you should take this conservative guidance and adjust the recommendations such that you deploy &lt;em&gt;less&lt;/em&gt; hardware? Absolutely not.&lt;/span&gt; One of the many things we have learned from operating our own very high-scale service is that availability and reliability are very dependent on having capacity available to deal with those unexpected peaks.&lt;/p&gt;
&lt;p&gt;Sizing is both a science and an art form. Attempting to apply too much science to the process (trying to get &lt;em&gt;too&lt;/em&gt; accurate) usually results in not having enough extra capacity available to deal with peaks, and in the end, results in a poor user experience and decreased system availability. On the other hand, there does need to be &lt;em&gt;some&lt;/em&gt; science involved in the process, otherwise it&amp;rsquo;s very challenging to have a predictable and repeatable methodology for sizing deployments. We strive to achieve the right balance here.&lt;/p&gt;
&lt;h2&gt;Impact of the new architecture&lt;/h2&gt;
&lt;p&gt;From a sizing and performance perspective, there are a number of advantages with the new Exchange 2013 architecture. As many of you are aware, a couple of years ago we began &lt;a class="bold" title="See 'Robert&amp;rsquo;s Rules of Exchange: Multi-Role Servers'" href="http://blogs.technet.com/b/exchange/archive/2011/04/08/robert-s-rules-of-exchange-multi-role-servers.aspx"&gt;recommending multi-role deployment for Exchange 2010&lt;/a&gt; (combining the Mailbox, Hub Transport, and Client Access Server (CAS) roles on a single server) as a great way to take advantage of hardware resources on modern servers, as well as a way to simplify capacity planning and deployment. These same advantages apply to the Exchange 2013 Mailbox role as well. We like to think of the services running on the Mailbox role as providing a &lt;span class="bold"&gt;balanced utilization of resources&lt;/span&gt; rather than having a set of services on a role that are very disk intensive, and a set of services on another role that are very CPU intensive.&lt;/p&gt;
&lt;p&gt;Another example to consider for the Mailbox role is &lt;span class="bold"&gt;cache effectiveness&lt;/span&gt;. Software developers use in-memory caching to prevent having to use higher-latency methods to retrieve data (like &lt;acronym title="Lightweight Directory Acess Protocol"&gt;LDAP&lt;/acronym&gt; queries, &lt;acronym title="Remote Procedure Call"&gt;RPC&lt;/acronym&gt;s, or disk reads). In the Exchange 2007/2010 architecture, processing for operations related to a particular user could occur on many servers throughout the topology. One CAS might be handling Outlook Web App for that user, while another (or more than one) CAS might be handling Exchange ActiveSync connections, and even more CAS might be processing Outlook Anywhere RPC proxy load for that same user. It&amp;rsquo;s even possible that the set of servers handling that load could be changing on a regular basis. Any data associated with that user stored in a cache would become useless (effectively a waste of memory) as soon as those connections moved to other servers. &lt;span class="lightyellow"&gt;In the Exchange 2013 architecture, all workload processing for a given user occurs on the Mailbox server hosting the active copy of that user&amp;rsquo;s mailbox. Therefore, cache utilization is much more effective.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The new CAS role has some nice benefits as well. Given that the role is totally stateless from a user perspective, it becomes very easy to scale up and down as demands change by simply adding or removing servers from the topology. Compared to the CAS role in prior releases, hardware utilization is dramatically reduced meaning that fewer CAS role machines will be required. Additionally, it may make sense for many customers to consider a multi-role deployment in which CAS and Mailbox are co-located &amp;ndash; this allows further simplification of capacity planning and deployment, and also increases the number of available CAS which has a positive effect on service availability. Look for a follow up post on the benefits of a multi-role deployment soon.&lt;/p&gt;
&lt;h4&gt;Start to finish, what&amp;rsquo;s the process?&lt;/h4&gt;
&lt;p&gt;Sizing an Exchange deployment has six major phases, and I will go through each of them in this post in some detail.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You begin the process by making sure you fully understand the available guidance on this topic. If you are reading this post, that&amp;rsquo;s a great start. There may have been updates posted either here on the Exchange team blog, or over on TechNet. Make sure you take a look before proceeding.&lt;/li&gt;
&lt;li&gt;The second step is to gather any available data on the existing messaging deployment (if there is one) or estimate user profile requirements if this is a totally new solution.&lt;/li&gt;
&lt;li&gt;The third step is perhaps the most difficult. At this point, you need to figure out all of the requirements for the Exchange solution that might impact the sizing process. This can include decisions like the desired mailbox size (mailbox quota), service level objectives, number of sites, number of mailbox database copies, storage architecture, growth plans, deployment of 3&lt;sup&gt;rd&lt;/sup&gt; party products or line-of-business applications, etc. Essentially, you need to understand any aspect of the design that &lt;em&gt;could&lt;/em&gt; impact the number of servers, user count, and utilization of servers.&lt;/li&gt;
&lt;li&gt;Once you have collected all of the requirements, constraints, and user profile data, it&amp;rsquo;s time to calculate Exchange requirements. The easiest way to do this is with the calculator tool, but it can also be done manually as I will describe in this post. Clearly the calculator makes the process much easier, so if the calculator is available, use it!&lt;/li&gt;
&lt;li&gt;Once the Exchange requirements have been calculated, it&amp;rsquo;s time to consider various options that are available. For example, there may be a choice between scaling up (deploying fewer larger servers) and scaling out (deploying a larger number of smaller servers), and the options could have various implications on high availability, as well as the total number of hardware or software failures that the solution can sustain while remaining available to users. Another typical decision is around storage architecture, and this often comes down to cost. There are a range of costs and benefits to different storage choices, and the Exchange requirements can often be met by more than one of these options.&lt;/li&gt;
&lt;li&gt;The last step is to finalize the design. At this point, it&amp;rsquo;s time to document all of the decisions that were made, order some hardware, use &lt;a class="bold" title="Download Microsoft Exchange Server Jetstress 2013 Tool" href="http://aka.ms/Jetstress2013"&gt;Jetstress&lt;/a&gt; to validate that the storage requirements can be met, and perform any other necessary pre-production lab testing to ensure that the production rollout and implementation will go smoothly.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Gather requirements and user data&lt;/h2&gt;
&lt;p&gt;The primary input to all of the calculations that you will perform later is the average user profile of the deployment, where the user profile is defined as the sum of total messages sent and total messages received per-user, per-workday (on average). Many organizations have quite a bit of variability in user profiles. For example, a segment of users might be considered &amp;ldquo;Information Workers&amp;rdquo; and spend a good part of their day in their mailbox sending and reading mail, while another segment of users might be more focused on other tasks and use email infrequently. Sizing for these segments of users can be accomplished by either looking at the entire system using weighted averages, or by breaking up the sizing process to align with the various segments of users. In general it&amp;rsquo;s certainly easier to size the whole system as a unit, but there may be specific requirements (like the use of certain 3&lt;sup&gt;rd&lt;/sup&gt; party tools or devices) which will significantly impact the sizing calculation for one or more of the user segments, and it can be very difficult to apply sizing factors to a user segment while attempting to size the entire solution as a unit.&lt;/p&gt;
&lt;p&gt;The obvious question in your mind is how to go get this user profile information. If you are starting with an existing Exchange deployment, there are a number of options that can be used, assuming that you aren&amp;rsquo;t the elusive Exchange admin who actually tracks statistics like this on an ongoing basis. If you are using Exchange 2007 or earlier, you can utilize the &lt;a href="http://aka.ms/EPA"&gt;Exchange Profile Analyzer&lt;/a&gt; (EPA) tool, which will provide overall user profile statistics for your Exchange organization as well as detailed per-user statistics if required. If you are on Exchange 2010, the EPA tool is not an option for you. One potential option is to evaluate message traffic using performance counters to come up with user profile averages on a per-server basis. This can be done by monitoring the MSExchangeIS\Messages Submitted/sec and MSExchangeIS\Messages Delivered/sec counters during peak average periods and extrapolating the recorded data to represent daily per-user averages. I will cover this methodology in a future blog post, as it will take a fair amount of explanation. Another option is to use message tracking logs to generate these statistics. This could be done via some crafty custom PowerShell scripting, or you could look for scripts that attempt to do this work for you already. One of our own consultants points to &lt;a href="http://aka.ms/NeilEPAReplacement"&gt;an example on his blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Typical user profiles range from 50-500 messages per-user/per-day, and we provide guidance for those profiles. When in doubt, round up.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/7875.image001_5F00_76900626.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image001" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4657.image001_5F00_thumb_5F00_1CF1E972.png" alt="image001" width="640" height="65" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The other important piece of profile information for sizing is the average message size seen in the deployment. This can be obtained from EPA, or from the other mentioned methods (via transport performance counters, or via message tracking logs). Within Microsoft, we typically see average message sizes of around 75KB, but we certainly have worked with customers that have &lt;em&gt;much&lt;/em&gt; higher average message sizes. This can vary greatly by industry, and by region.&lt;/p&gt;
&lt;h2&gt;Start with the Mailbox servers&lt;/h2&gt;
&lt;p&gt;Just as we recommended for Exchange 2010, the right way to start with sizing calculations for Exchange 2013 is with the Mailbox role. In fact, those of you who have sized deployments for Exchange 2010 will find many similarities with the methodology discussed here.&lt;/p&gt;
&lt;h3&gt;Example scenario&lt;/h3&gt;
&lt;p&gt;Throughout this article, we will be referring to an example deployment. The deployment is for a relatively large organization with the following attributes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;100,000 mailboxes&lt;/li&gt;
&lt;li&gt;200 message/day profile, with 75KB average message size&lt;/li&gt;
&lt;li&gt;10GB mailbox quota&lt;/li&gt;
&lt;li&gt;Single site&lt;/li&gt;
&lt;li&gt;4 mailbox database copies, no lagged copies&lt;/li&gt;
&lt;li&gt;2U commodity server hardware platform with internal drive bays and an external storage chassis will be used (total of 24 available large form-factor drive bays)&lt;/li&gt;
&lt;li&gt;7200 RPM 4TB midline SAS disks are used&lt;/li&gt;
&lt;li&gt;Mailbox databases are stored on JBOD direct attached storage, utilizing no RAID&lt;/li&gt;
&lt;li&gt;Solution must survive double failure events&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;High availability model&lt;/h3&gt;
&lt;p&gt;The first thing you need to determine is your high availability model, e.g., how you will meet the availability requirements that you determined earlier. This likely includes multiple database copies in one or more Database Availability Groups, which will have an impact on storage capacity and IOPS requirements. The &lt;a href="http://technet.microsoft.com/en-us/library/dd638137(v=exchg.150).aspx"&gt;TechNet documentation on this topic&lt;/a&gt; provides some background on the capabilities of Exchange 2013 and should be reviewed as part of the sizing process.&lt;/p&gt;
&lt;p&gt;At a minimum, you need to be able to answer the following questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Will you deploy multiple database copies?&lt;/li&gt;
&lt;li&gt;How many database copies will you deploy?&lt;/li&gt;
&lt;li&gt;Will you have an architecture that provides site resilience?&lt;/li&gt;
&lt;li&gt;What kind of resiliency model will you deploy?&lt;/li&gt;
&lt;li&gt;How will you distribute database copies?&lt;/li&gt;
&lt;li&gt;What storage architecture will you use?&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Capacity requirements&lt;/h3&gt;
&lt;p&gt;Once you have an understanding of how you will meet your high availability requirements, you should know the number of database copies and sites that will be deployed. Given this, you can begin to evaluate capacity requirements. At a basic level, you can think of capacity requirements as consisting of storage for mailbox data (primarily based on mailbox storage quotas), storage for database log files, storage for content indexing files, and overhead for growth. Every copy of a mailbox database is a multiplier on top of these basic storage requirements. As a simplistic example, if I was planning for 500 mailboxes of 1GB each, the storage for mailbox data would be 500GB, and then I would need to apply various factors to that value to determine the per-copy storage requirement. From there, if I needed 3 copies of the data for high availability, I would then need to multiply by 3 to obtain the overall capacity requirement for the solution (all servers). In reality, the storage requirements for Exchange are far more complex, as you will see below.&lt;/p&gt;
&lt;h4&gt;Mailbox size&lt;/h4&gt;
&lt;p&gt;To determine the actual size of a mailbox on disk, we must consider 3 factors: the mailbox storage quota, database white space, and recoverable items.&lt;/p&gt;
&lt;p&gt;The mailbox storage quota is what most people think of as the &amp;ldquo;size of the mailbox&amp;rdquo; &amp;ndash; it&amp;rsquo;s the user perceived size of their mailbox and represents the maximum amount of data that the user can store in their mailbox on the server. While this is certainly represents the majority of space utilization for Exchange databases, it&amp;rsquo;s not the only element by which we have to size.&lt;/p&gt;
&lt;p&gt;Database whitespace is the amount of space in the mailbox database file that has been allocated on disk but doesn&amp;rsquo;t contain any in-use database pages. Think of it as available space to grow into. As content is deleted out of mailbox databases and eventually removed from the mailbox recoverable items, the database pages that contained that content become whitespace. We recommend planning for whitespace size equal to 1 day worth of messaging content.&lt;/p&gt;
&lt;p&gt;Estimated Database Whitespace per Mailbox = per-user daily message profile x average message size&lt;/p&gt;
&lt;p&gt;This means that a user with the 200 message/day profile and an average message size of 75KB would be expected to consume the following whitespace:&lt;/p&gt;
&lt;p class="code"&gt;200 messages/day x 75KB = &lt;strong&gt;14.65MB&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When items are deleted from a mailbox, they are really &amp;ldquo;soft-deleted&amp;rdquo; and moved temporarily to the recoverable items folder for the duration of the deleted item retention period. Like Exchange 2010, Exchange 2013 has a feature known as single item recovery which will prevent purging data from the recoverable items folder prior to reaching the deleted item retention window. When this is enabled, we expect to see a 1.2 percent increase in mailbox size for a 14 day deleted item retention window. Additionally, we expect to see a 3 percent increase in the size of the mailbox for calendar item version logging which is enabled by default. Given that a mailbox will eventually reach a steady state where the amount of new content will be approximately equal to the amount of deleted content in order to remain under quota, we would expect the size of the items in the recoverable items folder to eventually equal the size of new content sent &amp;amp; received during the retention window. This means that the overall size of the recoverable items folder can be calculated as follows:&lt;/p&gt;
&lt;p class="code"&gt;Recoverable Items Folder Size = (per-user daily message profile x average message size x deleted item retention window) + (mailbox quota size x 0.012) + (mailbox quota size x 0.03)&lt;/p&gt;
&lt;p&gt;If we carry our example forward with the 200 message/day profile, a 75KB average message size, a deleted item retention window of 14 days, and a mailbox quota of 10GB, the expected recoverable items folder size would be:&lt;/p&gt;
&lt;p class="code"&gt;(200 messages/day x 75KB x 14 days) + (10GB x 0.012) + (10GB x 0.03) &lt;br /&gt;= 210,000KB + 125,819.12K + 314,572.8KB = &lt;strong&gt;635.16MB&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Given the results from these calculations, we can sum up the mailbox capacity factors to get our estimated mailbox size on disk:&lt;/p&gt;
&lt;p class="code"&gt;Mailbox Size on disk = 10GB mailbox quota + 14.65MB database whitespace + 635.16MB Recoverable Items Folder = &lt;strong&gt;10.63GB&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;Content indexing&lt;/h4&gt;
&lt;p&gt;The space required for files related to the content indexing process can be estimated as 20% of the database size.&lt;/p&gt;
&lt;p class="code"&gt;Per-Database Content Indexing Space = database size x 0.20&lt;/p&gt;
&lt;p&gt;In addition, you must additionally size for one additional content index (e.g. an additional 20% of one of the mailbox databases on the volume) in order to allow content indexing maintenance tasks (specifically the master merge process) to complete. The best way to express the need for the master merge space requirement would be to look at the average database file size across all databases on a volume and add 1 database worth of disk consumption to the calculation when determining the per-volume content indexing space requirement:&lt;/p&gt;
&lt;p class="code"&gt;Per-Volume Content Indexing Space = (average database size x (databases on the volume + 1) x 0.20)&lt;/p&gt;
&lt;p&gt;As a simple example, if we had 2 mailbox databases on a single volume and each database consumed 100GB of space, we would compute the per-volume content indexing space requirement like this:&lt;/p&gt;
&lt;p class="code"&gt;100GB database size x (2 databases + 1) x 0.20 = &lt;strong&gt;60GB&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;Log space&lt;/h4&gt;
&lt;p&gt;The amount of space required for ESE transaction log files can be computed using the same method as Exchange 2010. You can find details on the process in the &lt;a href="http://technet.microsoft.com/en-us/library/ee832796(v=exchg.141).aspx#white"&gt;Exchange 2010 TechNet guidance&lt;/a&gt;. To summarize the process, you must first determine the base guideline for number of transaction logs generated per-user, per-day, using the following table. As in Exchange 2010, log files are 1MB in size, making the math for log capacity quite straightforward.&lt;/p&gt;
&lt;table class="posttable"&gt;
&lt;tbody&gt;
&lt;tr class="columnhead"&gt;
&lt;td&gt;Message profile (75 KB average message size)&lt;/td&gt;
&lt;td&gt;Number of transaction logs generated per day&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;20&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150&lt;/td&gt;
&lt;td&gt;30&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;200&lt;/td&gt;
&lt;td&gt;40&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;250&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;300&lt;/td&gt;
&lt;td&gt;60&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;350&lt;/td&gt;
&lt;td&gt;70&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;td&gt;80&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;450&lt;/td&gt;
&lt;td&gt;90&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;500&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Once you have the appropriate value from the table which represents guidance for a 75KB average message size, you may need to adjust the value based on differences in the target average message size. Every time you double the average message size, you must increase the logs generated per day by an additional factor of 1.9. For example:&lt;/p&gt;
&lt;p class="code"&gt;Transaction logs at 200 messages/day with 150KB average message size = 40 logs/day (at 75KB average message size) x 1.9 = &lt;strong&gt;76&lt;/strong&gt; &lt;br /&gt; &lt;br /&gt;Transaction logs at 200 messages/day with 300KB average message size = 40 logs/day (at 75KB average message size) x (1.9 x 2) = &lt;strong&gt;152&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;While daily log volume is interesting, it doesn&amp;rsquo;t represent the entire requirement for log capacity. If traditional backups are being used, logs will remain on disk for the interval between full backups. When mailboxes are moved, that volume of change to the target database will result in a significant increase in the amount of logs generated during the day. In a solution where Exchange native data protection is in use (e.g., you aren&amp;rsquo;t using traditional backups), logs will not be truncated if a mailbox database copy is failed or if an entire server is unreachable unless an administrator intervenes. There are many factors to consider when sizing for required log capacity, and it is certainly worth spending some time in the Exchange 2010 TechNet guidance mentioned earlier to fully understand these factors before proceeding. Thinking about our example scenario, we could consider log space required per database if we estimate the number of users per database at 65. We will also assume that 1% of our users are moved per week in a single day, and that we will allocate enough space to support 3 days of logs in the case of failed copies or servers.&lt;/p&gt;
&lt;p class="code"&gt;Log Capacity to Support 3 Days of Truncation Failure = (65 mailboxes/database x 40 logs/day x 1MB log size) x 3 days = 7.62GB &lt;br /&gt; &lt;br /&gt;Log Capacity to Support 1% mailbox moves per week = 65 mailboxes/database x 0.01 x 10.63GB mailbox size = 6.91GB &lt;br /&gt; &lt;br /&gt;Total Local Capacity Required per Database = 7.62GB + 6.91GB = &lt;strong&gt;14.53GB&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;Putting all of the capacity requirements together&lt;/h4&gt;
&lt;p&gt;The easiest way to think about sizing for storage capacity without having a calculator tool available is to make some assumptions up front about the servers and storage that will be used. Within the product group, we are big fans of 2U commodity server platforms with ~12 large form-factor drive bays in the chassis. This allows for a 2 drive RAID array for the operating system, Exchange install path, transport queue database, and other ancillary files, and ~10 remaining drives to use as mailbox database storage in a JBOD direct attached storage configuration with no RAID. Fill this server up with 4TB SATA or midline SAS drives, and you have a fantastic Exchange 2013 server. If you need even more storage, it&amp;rsquo;s quite easy to add an additional shelf of drives to the solution.&lt;/p&gt;
&lt;p&gt;Using the large deployment example and thinking about how we might size this on the commodity server platform, we can consider a server scaling unit that has a total of 24 large form-factor drive bays containing 4TB midline SAS drives. We will use 2 of those drives for the OS &amp;amp; Exchange, and the remaining drive bays will be used for Exchange mailbox database capacity. Let&amp;rsquo;s use 12 of those drive bays for databases &amp;ndash; that leaves 10 remaining drive bays that could contain spares or remain empty. For this sizing exercise, let&amp;rsquo;s also plan for 4 databases per drive. Each of those drives has a formatted capacity of ~3725GB. The first step in figuring out the number of mailboxes per database is to look at overall capacity requirements for the mailboxes, content indexes, and required free space (which we will set to 5%).&lt;/p&gt;
&lt;p&gt;To calculate the maximum amount of space available for mailboxes, let&amp;rsquo;s apply a formula (note that this doesn&amp;rsquo;t consider space for logs &amp;ndash; we will make sure that the volume will have enough space for logs later in the process). First, we can remove our required free space from the available storage on the drive:&lt;/p&gt;
&lt;p class="code"&gt;Available Space (excluding required free space) = Formatted capacity of the drive x (1 &amp;ndash; free space)&lt;/p&gt;
&lt;p&gt;Then we can remove the space required for content indexing. As discussed above, the space required for content indexing will be 20% of the database size, with an additional 20% of one database for content indexing maintenance tasks. Given the additional 20% requirement, we can&amp;rsquo;t model the overall space requirement as a simple 20% of the remaining space on the volume. Instead we need to compute a new percentage that takes the number of databases per-volume into consideration.&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1018.image016_5F00_1F231BF4.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image016" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1121.image016_5F00_thumb_5F00_7A918E6F.png" alt="image016" width="439" height="37" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now we can remove the space for content indexing from our available space on the volume:&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/5165.image017_5F00_3C97FDB1.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image017" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/0407.image017_5F00_thumb_5F00_232FFA77.png" alt="image017" width="621" height="104" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And we can then divide by the number of databases per-volume to get our maximum database size:&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/8233.image018_5F00_1E4D46BB.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image018" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/5621.image018_5F00_thumb_5F00_79BBB936.png" alt="image018" width="494" height="105" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In our example scenario, we would obtain the following result:&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4617.image019_5F00_7AF081A1.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image019" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1300.image019_5F00_thumb_5F00_64313A18.png" alt="image019" width="401" height="108" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Given this value, we can then calculate our maximum users per database (from a capacity perspective, as this may change when we evaluate the IO requirements):&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4456.image020_5F00_22C65833.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image020" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/0876.image020_5F00_thumb_5F00_504777F6.png" alt="image020" width="352" height="37" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s see if that number is actually reasonable given our 4 copy configuration. We are going to use 16-node DAGs for this deployment to take full advantage of the scalability and high-availability benefits of large DAGs. While we have many drives available on our selected hardware platform, we will be limited by the maximum of 50 database copies per-server in Exchange 2013. Considering this maximum and our desire to have 4 databases per volume, we can calculate the maximum number of drives for mailbox database usage as:&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/0602.image021_5F00_0B2EAAC0.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image021" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/0310.image021_5F00_thumb_5F00_4DA14CF6.png" alt="image021" width="640" height="59" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;With 12 database volumes and 4 database copies per-volume, we will have 48 total database copies per server.&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/2705.image022_5F00_1AD14682.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image022" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/3872.image022_5F00_thumb_5F00_2AE01539.png" alt="image022" width="640" height="59" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;With 66 users per database and 100,000 total users, we end up with the following required DAG count for the user population:&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/5140.image023_5F00_3846283F.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image023" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4314.image023_5F00_thumb_5F00_1EDE2505.png" alt="image023" width="232" height="50" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this very large deployment, we are using a DAG as a unit of scale or &amp;ldquo;building block&amp;rdquo; (e.g. we perform capacity planning based on the number of DAGs required to meet demand, and we deploy an entire DAG when we need additional capacity), so we don&amp;rsquo;t intend to deploy a partial DAG. If we round up to 8 DAGs we can compute our final users per database count:&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4807.image024_5F00_537E8140.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image024" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1754.image024_5F00_thumb_5F00_081EDD7C.png" alt="image024" width="512" height="36" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;With 65 users per-database, that means we will expect to consume the following space for mailbox databases:&lt;/p&gt;
&lt;p class="code"&gt;Estimated Database Size = 65 users x 10.63GB = 690.95GB &lt;br /&gt;Database Consumption / Volume = 690.95GB x 4 databases = &lt;strong&gt;2763.8GB&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Using the formula mentioned earlier, we can compute our estimated content index consumption as well:&lt;/p&gt;
&lt;p class="code"&gt;690.95GB database size x (4 databases + 1) x 0.20 = &lt;strong&gt;690.95GB&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You&amp;rsquo;ll recall that we computed transaction log space requirements earlier, and it turns out that we magically computed those values with the assumption that we would have 65 users per-database. What a pleasant coincidence! So we will need 14.53GB of space for transaction logs per-database, or to get a more useful result:&lt;/p&gt;
&lt;p class="code"&gt;Log Space Required / Volume = 14.53GB x 4 databases = &lt;strong&gt;58.12GB&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To sum it up, we can estimate our total per-volume space utilization and make sure that we have plenty of room on our target 4TB drives:&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/6888.image029_5F00_2E80C0C7.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image029" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/8475.image029_5F00_thumb_5F00_1E7482C1.png" alt="image029" width="640" height="53" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Looks like our database volumes are sized perfectly!&lt;/p&gt;
&lt;h3&gt;IOPS requirements&lt;/h3&gt;
&lt;p&gt;To determine the IOPS requirements for a database, we look at the number of users hosted on the database and consider the guidance provided in the following table to compute total required IOPS when the database is active or passive.&lt;/p&gt;
&lt;table class="posttable"&gt;
&lt;tbody&gt;
&lt;tr class="columnhead"&gt;
&lt;td&gt;Messages sent or received per mailbox per day&lt;/td&gt;
&lt;td&gt;Estimated IOPS per mailbox (Active or Passive)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;0.034&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;0.067&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150&lt;/td&gt;
&lt;td&gt;0.101&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;200&lt;/td&gt;
&lt;td&gt;0.134&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;250&lt;/td&gt;
&lt;td&gt;0.168&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;300&lt;/td&gt;
&lt;td&gt;0.201&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;350&lt;/td&gt;
&lt;td&gt;0.235&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;td&gt;0.268&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;450&lt;/td&gt;
&lt;td&gt;0.302&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;500&lt;/td&gt;
&lt;td&gt;0.335&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;For example, with 50 users in a database, with an average message profile of 200, we would expect that database to require 50 x 0.134 = 6.7 transactional IOPS when the database is active, and 50 x 0.134 = 6.7 transactional IOPS when the database is passive. Don&amp;rsquo;t forget to consider database placement which will impact the number of databases with IOPS requirements on a given storage volume (which could be a single JBOD drive or might be a more complex storage configuration).&lt;/p&gt;
&lt;p&gt;Going back to our example scenario, we can evaluate the IOPS requirement of the solution, recalling that the average user profile in that deployment is the 200 message/day profile. We have 65 users per database and 4 databases per JBOD drive, so we can estimate our IOPS requirement in worst-case (all databases active) as:&lt;/p&gt;
&lt;p class="code"&gt;65 mailboxes x 4 databases per-drive x 0.134 IOPS/mailbox at 200 messages/day profile = &lt;strong&gt;~34.84 IOPS per drive&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Midline SAS drives typically provide ~57.5 random IOPS (based on our own internal observations and benchmark tests), so we are well within design constraints when thinking about IOPS requirements.&lt;/p&gt;
&lt;h3&gt;Storage bandwidth requirements&lt;/h3&gt;
&lt;p&gt;While IOPS requirements are usually the primary storage throughput concern when designing an Exchange solution, it is possible to run up against bandwidth limitations with various types of storage subsystems. The IOPS sizing guidance above is looking specifically at transactional (somewhat random) IOPS and is ignoring the sequential IO portion of the workload. One place that sequential IO becomes a concern is with storage solutions that are running a large amount of sequential IO through a common channel. A common example of this type of load is the ongoing background database maintenance (BDM) which runs continuously on Exchange mailbox databases. While this BDM workload might not be significant for a few databases stored on a JBOD drive, it may become a concern if all of the mailbox database volumes are presented through a common iSCSI or Fibre Channel interface. In that case, the bandwidth of that common channel must be considered to ensure that the solution doesn&amp;rsquo;t bottleneck due to these IO patterns.&lt;/p&gt;
&lt;p&gt;In Exchange 2013, we expect to consume approximately 1MB/sec/database copy for BDM which is a significant reduction from Exchange 2010. This helps to enable the ability to store multiple mailbox databases on the same JBOD drive spindle, and will also help to avoid bottlenecks on networked storage deployments such as iSCSI. This bandwidth utilization is in addition to bandwidth consumed by the transactional IO activity associated with user and system workload processes, as well as storage bandwidth consumed by the log replication and replay process in a DAG.&lt;/p&gt;
&lt;h3&gt;Transport storage requirements&lt;/h3&gt;
&lt;p&gt;Since transport components (with the exception of the front-end transport component on the CAS role) are now part of the Mailbox role, we have included CPU and memory requirements for transport with the general Mailbox role requirements described later. Transport also has storage requirements associated with the queue database. These requirements, much like I described earlier for mailbox storage, consist of capacity factors and IO throughput factors.&lt;/p&gt;
&lt;p&gt;Transport storage capacity is driven by two needs: queuing (including shadow queuing) and Safety Net (which is the replacement for transport dumpster in this release). You can think of the transport storage capacity requirement as the sum of message content on disk in a worst-case scenario, consisting of three elements:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The current day&amp;rsquo;s message traffic, along with messages which exist on disk longer than normal expiration settings (like poison queue messages)&lt;/li&gt;
&lt;li&gt;Queued messages waiting for delivery&lt;/li&gt;
&lt;li&gt;Messages persisted in Safety Net in case they are required for redelivery&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Of course, all three of these factors are also impacted by shadow queuing in which a redundant copy of all messages is stored on another server. At this point, it would be a good idea to review the &lt;a href="http://technet.microsoft.com/en-us/library/jj657506(v=exchg.150).aspx"&gt;TechNet documentation on Transport High Availability&lt;/a&gt; if you aren&amp;rsquo;t familiar with the mechanics of shadow queuing and Safety Net.&lt;/p&gt;
&lt;p&gt;In order to figure out the messages per day that you expect to run through the system, you can look at the user count and messaging profile. Simply multiplying these together will give you a total daily mail volume, but it will be a bit higher than necessary since it is double counting messages that are sent within the organization (i.e. a message sent to a coworker will count towards the profile of the sending user as well as the profile of the receiving user, but it&amp;rsquo;s really just one message traversing the system). The simplest way to deal with that would be to ignore this fact and oversize transport, which will provide additional capacity for unexpected peaks in message traffic. An alternative way to determine daily message flow would be to evaluate performance counters within your existing messaging system.&lt;/p&gt;
&lt;p&gt;To determine the maximum size of the transport database, we can look at the entire system as a unit and then come up with a per-server value.&lt;/p&gt;
&lt;p class="code"&gt;Overall Daily Messages Traffic = number of users x message profile &lt;br /&gt; &lt;br /&gt;Overall Transport DB Size = average message size x overall daily message traffic x (1 + (percentage of messages queued x maximum queue days) + Safety Net hold days) x 2 copies for high availability&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s use the 100,000 user sizing example again and size the transport database using the simple method.&lt;/p&gt;
&lt;p class="code"&gt;Overall Transport DB Size = 75KB x (100,000 users x 200 messages/day) x (1 + (50% x 2 maximum queue days) + 2 Safety Net hold days) x 2 copies = &lt;strong&gt;11,444GB&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In our example scenario, we have 8 DAGs, each containing 16-nodes, and we are designing to handle double node failures in each DAG. This means that in a worst-case failure event we would have 112 servers online with 2 failed servers in each DAG. We can use this value to determine a per-server transport DB size:&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/2627.image034_5F00_4E322B40.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image034" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/0181.image034_5F00_thumb_5F00_6DE10508.png" alt="image034" width="520" height="39" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sizing for transport IO throughput requirements is actually quite simple. Transport has taken advantage of many of the IO reduction changes to the ESE database that have been made in recent Exchange releases. As a result, the number of IOPS required to support transport is significantly lower. In the internal deployment we used to produce this sizing guidance, we see approximately 1 DB write IO per message and virtually no DB read IO, with an average message size of ~75KB. We expect that as average message size increases, the amount of transport IO required to support delivery and queuing would increase. We do not currently have specific guidance on what that curve looks like, but it is an area of active investigation. In the meantime, our best practices guidance for the transport database is to leave it in the Exchange install path (likely on the OS drive) and ensure that the drive supporting that directory path is using a protected write cache disk controller, set to 100% write cache if the controller allows optimization of read/write cache settings. The write cache allows transport database log IO to become effectively &amp;ldquo;free&amp;rdquo; and allows transport to handle a much higher level of throughput.&lt;/p&gt;
&lt;h3&gt;Processor requirements&lt;/h3&gt;
&lt;p&gt;Once we have our storage requirements figured out, we can move on to thinking about CPU. CPU sizing for the Mailbox role is done in terms of megacycles. A megacycle is a unit of processing work equal to one million CPU cycles. In very simplistic terms, you could think of a 1 MHz CPU performing a megacycle of work every second. Given the guidance provided below for megacycles required for active and passive users at peak, you can estimate the required processor configuration to meet the demands of an Exchange workload. Following are our recommendations on the estimated required megacycles for the various user profiles.&lt;/p&gt;
&lt;table class="posttable"&gt;
&lt;tbody&gt;
&lt;tr class="columnhead"&gt;
&lt;td&gt;Messages sent or received per mailbox per day&lt;/td&gt;
&lt;td&gt;Mcycles per User, Active DB Copy or Standalone (MBX only)&lt;/td&gt;
&lt;td&gt;Mcycles per User, Active DB Copy or Standalone (Multi-Role)&lt;/td&gt;
&lt;td&gt;Mcycles per User, Passive DB Copy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;2.13&lt;/td&gt;
&lt;td&gt;2.66&lt;/td&gt;
&lt;td&gt;0.69&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;4.25&lt;/td&gt;
&lt;td&gt;5.31&lt;/td&gt;
&lt;td&gt;1.37&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150&lt;/td&gt;
&lt;td&gt;6.38&lt;/td&gt;
&lt;td&gt;7.97&lt;/td&gt;
&lt;td&gt;2.06&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;200&lt;/td&gt;
&lt;td&gt;8.50&lt;/td&gt;
&lt;td&gt;10.63&lt;/td&gt;
&lt;td&gt;2.74&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;250&lt;/td&gt;
&lt;td&gt;10.63&lt;/td&gt;
&lt;td&gt;13.28&lt;/td&gt;
&lt;td&gt;3.43&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;300&lt;/td&gt;
&lt;td&gt;12.75&lt;/td&gt;
&lt;td&gt;15.94&lt;/td&gt;
&lt;td&gt;4.11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;350&lt;/td&gt;
&lt;td&gt;14.88&lt;/td&gt;
&lt;td&gt;18.59&lt;/td&gt;
&lt;td&gt;4.80&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;td&gt;17.00&lt;/td&gt;
&lt;td&gt;21.25&lt;/td&gt;
&lt;td&gt;5.48&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;450&lt;/td&gt;
&lt;td&gt;19.13&lt;/td&gt;
&lt;td&gt;23.91&lt;/td&gt;
&lt;td&gt;6.17&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;500&lt;/td&gt;
&lt;td&gt;21.25&lt;/td&gt;
&lt;td&gt;26.56&lt;/td&gt;
&lt;td&gt;6.85&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The second column represents the estimated megacycles required on the Mailbox role server hosting the active copy of a user&amp;rsquo;s mailbox database. In a DAG configuration, the required megacycles for the user on each server hosting passive copies of that database can be found in the fourth column. If the solution is going to include multi-role (Mailbox+CAS) servers, use the value in the third column rather than the second, as it includes the additional CPU requirements for the CAS role.&lt;/p&gt;
&lt;p&gt;It is important to note that while many years ago you could make an assumption that a 500 MHz processor could perform roughly double the work per unit of time as a 250 MHz processor, clock speeds are no longer a reliable indicator of performance. The internal architecture of modern processors is different enough between manufacturers as well as within product lines of a single manufacturer that it requires an additional normalization step to determine the available processing power for a particular CPU. We recommend using the SPECint_rate2006 benchmark from the &lt;a href="http://www.spec.org/"&gt;Standard Performance Evaluation Corporation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The baseline system used to generate this guidance was a Hewlett-Packard DL380p Gen8 server containing Intel Xeon E6-2650 2 GHz processors. The &lt;a href="http://www.spec.org/cpu2006/results/res2012q2/cpu2006-20120423-21276.pdf"&gt;baseline system SPECint_rate2006 score&lt;/a&gt; is 540, or 33.75 per-core, given that the benchmarked server was configured with a total of 16 physical processor cores. Please note that this is a different baseline system than what was used to generate our Exchange 2010 guidance, so any tools or calculators that make assumptions based on the 2010 baseline system would not provide accurate results for sizing an Exchange 2013 solution.&lt;/p&gt;
&lt;p&gt;Using the same general methodology we have recommended in prior releases, you can determine the estimated available Exchange workload megacycles available on a different processor through the following process:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Find the SPECint_rate2006 score for the processor that you intend to use for your Exchange solution. You can do this the hard way (described below) or use Scott Alexander&amp;rsquo;s fantastic &lt;a href="http://aka.ms/ExProcQueryTool"&gt;Processor Query Tool&lt;/a&gt;to get the per-server score and processor core count for your hardware platform.&lt;ol type="a"&gt;
&lt;li&gt;On the website of the &lt;a href="http://www.spec.org/"&gt;Standard Performance Evaluation Corporation&lt;/a&gt;, select &lt;strong&gt;Results&lt;/strong&gt;, highlight &lt;strong&gt;CPU2006&lt;/strong&gt;, and select &lt;strong&gt;Search all SPECint_rate2006 results&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Under &lt;strong&gt;Simple Request&lt;/strong&gt;, enter the search criteria for your target processor, for example &lt;strong&gt;Processor Matches&lt;/strong&gt; &lt;strong&gt;E5-2630&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Find the server and processor configuration you are interested in using (or if the exact combination is not available, find something as close as possible) and note the value in the &lt;strong&gt;Result&lt;/strong&gt; column and the value in the &lt;strong&gt;# Cores&lt;/strong&gt; column.&lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;li&gt;Obtain the per-core SPECint_rate2006 score by dividing the value in the &lt;strong&gt;Result&lt;/strong&gt; column by the value in the &lt;strong&gt;# Cores&lt;/strong&gt; column. For example, in the case of the Hewlett-Packard DL380p Gen8 server with Intel Xeon E5-2630 processors (2.30GHz), the &lt;strong&gt;Result&lt;/strong&gt; is 430 and the &lt;strong&gt;# Cores&lt;/strong&gt; is 12, so the per-core value would be 430 / 12 = 35.83.&lt;/li&gt;
&lt;li&gt;To determine the estimated available Exchange workload megacycles on the target platform, use the following formula:
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/6787.image035_5F00_7B47180E.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image035" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4721.image035_5F00_thumb_5F00_5DD4C702.png" alt="image035" width="468" height="39" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Using the example HP platform with E5-2630 processors mentioned previously, we would calculate the following result:&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/5314.image036_5F00_4B1FCD4B.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image036" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4670.image036_5F00_thumb_5F00_7FC02986.png" alt="image036" width="340" height="35" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;x 12 processors = &lt;strong&gt;25,479&lt;/strong&gt; available megacycles per-server&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Keep in mind that a good Exchange design should never plan to run servers at 100% of CPU capacity. In general, 80% CPU utilization in a failure scenario is a reasonable target for most customers. Given that caveat that the high CPU utilization occurs during a failure scenario, this means that servers in a highly available Exchange solution will often run with relatively low CPU utilization during normal operation. Additionally, there may be very good reasons to target a lower CPU utilization as maximum, particularly in cases where unanticipated spikes in load may result in acute capacity issues.&lt;/p&gt;
&lt;p&gt;Going back to the example I used previously of 100,000 users with the 200 message/day profile, we can estimate the total required megacycles for the deployment. We know that there will be 4 database copies in the deployment, and that will help to calculate the passive megacycles required. We also know that this deployment will be using multi-role (Mailbox+CAS) servers. Given this information, we can calculate megacycle requirements as follows:&lt;/p&gt;
&lt;p class="code"&gt;100,000 users ((10.63 mcycles per active mailbox) + (3 passive copies x 2.74 mcycles per passive mailbox)) = &lt;strong&gt;1,885,000&lt;/strong&gt; total mcycles required&lt;/p&gt;
&lt;p&gt;You could then take that number and attempt to come up with a required server count. I would argue that it&amp;rsquo;s actually a much better practice to come up with a server count based on high availability requirements (taking into account how many component failures your design can handle in order to meet business requirements) and then ensure that those servers can meet CPU requirements in a worst-case failure scenario. You will either meet CPU requirements without any additional changes (if your server count is bound on another aspect of the sizing process), or you will adjust the server count (scale out), or you will adjust the server specification (scale up).&lt;/p&gt;
&lt;p&gt;Continuing with our hypothetical example, if we knew that the high availability requirements for the design of the 100,000 user example resulted in a maximum of 16 databases being active at any time out of 48 total database copies per server, and we know that there are 65 users per database, we can determine the per-server CPU requirements for the deployment.&lt;/p&gt;
&lt;p class="code"&gt;(16 databases x 65 mailboxes x 10.63 mcycles per active mailbox) + (32 databases x 65 mailboxes x 2.74 mcycles per passive mailbox) = 11055.2 + 5699.2 = &lt;strong&gt;16,754.4&lt;/strong&gt; mcycles per server&lt;/p&gt;
&lt;p&gt;Using the processor configuration mentioned in the megacycle normalization section (E5-2630 2.3 GHz processors on an HP DL380p Gen8), we know that we have 25,479 available mcycles on the server, so we would estimate a peak average CPU in worst-case failure of:&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/8877.image041_5F00_6D0B2FCF.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image041" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1537.image041_5F00_thumb_5F00_73BE3952.png" alt="image041" width="111" height="36" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;That is below our guidance of 80% maximum CPU utilization (in a worst-case failure scenario), so we would not consider the servers to be CPU bound in the design. In fact, we could consider adjusting the CPU selection to a cheaper option with reduced performance getting us closer to a peak average CPU in worst-case failure of 80%, reducing the cost of the overall solution.&lt;/p&gt;
&lt;h3&gt;Memory requirements&lt;/h3&gt;
&lt;p&gt;To calculate memory per server, you will need to know the per-server user count (both active and passive users) as well as determine whether you will run the Mailbox role in isolation or deploy multi-role servers (Mailbox+CAS). Keep in mind that regardless of whether you deploy roles in isolation or deploy multi-role servers, the minimum amount of RAM on any Exchange 2013 server is 8GB.&lt;/p&gt;
&lt;p&gt;Memory on the Mailbox role is used for many purposes. As in prior releases, a significant amount of memory is used for ESE database cache and plays a large part in the reduction of disk IO in Exchange 2013. The new content indexing technology in Exchange 2013 also uses a large amount of memory. The remaining large consumers of memory are the various Exchange services that provide either transactional services to end-users or handle background processing of data. While each of these individual services may not use a significant amount of memory, the combined footprint of all Exchange services can be quite large.&lt;/p&gt;
&lt;p&gt;Following is our recommended amount of memory for the Mailbox role on a per mailbox basis that we expect to be used at peak.&lt;/p&gt;
&lt;table class="posttable"&gt;
&lt;tbody&gt;
&lt;tr class="columnhead"&gt;
&lt;td&gt;Messages sent or received per mailbox per day&lt;/td&gt;
&lt;td&gt;Mailbox role memory per active mailbox (MB)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;150&lt;/td&gt;
&lt;td&gt;36&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;200&lt;/td&gt;
&lt;td&gt;48&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;250&lt;/td&gt;
&lt;td&gt;60&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;300&lt;/td&gt;
&lt;td&gt;72&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;350&lt;/td&gt;
&lt;td&gt;84&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;400&lt;/td&gt;
&lt;td&gt;96&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;450&lt;/td&gt;
&lt;td&gt;108&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;500&lt;/td&gt;
&lt;td&gt;120&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;To determine the amount of memory that should be provisioned on a server, take the number of active mailboxes per-server in a worst-case failure and multiply by the value associated with the expected user profile. From there, round up to a value that makes sense from a purchasing perspective (i.e. it may be cheaper to configure 128GB of RAM compared to a smaller amount of RAM depending on slot options and memory module costs).&lt;/p&gt;
&lt;p&gt;Mailbox Memory per-server = (worst-case active database copies per-server x users per-database x memory per-active mailbox)&lt;/p&gt;
&lt;p&gt;For example, on a server with 48 database copies (16 active in worst-case failure), 65 users per-database, expecting the 200 profile, we would recommend:&lt;/p&gt;
&lt;p class="code"&gt;16 x 65 x 48MB = 48.75GB, round up to &lt;strong&gt;64GB&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s important to note that the content indexing technology included with Exchange 2013 uses a relatively large amount of memory to allow both indexing and query processing to occur very quickly. This memory usage scales with the number of items indexed, meaning that as the number of total items stored on a Mailbox role server increases (for both active and passive copies), memory requirements for the content indexing processes will increase as well. In general, the guidance on memory sizing presented here assumes approximately 15% of the memory on the system will be available for the content indexing processes which means that with a 75KB average message size, we can accommodate mailbox sizes of 3GB at 50 message profile up to 32GB at the 500 message profile without adjusting the memory sizing. If your deployment will have an extremely small average message size or an extremely large average mailbox size, you may need to add additional memory to accommodate the content indexing processes.&lt;/p&gt;
&lt;p&gt;Multi-role server deployments will have an additional memory requirement beyond the amounts specified above. CAS memory is computed as a base memory requirement for the CAS components (2GB) plus additional memory that scales based on the expected workload. This overall CAS memory requirement on a multi-role server can be computed using the following formula:&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/0572.image044_5F00_415A65D3.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image044" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4188.image044_5F00_thumb_5F00_0AEC4482.png" alt="image044" width="640" height="43" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Essentially this is 2GB of memory for the base requirement, plus 2GB of memory for each processor core (or fractional processor core) serving active load at peak in a worst-case failure scenario. Reusing the example scenario, if I have 16 active databases per-server in a worst-case failure and my processor is providing 2123 mcycles per-core, I would need:&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/5280.image045_5F00_6A6504CF.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image045" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4628.image045_5F00_thumb_5F00_4CF2B3C3.png" alt="image045" width="371" height="40" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If we add that to the memory requirement for the Mailbox role calculated above, our total memory requirement for the multi-role server would be:&lt;/p&gt;
&lt;p class="code"&gt;48.75GB for Mailbox + 4.08GB for CAS = 52.83GB, round up to &lt;strong&gt;64GB&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Regardless of whether you are considering a multi-role or a split-role deployment, it is important to ensure that each server has a minimum amount of memory for efficient use of the database cache. There are some scenarios that will produce a relatively small memory requirement from the memory calculations described above. We recommend comparing the per-server memory requirement you have calculated with the following table to ensure you meet the minimum database cache requirements. The guidance is based on total database copies per-server (both active and passive). If the value shown in this table is higher than your calculated per-server memory requirement, adjust your per-server memory requirement to meet the minimum listed in the table.&lt;/p&gt;
&lt;table class="posttable"&gt;
&lt;tbody&gt;
&lt;tr class="columnhead"&gt;
&lt;td&gt;Per-Server DB Copies&lt;/td&gt;
&lt;td&gt;Minimum Physical Memory (GB)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1-10&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11-20&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;21-30&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;31-40&lt;/td&gt;
&lt;td&gt;14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;41-50&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;In our example scenario, we are deploying 48 database copies per-server, so the minimum physical memory to provide necessary database cache would be 16GB. Since our computed memory requirement based on per-user guidance including memory for the CAS role (52.83GB) was higher than the minimum of 16GB, we don&amp;rsquo;t need to make any further adjustments to accommodate database cache needs.&lt;/p&gt;
&lt;h2&gt;Unified messaging&lt;/h2&gt;
&lt;p&gt;With the new architecture of Exchange, Unified Messaging is now installed and ready to be used on every Mailbox and CAS. The CPU and memory guidance provided here assumes some moderate UM utilization. In a deployment with significant UM utilization with very high call concurrency, additional sizing may need to be performed to provide the best possible user experience. As in Exchange 2010, we recommend using a 100 concurrent call per-server limit as the maximum possible UM concurrency, and scale out the deployment if the sizing of your deployment becomes bound on this limit. Additionally, voicemail transcription is a very CPU-intensive operation, and by design will only transcribe messages when there is enough available CPU on the machine. Each voicemail message requires 1 CPU core for the duration of the transcription operation, and if that amount of CPU cannot be obtained, transcription will be skipped. In deployments that anticipate a high amount of voicemail transcription concurrency, server configurations may need to be adjusted to increase CPU resources, or the number of users per server may need to be scaled back to allow for more available CPU for voicemail transcription operations.&lt;/p&gt;
&lt;h2&gt;Sizing and scaling the Client Access Server role&lt;/h2&gt;
&lt;p&gt;In the case where you are going to place the Mailbox and CAS roles on separate servers, the process of sizing CAS is relatively straightforward. CAS sizing is primarily focused on CPU and memory requirements. There is some disk IO for logging purposes, but it is not significant enough to warrant specific sizing guidance.&lt;/p&gt;
&lt;p&gt;CAS CPU is sized as a ratio from Mailbox role CPU. Specifically, we need to get 25% of the megacycles used to support active users on the Mailbox role. You could think of this as a 1:4 ratio (CAS CPU to Mailbox CPU) compared to the 3:4 ratio we recommended in Exchange 2010. One way to compute this would be to look at the total active user megacycles required for the solution, take 25% of that, and then determine the required CAS server count based on high availability requirements and multi-site design constraints. For example, consider the 100,000 user example using the 200 message/day profile:&lt;/p&gt;
&lt;p class="code"&gt;Total CAS Required Mcycles = 100,000 users x 8.5 mcycles x 0.25 = &lt;strong&gt;212,500 mcycles&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Assuming that we want to target a maximum CPU utilization of 80% and the servers we plan to deploy have 25,479 available megacycles, we can compute the required number of servers quite easily:&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1817.image048_5F00_45674456.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image048" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1423.image048_5F00_thumb_5F00_0EF92305.png" alt="image048" width="309" height="36" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Obviously we would need to then consider whether the 11 required servers meet our high availability requirements considering the maximum CAS server failures that we must design for given business requirements, as well as the site configuration where some of the CAS servers may be in different sites handling different portions of the workload. Since we specified in our example scenario that we want to survive a double failure in the single site, we would increase our 11 CAS servers to 13 such that we could sustain 2 CAS server failures and still handle the workload.&lt;/p&gt;
&lt;p&gt;To size memory, we will use the same formula that was used for Exchange 2010:&lt;/p&gt;
&lt;p&gt;Per-Server CAS Memory = 2GB + 2GB per physical processor core&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/2577.image050_5F00_0E8CF010.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image050" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/5141.image050_5F00_thumb_5F00_23123F8E.png" alt="image050" width="601" height="60" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Using the example scenario we have been using, we can calculate the per-server CAS memory requirement as:&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4186.image051_5F00_44FDA212.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image051" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/7144.image051_5F00_thumb_5F00_4BB0AB95.png" alt="image051" width="404" height="69" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this example, 20.20GB would be the guidance for required CAS memory, but obviously you would need to round-up to the next highest possible (or highest performing) memory configuration for the server platform: perhaps 24GB.&lt;/p&gt;
&lt;h2&gt;Active Directory capacity for Exchange 2013&lt;/h2&gt;
&lt;p&gt;Active Directory sizing remains the same as it was for Exchange 2010. As we gain more experience with production deployments we may adjust this in the future. For Exchange 2013, we recommend deploying a ratio of 1 Active Directory global catalog processor core for every 8 Mailbox role processor cores handling active load, assuming 64-bit global catalog servers:&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/6180.image052_5F00_5916BE9B.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image052" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4442.image052_5F00_thumb_5F00_0DB71AD7.png" alt="image052" width="533" height="49" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If we revisit our example scenario, we can easily calculate the required number of GC cores required.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4035.image053_5F00_300EB050.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image053" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/7103.image053_5F00_thumb_5F00_36C1B9D3.png" alt="image053" width="531" height="44" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Assuming that my Active Directory GCs are also deployed on the same server hardware configuration as my CAS &amp;amp; Mailbox role servers in the example scenario with 12 processor cores, then my GC server count would be:&lt;/p&gt;
&lt;p class="code"&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1346.image054_5F00_59194F4C.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image054" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4314.image054_5F00_thumb_5F00_7F7B3297.png" alt="image054" width="471" height="37" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In order to sustain double failures, we would need to add 2 more GCs to this calculation, which would take us to 7 GC servers for the deployment.&lt;/p&gt;
&lt;p&gt;As a best practice, we recommend sizing memory on the global catalog servers such that the entire NTDS.DIT database file can be contained in RAM. This will provide optimal query performance and a much better end-user experience for Exchange workloads.&lt;/p&gt;
&lt;h2&gt;Hyperthreading: Wow, free processors!&lt;/h2&gt;
&lt;p&gt;Turn it off. While modern implementations of simultaneous multithreading (SMT), also known as hyperthreading, can absolutely improve CPU throughput for most applications, the benefits to Exchange 2013 do not outweigh the negative impacts. It turns out that there can be a significant impact to memory utilization on Exchange servers when hyperthreading is enabled due to the way the .NET server garbage collector allocates heaps. The server garbage collector looks at the total number of &lt;em&gt;logical&lt;/em&gt; processors when an application starts up and allocates a heap per logical processor. This means that the memory usage at startup for one of our services using the server garbage collector will be close to double with hyperthreading turned on vs. when it is turned off. This significant increase in memory, along with an analysis of the &lt;em&gt;actual&lt;/em&gt; CPU throughput increase for Exchange 2013 workloads in internal lab tests has led us to a best practice recommendation that hyperthreading should be disabled for all Exchange 2013 servers. The benefits don&amp;rsquo;t outweigh the negative impact.&lt;/p&gt;
&lt;h2&gt;You are going to give me a calculator, right?&lt;/h2&gt;
&lt;p&gt;Now that you have digested all of this guidance, you are probably thinking about how much more of a pain it will be to size a deployment compared to using the Mailbox Role Requirements Calculator for Exchange 2010. You would be right, and we fully understand that. &lt;span class="lightyellow"&gt;In fact, we are hard at work on a new calculator for Exchange 2013 and we plan to deliver it later this quarter.&lt;/span&gt; Stay tuned to the Exchange team blog for an announcement.&lt;/p&gt;
&lt;p&gt;Hopefully that leaves you with enough information to begin to properly size your Exchange 2013 deployments. If you have further questions, you can obviously post comments here, but I&amp;rsquo;d also encourage you to consider attending one of the upcoming TechEd events. I&amp;rsquo;ll be at TechEd North America as well as TechEd Europe with a session specifically on this topic, and would be happy to answer your questions in person, either in the session or at the &amp;ldquo;Ask the Experts&amp;rdquo; event. Recordings of those sessions will also be posted to MSDN Channel9 after the events have concluded.&lt;/p&gt;
&lt;p&gt;&lt;span class="author"&gt;Jeff Mealiffe&lt;/span&gt; &lt;br /&gt;Senior Program Manager Lead &lt;br /&gt;Exchange Customer Experience&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3570595" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/exchange/archive/tags/Storage/">Storage</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Tips+_2700_n+Tricks/">Tips 'n Tricks</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Announcements/">Announcements</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Client+Access/">Client Access</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Mailbox/">Mailbox</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Exchange+2013/">Exchange 2013</category></item><item><title>Public Folders and Exchange Online</title><link>http://blogs.technet.com/b/exchange/archive/2013/05/02/public-folders-and-exchange-online.aspx</link><pubDate>Thu, 02 May 2013 22:45:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3570469</guid><dc:creator>The Exchange Team</dc:creator><slash:comments>19</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/exchange/rsscomments.aspx?WeblogPostID=3570469</wfw:commentRss><comments>http://blogs.technet.com/b/exchange/archive/2013/05/02/public-folders-and-exchange-online.aspx#comments</comments><description>&lt;p style="font-size: 1.2em;"&gt;&amp;ldquo;You mean&amp;hellip; this is really happening?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Last November we &lt;a href="http://blogs.technet.com/b/exchange/archive/2012/11/08/public-folders-in-the-new-office.aspx"&gt;gave you a teaser&lt;/a&gt; about public folders in the new Exchange. We explained how public folders were given a lot of attention to bring their architecture up-to-date, and as a result of this work they would take advantage of the other excellent engineering work put into Exchange mailbox databases over the years. Many of you have given the new public folders a try in Exchange Online and Exchange Server 2013 in your on-premises environments. At this time we would like to give you a bit more detail surrounding the Exchange Online public folder feature set so you can start planning what makes sense for your environment. So, yes, we &lt;em&gt;really&lt;/em&gt; meant our beloved public folders were coming to Exchange Online!&lt;/p&gt;
&lt;h2&gt;How do we move our public folders to Exchange Online?&lt;/h2&gt;
&lt;p&gt;We are still putting the finishing touches on some of our migration documentation for on-premises Exchange Server environments to Exchange Online. We know there is a lot of interest in this documentation and we are making sure it is as easy to follow as possible. We will update this article with links to the content when more documentation becomes available on TechNet. The following two articles are available now.&lt;/p&gt;
&lt;ul class="arrowlist"&gt;
&lt;li&gt;&lt;a class="bold" href="http://technet.microsoft.com/en-us/library/jj150486(v=exchg.150).aspx"&gt;Migrate Public Folders to Exchange 2013 From Previous Versions&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;For on-premises to on-premises migrations&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class="bold" href="http://technet.microsoft.com/en-us/library/jj983799(v=exchg.150).aspx"&gt;Migrate Legacy Public Folders to Exchange Online&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;For cutover or staged migrations&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Documentation pertaining to hybrid configurations is still being drafted at this time.&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="alert"&gt;
&lt;h3&gt;Important&lt;/h3&gt;
&lt;p&gt;Before we cover the migration process at a high level (and very deeply in those TechNet articles!), we want to be very clear everyone understands the following few important points.&lt;/p&gt;
&lt;ul class="arrowlist"&gt;
&lt;li&gt;
&lt;p&gt;Public Folder migrations to Exchange Online should not be performed unless all of your users are located in Exchange Online, and/or all of your on-premises users are on Exchange Server 2013.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Public folder migrations are a cutover migration. You cannot have some public folders on-premises and some public folders in Exchange Online. There will be a small window of public folder access downtime required when the migration is completed and all public folder connections are moved from on-premises to Exchange Online.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Public folder migrations are entirely PowerShell based at this time. Once the migration has completed you can then perform your public folder management in the tool of your choice, EAC or PowerShell.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;h3&gt;So what are the steps I can expect to go through?&lt;/h3&gt;
&lt;p&gt;In the TechNet content we walk you through exactly how to use PowerShell and some scripts provided by the product group to help automate the analysis and content location mapping in Exchange 2013 or Exchange Online. The migration process is similar whether you are doing an on-premises to on-premises migration, or an on-premises to Exchange Online migration with the latter having a couple more twists. Both scenarios will include a few major steps you will go through to migrate your legacy public folder infrastructure. Again, the following section is meant to be an overview and not a complete rendering of what the more detailed step-by-step TechNet documentation contains. Consider this section an appetizer to get you thinking about your migration and what potential caveats may or may not affect you. The information below is tailored more to an Exchange Online migration, but our on-premises customers will also be facing many of the same steps and considerations.&lt;/p&gt;
&lt;h4&gt;&lt;strong&gt;Prepare Your Environment&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Are my on-premises servers at the necessary patch levels?
&lt;ul&gt;
&lt;li&gt;Exchange 2007 SP3 RU10 or later&lt;/li&gt;
&lt;li&gt;Exchange 2010 SP3 or later&lt;/li&gt;
&lt;li&gt;Exchange 2013 RTM CU1 or later
&lt;ul&gt;
&lt;li&gt;The &lt;a href="http://blogs.technet.com/b/exchange/archive/2013/04/02/released-exchange-server-2013-rtm-cumulative-update-1.aspx"&gt;CU1&lt;/a&gt; released on April 2&lt;sup&gt;nd&lt;/sup&gt; 2013 is necessary. Because there is no Service Pack released for Exchange 2013 at this time it is referred to as RTM CU1.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Are my Windows Outlook users using client versions at the necessary patch levels?
&lt;ul&gt;
&lt;li&gt;Outlook 2007, 12.0.6665.5000 or later&lt;/li&gt;
&lt;li&gt;Outlook 2010, 14.0.6126.5000 or later&lt;/li&gt;
&lt;li&gt;Outlook 2013, 15.0.4420.1017 or later&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Are all on-premises users on Exchange Server 2013 or have been moved to Exchange Online?&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;span style="font-weight: bold;"&gt;Analyze Your Current Public Folders and Content&lt;/span&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;&lt;/strong&gt;(Size limits pertain to Exchange Online)&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What does my current public folder infrastructure look like?
&lt;ul&gt;
&lt;li&gt;Who has access to what?&lt;/li&gt;
&lt;li&gt;What is my total content size?
&lt;ul&gt;
&lt;li&gt;Is the total public folder content on Exchange 2007/2010 over 950 GB when &lt;span class="cmdlet lightyellow"&gt;Get-PublicFolderStatistics&lt;/span&gt; is run? &lt;em&gt;(&amp;ldquo;Why&amp;rdquo; is discussed later)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Is the total public folder content on Exchange 2013 over 1.25 TB when &lt;span class="cmdlet lightyellow"&gt;Get-PublicFolderStatistics&lt;/span&gt; is run?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Is any single public folder over 15GB that we should trim down first? &lt;em&gt;(&amp;ldquo;Why&amp;rdquo; is discussed later)&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;What will my public folder mailbox layout be?
&lt;ul&gt;
&lt;li&gt;Can my content fit within the allowed public folder mailboxes and their quotas?&lt;/li&gt;
&lt;li&gt;What public folders will go into what public folder mailboxes?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong&gt;Create the Initial Public Folder Mailboxes&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Public folder mailboxes are created by the admin so your content has a place to live in Exchange Online. Customers with less than 25GB of content may only need a single public folder mailbox to start, but our scripts will help you determine your starting layout while backend automation will determine if you need more public folder mailboxes down the road. On-premises customers will utilize quota values that make sense for their own deployments.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong&gt;Begin the Migration Request and Initial Data Sync&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;The initial copy of public folder content from on-premises to Exchange Online is performed. This may take a long time depending on how much content you have. There is no easy way to predict the length of time it will take as there are many variables to consider, but you can monitor the progress via PowerShell. Users will continue using the on-premises public folder infrastructure during this time so there is no impact to the on-premises environment&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong&gt;Perform Delta Syncs of Changed Content&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;These content delta syncs run by the admin help shorten the window of downtime for the finalization process by copying only data changed after the initial migration request copy was performed. Numerous delta syncs may be required in large environments with many public folder servers.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong&gt;Lock On-premises Public Folders and Finalize the Migration Request&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Access to the on-premises public folder environment is blocked and a final delta sync of changed data is performed. When this stage is completed your Exchange Online public folders will be ready for user access. The access block is required to prevent any content changes taking place on-premises just before your users connections are transitioned to the Exchange Online public folder environment.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong&gt;Validate the Exchange Online Public Folder Environment&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Create new content and permission reports, and compare them to the reports created prior to the migration.
&lt;ul&gt;
&lt;li&gt;If the administrator is happy, the new Exchange Online public folders will then be unlocked for user access.&lt;/li&gt;
&lt;li&gt;If the administrator feels the migration was not successful, a roll back to the on-premises public folder infrastructure is initiated. However, if any changes were made to Exchange Online public folders such as content, permissions, or folders created/deleted before the rollback is initiated, then those changes will not be replicated to the on-premises infrastructure.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;&lt;strong&gt;Removal of legacy public folder content&lt;/strong&gt;&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;The administrator will remove the public folder databases from the on-premises infrastructure.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Microsoft, what can I do/not do with these things in Exchange Online?&lt;/h2&gt;
&lt;p&gt;Now that we have given you an idea of what the migration process will be let us talk about the feature itself. Starting with the new Office 365, customers of Exchange Online will be able to store, free of charge, approximately 1.25 terabytes of public folder data in the cloud. Yes, you read the right&amp;hellip; over a terabyte. The way this works is your tenant will be allowed to create up to fifty (50) public folder mailboxes, each yielding a 25 GB quota. However, when operating in a hybrid environment, public folders can exist only on-premises &lt;em&gt;or&lt;/em&gt; in Exchange Online.&lt;/p&gt;
&lt;p&gt;Once you complete the migration process of public folders to Exchange Online, the on-premises public folder infrastructure will have its hierarchy locked to prevent user connections and its content frozen at that point in time. By locking the on-premises content we provide you with a way to rollback a migration from Exchange Online, if you deem it necessary. However, as mentioned before, a rollback can result in data loss as no changes made while using the Exchange Online public folder infrastructure are copied back on-premises.&lt;/p&gt;
&lt;p&gt;We will support on-premises Exchange Server 2013 users accessing Exchange Online public folders. We will also support Exchange Online users accessing on-premises public folders if you choose to keep your public folder infrastructure local. The below table depicts what users can access what public folder infrastructures. Please note for a hybrid deployment on-premises users must be on Exchange 2013 if you wish for them to access Exchange Online public folders. Also it bears worth repeating that public folders can only exist in one location, on-premises or in Exchange online. You cannot have two different public folder infrastructures being utilized at once.&lt;/p&gt;
&lt;table class="posttable"&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;th&gt;PF location &amp;gt;&lt;/th&gt;&lt;th&gt;2007 On-Premises&lt;/th&gt;&lt;th&gt;2010 On-Premises&lt;/th&gt;&lt;th&gt;2013 On-Premises&lt;/th&gt;&lt;th&gt;Exchange Online&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Mailbox version:&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;td&gt;&amp;nbsp;&lt;/td&gt;
&lt;th&gt;&amp;nbsp;&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Exchange 2007&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;span style="color: #9bbb59;"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;span style="color: #9bbb59;"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;No&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;No&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Exchange 2010&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;span style="color: #9bbb59;"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;span style="color: #9bbb59;"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;No&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;No&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Exchange 2013&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;span style="color: #9bbb59;"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;span style="color: #9bbb59;"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;span style="color: #9bbb59;"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;span style="color: #9bbb59;"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;New Exchange Online&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;span style="color: #9bbb59;"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;span style="color: #9bbb59;"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;span style="color: #9bbb59;"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td&gt;
&lt;p align="center"&gt;&lt;span style="color: #9bbb59;"&gt;&lt;strong&gt;Yes&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;How is public folder management in Exchange Online performed?&lt;/h2&gt;
&lt;p&gt;When your public folder content migration is complete or you create public folders for the very first time, you will not have to worry about managing many aspects of public folders in Exchange Online. As you &lt;a href="http://blogs.technet.com/b/exchange/archive/2012/11/08/public-folders-in-the-new-office.aspx"&gt;previously read&lt;/a&gt;, public folders in Exchange Server 2013 and Exchange Online are now stored within a new mailbox type in the mailbox database. Our on-premises customers will have to create public folder mailboxes, monitor their usage, create new public folder mailboxes when necessary, and split content to different public folder mailboxes as their content grows over time. In Exchange Online we will automatically perform the public folder mailbox management so you may focus your time managing the actual public folders and their content. If we were to peek behind the Exchange Online curtain, we would see two automated processes running at all times to make everything happen:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Automatic public folder moves based on public folder mailbox quota usage&lt;/li&gt;
&lt;li&gt;Automatic public folder mailbox creation based on active hierarchy connection count&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Let&amp;rsquo;s go through each one of them, shall we?&lt;/p&gt;
&lt;h3&gt;1. Automatic public folder moves based on public folder mailbox quota usage&lt;/h3&gt;
&lt;p&gt;This process actively monitors your public folder mailbox quota usage. This process&amp;rsquo; goal ensures you do not inadvertently fill a public folder mailbox and stop it from being able to accept new content for any public folder within it.&lt;/p&gt;
&lt;p&gt;When a public folder mailbox reaches the Issue Warning Quota value of 24.5 GB, this process is automatically triggered to redistribute where your public folders currently reside. This may result in Exchange Online simply moving some public folders from the nearly-filled public folder mailbox to another pre-existing public folder mailbox holding less content. However, if there are no public folder mailboxes with enough free space to move public folders into, Exchange Online will automatically create a new public folder mailbox and move some of your public folders into the newly created public folder mailbox. The end result will be all public folder mailboxes being below the Issue Warning Quota.&lt;/p&gt;
&lt;p&gt;Public folder moves from one public folder mailbox to another are an online move process similar to normal mailbox moves. Due to the move process being an online experience your users may experience a slight disruption in accessing one or more public folders during the completion phase of the online move process. Any mail destined for mail enabled public folders being moved would be temporarily queued and then delivered once the move request completes.&lt;/p&gt;
&lt;p&gt;In case the curious amongst you are wondering, we do not currently prevent customers from lowering the public folder mailbox quota values even though there is no reason you should do that. However, you are prevented from configuring quotas values larger than 25 GB.&lt;/p&gt;
&lt;p&gt;Let us take a moment to visualize this process as a picture is worth a thousand words. In the first scenario below a customer currently has to two public folder mailboxes, PFMBX-001 and PFMBX-002. PFMBX-001 contains three public folders while PFMBX-002 contains only one public folder. PFMBX-001 has gone over the IssueWarningQuota value of 24.5 GB and currently contains 24.6 GB of content. When the automatic split process runs in this environment it sees there is plenty of space available in PFMBX-002, and moves a public folder from PFMBX-001 into PFMBX-002. In this example, the final result is two public folder mailboxes with a similar amount of data in each of them. Depending on the size of your folders this process may move a single large public folder, or numerous mall public folders. The example shows a single folder being moved.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/3554.image_5F00_5144B3F1.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1348.image_5F00_thumb_5F00_211D692E.png" alt="image" width="624" height="281" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;em&gt;Scenario 1: Auto split process shuffles public folders from one public folder mailbox to another one.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In a second scenario below, a customer has a single public folder mailbox, PFMBX-001 containing three public folders. PFMBX-001 has gone over the IssueWarningQuota value of 24.5 GB and contains 24.6 GB of content. When the split process runs in this environment it sees there are no other public folder mailboxes available to move public folders into. As a result, the process creates a new empty public folder mailbox, PFMBX-002, and moves some public folders into the new public folder mailbox; the final result is two public folder mailboxes with a similar amount of data in each of them. Again in this example we are showing a single public folder being moved, but the process may determine it has to move many smaller public folders.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/5657.image_5F00_11112B28.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/0285.image_5F00_thumb_5F00_134DB3E4.png" alt="image" width="624" height="281" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;em&gt;Scenario 2: Auto split process must create a new empty public folder mailbox before moving a public folder.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;One noteworthy limit in Exchange Online which should be mentioned is no single public folder in Exchange Online can be over 25 GB in size due to the underlying public folder mailbox having a 25 GB quota. To give you an idea how much data that is; 25 GB of data is similar to 350,000 items of 75 KB each, or 525,000 items of 50 KB each. In most cases this volume of data can easily be split amongst multiple public folders to avoid a single folder coming anywhere near the 25 GB limit of a single public folder.&lt;/p&gt;
&lt;p&gt;Our migration documentation will also suggest if you currently have a single public folder over 15 GB that you try to reduce that public folder&amp;rsquo;s size to under 15 GB prior to the migration by deleting old content or splitting it into multiple smaller public folders. When we say a single public folder over 15 GB we mean exactly that and it excludes any child folders. Any child folder of a parent folder is not considered part of the 15 GB content limit suggestion for these purposes because the child public folder may reside in a different public folder mailbox if necessary. The reason for this suggestion is two-fold. First, it helps prevent you from triggering the automated split-process as soon as your migration takes place if you were to migrate very large public folders form on-premises. Second, content moved from Exchange 2007/2010 to Exchange Online may result in the reported space utilized by a single public folder increasing by 30%. The increase is due to a more accurate method used by Exchange Server 2013 to calculate space used within a mailbox database compared to earlier versions of Exchange Server. If you were to migrate a single massive public folder residing in on-premises Exchange Server 2007/2010 to Exchange Online this space recalculation may push the single public folder over the 25 GB quota. We want to help you avoid this situation as this would only be noticed once you were well into the data copy portion of the migration, and would cause you lost time having to redo the process all over again.&lt;/p&gt;
&lt;p&gt;If you have a particular business requirement which does not allow you to reduce the size of this single massive public folder in one of the ways previously suggested, then we will recommend you retain your entire public folder infrastructure on-premises instead of moving it to Exchange Online as we cannot increase the public folder mailbox quota beyond 25 GB.&lt;/p&gt;
&lt;h3&gt;2. Automatic public folder mailbox creation based on active hierarchy connection count&lt;/h3&gt;
&lt;p&gt;The second automated process helps maintain the most optimal user experience accessing public folders in Exchange Online. Exchange Online will actively monitor how many hierarchy connections are being spread across all of your public folder mailboxes. If this value goes over a pre-determined number we will automatically create a new public folder mailbox. Creating the additional public folder mailbox will reduce the number of hierarchy connections accessing each public folder mailbox by scaling the user connections out across a larger number of public folder mailboxes. If you are a customer whom has a small amount of public folder content in Exchange Online, yet you have an extremely large number of active users, then you may see the system create additional public folder mailboxes regardless of your content size.&lt;/p&gt;
&lt;p&gt;Ready for another example? In this example we will use low values for explanatory purposes. Let us pretend in Exchange Online we did not want more than two hundred active hierarchy connections per public folder mailbox. The diagram below shows nine hundred users making nine hundred active hierarchy connections across four public folder mailboxes. This scenario will work out to approximately 225 active hierarchy connections per public folder mailbox as the Client Access Servers spread the hierarchy connections across all available public folder mailboxes in the customer&amp;rsquo;s environment. When Exchange Online monitoring determines the desired number of two hundred active hierarchy connections per public folder mailbox has been exceeded, PFMBX-005 is automatically created. Immediately after creating PFMBX-005, Exchange Online will force a hierarchy sync to PFMBX-005 ensuring it has the most up to date information available regarding public folder structure and permissions before allowing it to accept client hierarchy connections. The end result in this example is we now have five public folder mailboxes accepting nine hundred active hierarchy connections for an average of 180 connections per public folder mailbox, thus assuring all active users have the best interactive experience possible.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/5504.image_5F00_0098BA2D.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/6521.image_5F00_thumb_5F00_02D542E9.png" alt="image" width="624" height="323" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;em&gt;Scenario 3: Auto split process creates a new public folder mailbox to scale out active hierarchy connections.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Once you begin utilizing the Exchange Online public folder infrastructure we are confident this built-in automation will help our customers focus on doing what they do best, which is running their business. Let us take care of the infrastructure for you so you have more time to spend on your other projects.&lt;/p&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;In summary we are extremely excited to deliver public folders in the new Exchange Online to you, our customers. We believe you will find the migration process from on-premises to Exchange Online fairly straightforward and our backend automation will alleviate you from having to manage many aspects of the feature. We really hope you enjoy using the public folders with Exchange Online as much as we enjoyed creating them for you.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Special thanks to the &lt;span style="text-decoration: underline;"&gt;entire&lt;/span&gt; Public Folder Feature Crew, Nino Bilic, Tim Heeney, Ross Smith IV and Andrea Fowler for contributing to and validating this data.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class="author"&gt;Brian Day&lt;/span&gt; &lt;br /&gt;Senior Program Manager &lt;br /&gt;Exchange Customer Experience&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3570469" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/exchange/archive/tags/Tips+_2700_n+Tricks/">Tips 'n Tricks</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Documentation/">Documentation</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Exchange+Online/">Exchange Online</category></item><item><title>Introducing Message Analyzer, an SMTP header analysis tool in Microsoft Remote Connectivity Analyzer</title><link>http://blogs.technet.com/b/exchange/archive/2013/05/01/introducing-message-analyzer-an-smtp-header-analysis-tool-in-microsoft-remote-connectivity-analzyer.aspx</link><pubDate>Wed, 01 May 2013 21:40:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3570261</guid><dc:creator>The Exchange Team</dc:creator><slash:comments>19</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/exchange/rsscomments.aspx?WeblogPostID=3570261</wfw:commentRss><comments>http://blogs.technet.com/b/exchange/archive/2013/05/01/introducing-message-analyzer-an-smtp-header-analysis-tool-in-microsoft-remote-connectivity-analzyer.aspx#comments</comments><description> &lt;p&gt;&lt;span class="bold"&gt;Microsoft Remote Connectivity Analyzer&lt;/span&gt; is a web-based tool that provides administrators and end users with the ability to run connectivity diagnostics for our servers to test common issues with Microsoft Exchange, Lync and Office 365. The tool started as &lt;a href="http://blogs.technet.com/b/exchange/archive/2009/03/25/3407129.aspx"&gt;Microsoft Exchange Server Remote Connectivity Analyzer&lt;/a&gt;, and based on your feedback we've continued to add functionality to test connectivity with Lync and Office 365, and made other enhancements such as tests for &lt;a class="bold" href="http://blogs.technet.com/b/exchange/archive/2009/10/19/3408572.aspx" title="See 'New version of Exchange Remote Connectivity Analyzer has been released'"&gt;Outlook Anywhere, Exchange Web Services, outbound SMTP,  &lt;a class="bold" href="http://blogs.technet.com/b/exchange/archive/2011/07/18/test-office-365-single-sign-on-using-microsoft-remote-connectivity-analyzer.aspx" title="See 'Test Office 365 Single Sign-On Using Microsoft Remote Connectivity Analyzer'"&gt;Office 365 Single Sign-On test&lt;/a&gt;, &lt;a class="bold" href="http://blogs.technet.com/b/exchange/archive/2010/11/09/3411468.aspx" title="Se 'ExRCA: Now supporting 10 additional languages'"&gt;support for 10 additional languages&lt;/a&gt; and an &lt;a href="http://blogs.technet.com/b/exchange/archive/2012/07/03/remote-connectivity-analyzer-gets-an-updated-captcha-experience.aspx" title="See 'Remote Connectivity Analyzer gets an updated CAPTCHA experience'"&gt;improved captcha experience&lt;/a&gt;. &lt;/p&gt;   &lt;p&gt;We're excited to announce &lt;span class="bold"&gt;Message Analyzer&lt;/span&gt;, a brand new addition to the Remote Connectivity Analyzer.   Message Analyzer makes reading email headers less painful.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-postimages/2570.RCA_2D00_MessageAnalyzer_2D00_1.png" alt="Screenshot: Message Analyzer tab"&gt;&lt;br /&gt; &lt;span class="caption"&gt;&lt;span class="bold"&gt;Figure 1:&lt;/span&gt;  The new &lt;span class="bold"&gt;Message Analyzer&lt;/span&gt; tab in RCA&lt;/span&gt;   &lt;p&gt;SMTP message headers contain a wealth of information which allows you to determine the origins of a message and how it made its way through one or more SMTP servers to its destination. To use Message Analyzer, all you need to do is copy message headers from a message and paste them in the Message Analyzer tab on the &lt;acronym title="Remote Connectivity Analyzer"&gt;RCA&lt;/acronym&gt; web site.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-postimages/0250.RCA_2D00_MessageAnalyzer_2D00_2.png" alt="Screenshot 2: Paste message headers in Message Analyzer"&gt;&lt;br /&gt; &lt;span class="caption"&gt;&lt;span class="bold"&gt;Figure 2:&lt;/span&gt; Paste message headers in the Message Analyzer&lt;/span&gt; &lt;/span&gt;  &lt;p class="note"&gt;Trying to locate message headers in Outlook 2010 and later? See &lt;a class="bold" href="http://blogs.technet.com/b/exchange/archive/2011/03/23/hey-outlook-2010-where-are-my-message-headers.aspx" title="See related post: Hey Outlook 2010, where are my message headers?"&gt;Hey Outlook 2010, where are my message headers?&lt;/a&gt;&lt;/p&gt;   &lt;h2&gt;Features of the Message Analyzer&lt;/h2&gt;  &lt;p&gt;Here's a quick look at what you can do with Message Analyzer.&lt;/p&gt; &lt;ul class="arrowlist"&gt; &lt;li&gt;&lt;p&gt;View the most important properties and total delivery time at a quick glance.&lt;/p&gt; &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-postimages/6320.RCA_2D00_MessageAnalyzer_2D00_3.png" alt="Screenshot 3: Message Analyzer tab"&gt;&lt;br /&gt; &lt;span class="caption"&gt;&lt;span class="bold"&gt;Figure 3:&lt;/span&gt; View the most important header properties and delivery time&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;   &lt;li&gt;&lt;p&gt;Analyze the received headers and displays the longest delays quickly for easy discovery of sources of message transfer delays.&lt;/p&gt; &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-postimages/5228.RCA_2D00_MessageAnalyzer_2D00_4.png" alt="Screenshot 4: View where longest message transfer delays occurrd"&gt;&lt;br /&gt; &lt;span class="caption"&gt;&lt;span class="bold"&gt;Figure 4:&lt;/span&gt; Quickly detect where the longest message transfer delays occurred&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;   &lt;li&gt;&lt;p&gt;Sort all headers by header name or value.&lt;/p&gt; &lt;p&gt;&lt;img src="http://blogs.technet.com/cfs-filesystemfile.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-postimages/1680.RCA_2D00_MessageAnalyzer_2D00_5.png" alt="Screenshot 5: Sort message headers"&gt;&lt;br /&gt; &lt;span class="caption"&gt;&lt;span class="bold"&gt;Figure 5:&lt;/span&gt; Sort message headers&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;  &lt;li&gt;&lt;p&gt;Quickly collapse the sections that you don’t need.&lt;/p&gt;&lt;/li&gt; &lt;li&gt;&lt;p&gt;All processing is done in your browser, and no private information is shared with Microsoft.&lt;/p&gt;&lt;/li&gt; &lt;li&gt;&lt;p&gt;Useful for any header, whether generated by Exchange, Office 365, or any other RFC standard SMTP server or agent.&lt;/p&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Note, we consider this feature to be in beta for the moment.  Please send us feedback and we’ll continue to make improvements.&lt;/p&gt;  &lt;p&gt;Check out this update to the &lt;acronym title="Remote Connectivity Analyzer"&gt;RCA&lt;/acronym&gt; at  &lt;a class="bold" href="https://testconnectivity.microsoft.com"&gt;testconnectivity.microsoft.com&lt;/a&gt; (short URL: &lt;a class="bold" href="http://aka.ms/rca"&gt;aka.ms/rca&lt;/a&gt;).   &lt;p&gt;&lt;span class="author"&gt;Stephen Griffin&lt;/span&gt; &amp; &lt;span class="author"&gt;Scott Landry&lt;/span&gt;&lt;br /&gt; On behalf of the entire MCA/RCA team&lt;br /&gt; Follow the team on Twitter - &lt;a href="http://aka.ms/exrca"&gt;@ExRCA&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3570261" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/exchange/archive/tags/Troubleshooting/">Troubleshooting</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Tools/">Tools</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Announcements/">Announcements</category></item><item><title>Troubleshoot your Exchange 2010 database backup functionality with VSSTester script</title><link>http://blogs.technet.com/b/exchange/archive/2013/04/29/troubleshoot-your-exchange-2010-database-backup-functionality-with-vsstester-script.aspx</link><pubDate>Mon, 29 Apr 2013 15:38:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3569686</guid><dc:creator>The Exchange Team</dc:creator><slash:comments>9</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/exchange/rsscomments.aspx?WeblogPostID=3569686</wfw:commentRss><comments>http://blogs.technet.com/b/exchange/archive/2013/04/29/troubleshoot-your-exchange-2010-database-backup-functionality-with-vsstester-script.aspx#comments</comments><description>&lt;div class="resources" style="width: 150px;"&gt;
&lt;ul style="list-style-type: none; font-size: 1.2em; list-style-position: outside; color: #3b79cc; margin-left: 0.5em;"&gt;
&lt;li&gt;&lt;a title="Download the VSSTester script" href="http://gallery.technet.microsoft.com/scriptcenter/VSSTesterps1-script-4ed07243"&gt;Download&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;Frequently in support, we encounter several backup related calls for Exchange 2010 databases. A sample of common issues we hear from our customers are:&lt;/p&gt;
&lt;ul class="arrowlist"&gt;
&lt;li&gt;&amp;ldquo;My backup software is not able to take a successful snapshot of the databases&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;My backups have been failing for quite a while. I have several thousand log files consuming disk space and I will eventually run out of disk space&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;My backup software indicates that the backup is successful but at the end of my backup, logs do not truncate&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;The Exchange Writer /VSS writer is not in a stable state (state is listed as &amp;lsquo;Retryable&amp;lsquo;, &amp;rsquo;Waiting for completion&amp;lsquo; or &amp;rsquo;Failed&amp;rsquo;)&amp;rdquo;&lt;/li&gt;
&lt;li&gt;&amp;ldquo;We suspect that the Volume Shadow Copy Service (VSS) is failing on the server and hence there are no successful backups&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is critical to understand how backups and log truncation work in Exchange 2010. If you haven't already done so, check out our three-part blog series by Jesse Tedoff on backups and log truncation in Exchange 2010, &lt;a href="http://blogs.technet.com/b/exchange/archive/2012/06/04/everything-you-need-to-know-about-exchange-backups-part-1.aspx"&gt;Everything You Need to Know About Exchange Backups*&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;When troubleshooting backups in Exchange 2010 we are interested in two &lt;span class="newterm"&gt;writers&lt;/span&gt; &amp;ndash; the &lt;span class="bold"&gt;Exchange Information Store Writer&lt;/span&gt; (utilized for active copy backups) and the &lt;span class="bold"&gt;Exchange Replica Writer&lt;/span&gt; (utilized for passive copy backups). The writers are responsible for providing the metadata information for databases to the &lt;span class="bold"&gt;&lt;acronym title="Volume Shadow Copy Service"&gt;VSS&lt;/acronym&gt; Requestor&lt;/span&gt; (aka the backup software). The &lt;span class="bold"&gt;VSS Provider&lt;/span&gt; is the component that creates and maintains shadow copies. At the end of successful backups, when the Volume Shadow Copy Service signals backup is complete, the writers initiate post-backup steps which include updating the database header and performing log truncation. &lt;span class="comment"&gt;(For more details, see &lt;a class="bold" href="http://msdn.microsoft.com/en-us/library/exchange/bb204080%28v=exchg.140%29.aspx"&gt;Exchange VSS Writers&lt;/a&gt; on MSDN.)&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;As explained above, it is the responsibility of the VSS Requestor to get metadata information from Exchange writers and at the end of successful backup, VSS service signals backup complete to the Exchange writers so the writers can perform post-backup operations.&lt;/p&gt;
&lt;p&gt;The purpose of this blog is to discuss the VSSTester script, its functionality and how it can help diagnose backup problems.&lt;/p&gt;
&lt;h2&gt;What does the script to?&lt;/h2&gt;
&lt;p&gt;The script has two major functions:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Perform Diskshadow backup of a selected Exchange database so we can exercise the VSS framework in the system, so at the end of a successful snapshot, database header is updated and log files are truncated. We will discuss in detail what Diskshadow is and what it does.&lt;/li&gt;
&lt;li&gt;The second function of this script is to collect diagnostic data. For backup cases, there is a lot of data that needs to be collected. To get the diagnostic data you may have to manually go to different places in the Exchange server and turn on logging. If that is not done correctly, we will miss getting crucial logs during the time of the issue. The script makes the data collection process much easier.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Script requirements&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;The current version of the script works only on Exchange 2010 servers.&lt;/li&gt;
&lt;li&gt;The script needs to be run on the Exchange server that is experiencing backup issues. If you are having issues with passive copy backups, please go to the appropriate node in the DAG and run the script. For example: You may have Database A having copies on Server1, Server2 and Server3. Server1 hosts the active copy of the database. If backups of the active copy have previously failed run the script on Server1. Otherwise run script on whichever of the remaining servers has failed previously when backing up the passive copy.&lt;/li&gt;
&lt;li&gt;Please ensure that you have enough space on the drive you save the configuration and output files. Exchange and VSS traces, Diagnostic logs can occupy up to several GBs of drive space depending on the time taken for taking backup. For example: Running the script in a lab environment consumed close to 25MB of drive space a minute.&lt;/li&gt;
&lt;li&gt;The script is unsigned. On the server where you run the script you will have to set the execution policy to allow unsigned PowerShell scripts. Please see &lt;a href="http://technet.microsoft.com/en-us/library/ee176949.aspx"&gt;this&lt;/a&gt; for how to do this.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The script can be run on any DAG configuration. You can use this to troubleshoot Mailbox and Public folder database backup issues. Databases and log files can be on regular drives or mount points. Mix and match of the two will also work!&lt;/p&gt;
&lt;p&gt;Let us discuss in detail the two main functionalities of the script.&lt;/p&gt;
&lt;h2&gt;Diskshadow functionality and how the script uses it&lt;/h2&gt;
&lt;p&gt;What is Diskshadow and why do we utilize it in VSSTester script?&lt;/p&gt;
&lt;p&gt;Diskshadow.exe is a command line tool built in to Windows Server 2008 operating system family as well as Windows Server 2012. Diskshadow is an in-box VSS requestor. It is utilized to test the functionality provided by the Volume Shadow Copy Service (VSS). For more details on Diskshadow please visit:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://technet.microsoft.com/en-us/library/ee221016(v=ws.10).aspx"&gt;http://technet.microsoft.com/en-us/library/ee221016(v=ws.10).aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/b/josebda/archive/2007/11/30/diskshadow-the-new-in-box-vss-requester-in-windows-server-2008.aspx"&gt;http://blogs.technet.com/b/josebda/archive/2007/11/30/diskshadow-the-new-in-box-vss-requester-in-windows-server-2008.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The best part about Diskshadow is that it includes a script mode for automating tasks. This feature of Diskshadow is utilized in the VSSTester. The shadow copy done by Diskshadow is a snapshot of the entire volume at a given point in time. This copy is read-only.&lt;/p&gt;
&lt;p&gt;More details on how a shadow copy is created, please visit the following link: &lt;a href="http://technet.microsoft.com/en-us/library/ee923636(v=ws.10).aspx"&gt;http://technet.microsoft.com/en-us/library/ee923636(v=ws.10).aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;During the course of the blog post, I will be mentioning the term &amp;ldquo;Diskshadow backup&amp;rdquo;. &lt;strong&gt;It is very important to understand that the term &amp;ldquo;backup&amp;rdquo; is relative here&lt;/strong&gt;. Diskshadow uses the VSS service and gets the appropriate writer to be utilized for the snapshot. The writer will provide the metadata information of database /log files to the Diskshadow. After which Diskshadow utilizes the VSS Provider to create a shadow copy.&lt;/p&gt;
&lt;p&gt;After a successful shadow copy /snapshot of databases and log files, the VSS Provider signals an end-backup to Exchange writers. To Exchange this looks like a full backup has been performed on the database. &lt;span style="text-decoration: underline;"&gt;The key to understand here is &lt;strong&gt;NO&lt;/strong&gt; data is actually transferred to a device, tape etc.&lt;/span&gt; This is only a test! You will see events in the application logs that usually show up when you take a regular backup, but &lt;strong&gt;NO&lt;/strong&gt; &lt;strong&gt;data is actually backed up&lt;/strong&gt;. Diskshadow has simply run all the backup APIs through the backup process without transferring any data.&lt;/p&gt;
&lt;p&gt;The VSS Provider will take a snapshot of all the databases and logs (if present) on the volume. We will be doing a mirrored snapshot of the entire volume at the point in time when Diskshadow was run. Anything that is on the volume will be part of the snapshot. During the Diskshadow backup, we will be utilizing either the Information store writer (for active copy backup) or the Replica Writer (Passive copy backup) to provide the metadata information for the database.&lt;/p&gt;
&lt;p&gt;When you use the VSSTester script, it prompts you for a database to be selected to perform the Diskshadow backup. When we take a snapshot of the volume all other databases (if present on the same drive) will be part of the snapshot, but post-backup operations will happen only on the selected database. This is because we will be utilizing either the Information store Writer (Active Copy Backup) or the Replica Writer (Passive copy backup) &lt;strong&gt;that is associated with the selected database&lt;/strong&gt;. DB headers get updated based on VSS Requestor interaction with the Exchange writer that was utilized, which in turn leads to log truncation. Hence the header of the selected database will be only updated and &lt;strong&gt;logs will be purged (only for that the selected database) &lt;span style="text-decoration: underline;"&gt;without being backed up&lt;/span&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;When would you be interested in utilizing this Diskshadow functionality of the script?&lt;/h3&gt;
&lt;p&gt;You would be interested to utilize this functionality in almost all scenarios that I discussed at the start of this blog post. In addition to those scenarios another one that is not related to backups sometimes arises:&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&amp;ldquo;I had an unexpected high transactional log growth issue in my exchange 2010 environment and now I am on the verge of losing all disk space in the logs directory. I do not have the time to perform a backup to truncate logs and my goal is to safely remove all the log files&amp;rdquo;&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the scenario mentioned above (and, by the way, if you have that problem, please go &lt;a href="http://blogs.technet.com/b/exchange/archive/2013/04/18/troubleshooting-rapid-growth-in-databases-and-transaction-log-files-in-exchange-server-2007-and-2010.aspx"&gt;here&lt;/a&gt;), Exchange administrators would like to avoid causing a service outage by dismounting the database, removing log files and remounting the database. Another downside to manually removing the log files is breaking replication if the database has replicas across Database Availability Group members.&lt;/p&gt;
&lt;p&gt;If you are willing to forgo a backup of the log files you can use the Diskshadow functionality of the script to trigger the backup APIs and tell Exchange to truncate the log files. The truncation commands will replicate to the other database copies and purge log files there as well. If successful, the net result is that the database will not go offline for lack of disk space on the log drive, but you will not have the security of retaining those log files for a future restore.&lt;/p&gt;
&lt;h3&gt;A sample run of the VSSTester script (with Diskshadow functionality)&lt;/h3&gt;
&lt;p&gt;Let me demonstrate the Diskshadow functionality of the script.&lt;/p&gt;
&lt;p&gt;The Script can be downloaded from TechNet gallery &lt;a href="http://gallery.technet.microsoft.com/scriptcenter/VSSTesterps1-script-4ed07243"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The script initializes and gives us the following options.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/3108.image_5F00_00E59FDB.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/3036.image_5F00_thumb_5F00_7C02EC1E.png" alt="image" width="624" height="330" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We select the option 1 to test backup using the built-in Diskshadow function.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/3542.image_5F00_4932E5AA.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/7762.image_5F00_thumb_5F00_76B4056D.png" alt="image" width="624" height="74" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If the path does not exist, the script will create the folder for you.&lt;/p&gt;
&lt;p&gt;We gather the server name and verify it is an Exchange 2010 server. The script will check for the VSS writer status on the local machine. If we detect, any of the writers are not in a &amp;ldquo;Stable&amp;rdquo; state, the script will exit. You will need to restart the service associated with the writer to get the writers to a stable state (The Replication service for the Replica Writer or the Information Store service for the Exchange Writer).&lt;/p&gt;
&lt;p&gt;The script then gets a list of databases present on the local server and displays the database name, if database is mounted or not and what is the server that holds the active copy of the database. You will have to select the number of the database.&lt;/p&gt;
&lt;p class="note"&gt;Note: If the user does not provide an input, the script will automatically select &lt;em&gt;the last database in the list&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;In my case, I selected database mdb5. The number to enter would be 8.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1325.image_5F00_3926A7A4.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1832.image_5F00_thumb_5F00_66A7C767.png" alt="image" width="550" height="448" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The next important check is ensuring that the database&amp;rsquo;s replicas (if present) are healthy. If we detect that one of the copies is not healthy, the script will exit mentioning that the database copies need to be in healthy status before running the script.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/2425.image_5F00_663B9472.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1351.image_5F00_thumb_5F00_1ADBF0AE.png" alt="image" width="363" height="97" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The script next detects the location of the database file and log files. We create the Diskshadow configuration file on the fly every time a database is selected. This configuration file is also saved to the location you had specified earlier (in the example screenshots of this blog c:\vsstesterlogs) to save the configuration and output files. In this case the log files are in a mount point and the database file is on a regular volume. The script will add the appropriate volumes to the disk shadow file.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/2311.image_5F00_16838F77.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1830.image_5F00_thumb_5F00_4D60746E.png" alt="image" width="624" height="211" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The script will then prompt you to provide the drive letters to expose the snapshots. A common question that arises is, do I need to initialize the drive before I specify a drive letter? The answer is no!&lt;/p&gt;
&lt;p&gt;You will be specifying a drive letter that is currently not in use, so Diskshadow will create a virtual drive and expose the snapshot. Remember, the virtual drive that exposes the shadow copy is a read-only volume. The shadow copy is a read only copy .If the database and logs are in the same mount point / drive only, one drive letter is required to expose the snapshot, otherwise you will need to provide two different drive letters. One for exposing database snapshot and another for log files.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/5383.image_5F00_5AC68774.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/8623.image_5F00_thumb_5F00_0847A738.png" alt="image" width="691" height="98" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When you select the option to perform the Diskshadow backup, the script will automatically collect Diagnostic logs, ExTRA traces and VSS traces. Also verbose logging is turned on for Diskshadow. Whatever activity the script does is also logged in to transcript log and saved in the output files directory (c:\vsstesterlogs 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-31-06-metablogapi/8228.image_5F00_35C8C6FB.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1108.image_5F00_thumb_5F00_783B6931.png" alt="image" width="543" height="429" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Note: If you are performing a passive copy backup, ExTRA tracing will also be turned on in the active node. At the end of the script, we turn off ExTRA tracing in the active node and it will be automatically moved to the passive node. The active node ETL will be placed in the logs folder you had specified at the start of the script. .&lt;/p&gt;
&lt;p&gt;Now, the main Diskshadow function will execute.&lt;/p&gt;
&lt;p&gt;In the screenshots below we have excluded all other writers on the system that are associated with all other databases on the node (that are mounted or be replicas) and we are ONLY utilizing the writer associated with the selected database. This node hosts the passive copy of the database MDB5. Hence, the writer utilized will be associated with the Replication service aka the Microsoft Exchange Replica Writer.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/3386.image_5F00_45D795B2.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4278.image_5F00_thumb_5F00_20D9D539.png" alt="image" width="240" height="60" border="0" /&gt;&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-31-06-metablogapi/4212.image_5F00_154417FA.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4718.image_5F00_thumb_5F00_70B28A75.png" alt="image" width="240" height="14" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;em&gt;(please click on above two screenshots to see them)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;From the screen shot below, you can see that VSS Provider has taken a successful snapshot of the database and signaled end backup to the replica writer.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/0412.image_5F00_70465780.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1513.image_5F00_thumb_5F00_3DE28401.png" alt="image" width="549" height="89" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now that we performed a successful snapshot of the database and log files, all the logging that was turned on will be turned off. The log files will be consolidated in the logs folder that you specified earlier at the start of the script. The script checks the VSS writer status after the backup is complete.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4743.image_5F00_0B7EB082.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/2021.image_5F00_thumb_5F00_66ED22FD.png" alt="image" width="474" height="491" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;When the snapshot operation is complete, you will be prompted for an option to either remove the snapshot or leave the snapshots exposed in Windows Explorer.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/3583.image_5F00_425B9579.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/2133.image_5F00_thumb_5F00_1DCA07F5.png" alt="image" width="240" height="37" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;em&gt;(click to view)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I selected the option to remove the snapshot; hence we will be invoking Diskshadow again to delete the snapshot created earlier.&lt;/p&gt;
&lt;p&gt;Let us discuss in detail exposing and removing snapshot functionality:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Remove snapshots&lt;/strong&gt; - The snapshots that were taken earlier (database or log files) will be exposed in the Windows explorer, if the snapshot operation was successful. In this script we expose the snapshots as a drive letter (that you had specified earlier). If you do not want to have a copy of the log files, you may chose this option and the snapshot will be deleted. All the logs that got purged after post-backup will be present in this read only volume and when this volume is removed they will be deleted forever.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Expose Snapshots&lt;/strong&gt; &amp;ndash; You may choose to have the snapshots exposed. Later, if you want to delete the snapshot, please do the following&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;ul&gt;
&lt;li&gt;Open Command prompt&lt;/li&gt;
&lt;li&gt;Type in &lt;span class="cmdlet lightyellow"&gt;Diskshadow&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Delete shadows exposed &amp;lt;volume&amp;gt;&lt;strong&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p class="note"&gt;Note: It is &lt;strong&gt;highly recommended&lt;/strong&gt; to take a full backup of the database using your regular backup software after utilizing Diskshadow.&lt;/p&gt;
&lt;p&gt;After this, the script collects the application and system logs. The script filters them to cover only the period you started the script to the present. The transcript log is also stopped. The logs will be saved as a text file and saved in the output folder you had specified earlier (c:\vsstesterlogs 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-31-06-metablogapi/5228.image_5F00_4906E447.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/8484.image_5F00_thumb_5F00_7930BFBB.png" alt="image" width="624" height="180" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The most reliable method to verify log truncation takes place is to get the log sequence before and after the backup. Hence, before running the script I ran &lt;span class="cmdlet lightyellow"&gt;eseutil/ml ENN&lt;/span&gt; (the log generation prefix associated with database).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1464.image_5F00_4660B947.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/5265.image_5F00_thumb_5F00_33ABBF90.png" alt="image" width="621" height="460" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Post-backup, when I ran the same command, and can see:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4532.image_5F00_03F0A7C2.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/6204.image_5F00_thumb_5F00_713BAE0A.png" alt="image" width="602" height="340" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We can clearly see a difference in the start of the sequence, meaning log truncation has occurred for the database. One more verification that can be done is to check the database header. We can see that the database header got updated to the most recent time, where Diskshadow was run.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/2570.image_5F00_11F04FE6.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/2677.image_5F00_thumb_5F00_6D5EC261.png" alt="image" width="473" height="176" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;I ran the script; what have I accomplished?&lt;strong&gt;&lt;/strong&gt;&lt;/h2&gt;
&lt;p&gt;If the script finished successfully:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We were able to successfully test and exercise the underlying VSS framework in the server. Volume Shadow Copy service was able to successfully identify and utilize the Exchange writers in the box&lt;/li&gt;
&lt;li&gt;The Exchange writers are able to provide the metadata information to the VSS Requestor (Diskshadow)&lt;/li&gt;
&lt;li&gt;VSS Provider was able to successfully create a snapshot /shadow copy&lt;/li&gt;
&lt;li&gt;VSS successfully signaled the Exchange writers on backup complete&lt;/li&gt;
&lt;li&gt;The Exchange writers were able to perform the post snapshot operations which included log truncation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let us now look in to the other major functionality of the script.&lt;/p&gt;
&lt;h2&gt;Enable logging to troubleshoot backup issues&lt;/h2&gt;
&lt;p&gt;Use this if you do not want to test backup using Diskshadow and you just want to collect diagnostic logs for troubleshooting backup issues.&lt;/p&gt;
&lt;p&gt;You may collect the diagnostic logs and have them handy before calling Microsoft Support saving a lot of time in the support incident because you can provide the files at the beginning of the case.&lt;/p&gt;
&lt;p&gt;This time we will be selecting option 2 to enable logging.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/3187.image_5F00_53F6BF27.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/1440.image_5F00_thumb_5F00_336F7F75.png" alt="image" width="624" height="334" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Selecting this option does the majority of the things that the script did earlier, EXCEPT Diskshadow of course!&lt;/p&gt;
&lt;p&gt;After checking the writer status, you can select the database to backup. We will be enabling all the logging like before (Diagnostic Logging, ExTRA, VSS tracing). Remember that, even though you would still be selecting one database - diagnostic logging, ExTRA tracing, VSS tracing are not database specific and are turned on at the server level. When you are utilizing the script to troubleshoot backup issues you can select any one database on the server and it will turn on appropriate logging on the server.&lt;/p&gt;
&lt;p&gt;After the logging is turned on and traces enabled, you will see:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/4760.image_5F00_55C714EE.png"&gt;&lt;img style="background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;" title="image" src="http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-31-06-metablogapi/7737.image_5F00_thumb_5F00_034834B2.png" alt="image" width="240" height="45" border="0" /&gt;&lt;/a&gt; &lt;br /&gt;&lt;em&gt;(click to view)&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Now you will need to start your regular backup. After the backup completes/fails, you will need to come back to the PowerShell window where you are running the script and use the &amp;ldquo;ENTER&amp;rdquo; key to terminate the data collection. The script then disables diagnostic logging and tracing that was turned up earlier. If needed it will copy diagnostic logs from the active node for that database copy as well.&lt;/p&gt;
&lt;p&gt;The script will again check for writer status after the backup then collect the application and system logs. It will stop the transcript log as well.&lt;/p&gt;
&lt;p&gt;At this point, in order to troubleshoot the issue, you can open a case with Microsoft Support and upload the logs.&lt;/p&gt;
&lt;p&gt;I hope this script helps you in better understanding the core concepts in Exchange 2010 backups, thus helping you troubleshoot backup issues! You can utilize Diskshadow to test Volume Shadow Copy Service and also check if the Exchange writers are performing as intended. If Diskshadow completes successfully without any error and you are still experiencing issues with backup software, you may need to contact the backup vendor to further troubleshoot the issue.&lt;/p&gt;
&lt;p&gt;Your feedback and comments are most welcome.&lt;/p&gt;
&lt;p&gt;Special thanks to Michael Barta for his contribution to the script, Theo Browning and Jesse Tedoff for reviewing the content.&lt;/p&gt;
&lt;p&gt;&lt;span class="author"&gt;Muralidharan Natarajan&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3569686" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/exchange/archive/tags/Storage/">Storage</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Troubleshooting/">Troubleshooting</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Tips+_2700_n+Tricks/">Tips 'n Tricks</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Tools/">Tools</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Exchange+2010/">Exchange 2010</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/High+Availability/">High Availability</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Mailbox/">Mailbox</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Scripting/">Scripting</category></item><item><title>Exchange 2010 Database Availability Groups and Disk Sector Sizes</title><link>http://blogs.technet.com/b/exchange/archive/2013/04/24/exchange-2010-database-availability-groups-and-disk-sector-sizes.aspx</link><pubDate>Wed, 24 Apr 2013 22:00:00 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:3568865</guid><dc:creator>The Exchange Team</dc:creator><slash:comments>10</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://blogs.technet.com/b/exchange/rsscomments.aspx?WeblogPostID=3568865</wfw:commentRss><comments>http://blogs.technet.com/b/exchange/archive/2013/04/24/exchange-2010-database-availability-groups-and-disk-sector-sizes.aspx#comments</comments><description>&lt;p&gt;These days, some customers are deploying Exchange databases and log files on advanced format (4K) drives.&amp;nbsp; Although these drives support a physical sector size of 4096, many vendors are emulating 512 byte sectors in order to maintain backwards compatibility with application and operating systems.&amp;nbsp; This is known as 512 byte emulation (512e).&amp;nbsp; Windows 2008 and Windows 2008 R2 support native 512 byte and 512 byte emulated advanced format drives.&amp;nbsp; Windows 2012 supports drives of all sector sizes.&amp;nbsp; The sector size presented to applications and the operating system, and how applications respond, directly affects data integrity and performance.&lt;/p&gt;
&lt;p&gt;For more information on sector sizes see the following links:&lt;/p&gt;
&lt;ul class="arrowlist"&gt;
&lt;li&gt;&lt;a title="See 'Understanding the Impact of Large Sector Media for IT Pros' in Windows Server documentation" href="http://technet.microsoft.com/en-us/library/hh147334(v=ws.10).aspx"&gt;Understanding the Impact of Large Sector Media for IT Pros&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="See 'Advanced format (4K) disk compatibility update' on MSDN" href="http://msdn.microsoft.com/en-us/library/windows/desktop/hh848035(v=vs.85).aspx"&gt;Advanced format (4K) disk compatibility update&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a title="See KB 2510009: Microsoft support policy for 4K sector hard drives in Windows" href="http://support.microsoft.com/kb/2510009"&gt;KB 2510009&lt;/a&gt; Microsoft support policy for 4K sector hard drives in Windows&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When deploying an Exchange 2010 Database Availability Group (DAG), the sector sizes of the volumes hosting the databases and log files must be the same across all nodes within the DAG.&amp;nbsp; This requirement is outlined in &lt;a class="bold" title="See 'Understanding Storage Configuration' in Exchange 2010 documentation" href="http://technet.microsoft.com/en-us/library/ee832792(v=exchg.141).aspx"&gt;Understanding Storage Configuration&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote class="blockquote1"&gt;
&lt;p&gt;Support requires that all copies of a database reside on the same physical disk type. For example, it is not a supported configuration to host one copy of a given database on a 512-byte sector disk and another copy of that same database on a 512e disk. Also be aware that 4-kilobyte (KB) sector disks are not supported for any version of Microsoft Exchange and 512e disks are not supported for any version of Exchange prior to Exchange Server 2010 SP1.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Recently, we have noted that some customers have experienced issues with log file replication and replay as the result of sector size mismatch.&amp;nbsp; These issues occur when:&lt;/p&gt;
&lt;ul class="arrowlist"&gt;
&lt;li&gt;Storage drivers are upgraded resulting in the recognized sector size changing.&lt;/li&gt;
&lt;li&gt;Storage firmware is upgraded resulting in the recognized sector size changing.&lt;/li&gt;
&lt;li&gt;New storage is presented or existing storage is replaced with drives of a different sector size.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This mismatch can cause one or more database copies in a &lt;acronym title="Database Availability Group"&gt;DAG&lt;/acronym&gt; to fail, as illustrated below. In my example environment, I have a three-member DAG with a single database that resides on a volume labeled &lt;span class="command lightyellow"&gt;Z&lt;/span&gt; that is replicated between each member.&lt;/p&gt;
&lt;p class="code"&gt;[PS] C:\&amp;gt;Get-MailboxDatabaseCopyStatus *&lt;/p&gt;
&lt;p class="output"&gt;Name Status CopyQueue ReplayQueue LastInspectedLogTime ContentIndex Length Length State &lt;br /&gt;---- ------ --------- ----------- -------------------- ------------ &lt;br /&gt;SectorTest\MBX-1 Mounted 0 0 Healthy &lt;br /&gt;SectorTest\MBX-2 Healthy 0 1 3/19/2013 10:27:50 AM Healthy &lt;br /&gt;SectorTest\MBX-3 Healthy 0 1 3/19/2013 10:27:50 AM Healthy&lt;/p&gt;
&lt;p&gt;If I use &lt;span class="command lightyellow"&gt;FSUTIL&lt;/span&gt; to query the Z volume on each &lt;acronym title="Database Availability Group"&gt;DAG&lt;/acronym&gt; member, we can see that the volume currently has 512 logical bytes per sector and a 512 physical bytes per sector. Thus, the the volume is currently seen by the operating system as having a native 512 byte sector size.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;On MBX-1:&lt;/strong&gt;&lt;/p&gt;
&lt;p class="code"&gt;C:\&amp;gt;fsutil fsinfo ntfsinfo z:&lt;/p&gt;
&lt;p class="consoletext"&gt;NTFS Volume Serial Number :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x18d0bc1dd0bbfed6 &lt;br /&gt;Version :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1 &lt;br /&gt;Number Sectors :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x000000000fdfe7ff &lt;br /&gt;Total Clusters :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000001fbfcff &lt;br /&gt;Free Clusters&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000001fb842c &lt;br /&gt;Total Reserved :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000000000 &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;Bytes Per Sector&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512 &lt;br /&gt;Bytes Per Physical Sector :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512&lt;/span&gt; &lt;br /&gt;&lt;/strong&gt;Bytes Per Cluster :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096 &lt;br /&gt;Bytes Per FileRecord Segment&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1024 &lt;br /&gt;Clusters Per FileRecord Segment : 0 &lt;br /&gt;Mft Valid Data Length :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000040000 &lt;br /&gt;Mft Start Lcn&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000c0000 &lt;br /&gt;Mft2 Start Lcn :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000000002 &lt;br /&gt;Mft Zone Start :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000c0040 &lt;br /&gt;Mft Zone End&amp;nbsp;&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000cc840 &lt;br /&gt;RM Identifier:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EF486117-9094-11E2-BF55-00155D006BA1&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;On MBX-3:&lt;/strong&gt;&lt;/p&gt;
&lt;p class="code"&gt;C:\&amp;gt;fsutil fsinfo ntfsinfo z:&lt;/p&gt;
&lt;p class="consoletext"&gt;NTFS Volume Serial Number :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0ad44aafd44a9d37 &lt;br /&gt;Version :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1 &lt;br /&gt;Number Sectors :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x000000000fdfe7ff &lt;br /&gt;Total Clusters :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000001fbfcff &lt;br /&gt;Free Clusters&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000001fad281 &lt;br /&gt;Total Reserved :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000000000 &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;Bytes Per Sector&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512 &lt;br /&gt;Bytes Per Physical Sector :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt;Bytes Per Cluster :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096 &lt;br /&gt;Bytes Per FileRecord Segment&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1024 &lt;br /&gt;Clusters Per FileRecord Segment : 0 &lt;br /&gt;Mft Valid Data Length :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000040000 &lt;br /&gt;Mft Start Lcn&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000c0000 &lt;br /&gt;Mft2 Start Lcn :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000000002 &lt;br /&gt;Mft Zone Start :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000c0000 &lt;br /&gt;Mft Zone End&amp;nbsp;&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000cc820 &lt;br /&gt;RM Identifier:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B9B00E32-90B2-11E2-94E9-00155D006BA3&lt;/p&gt;
&lt;h2&gt;Effects of storage changes&lt;/h2&gt;
&lt;p&gt;But what happens if there is a change in the way storage is seen on MBX-3, so that the volume now reflects a 512e sector size.&amp;nbsp; This can happen when upgrading storage drivers, upgrading firmware, or presenting new storage that implements advanced format storage.&lt;/p&gt;
&lt;p class="code"&gt;C:\&amp;gt;fsutil fsinfo ntfsinfo z:&lt;/p&gt;
&lt;p class="consoletext"&gt;NTFS Volume Serial Number :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0ad44aafd44a9d37 &lt;br /&gt;Version :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1 &lt;br /&gt;Number Sectors :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x000000000fdfe7ff &lt;br /&gt;Total Clusters :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000001fbfcff &lt;br /&gt;Free Clusters&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000001fad2e7 &lt;br /&gt;Total Reserved :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000000000 &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;Bytes Per Sector&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512 &lt;br /&gt;Bytes Per Physical Sector :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt;Bytes Per Cluster :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096 &lt;br /&gt;Bytes Per FileRecord Segment&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1024 &lt;br /&gt;Clusters Per FileRecord Segment : 0 &lt;br /&gt;Mft Valid Data Length :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000040000 &lt;br /&gt;Mft Start Lcn&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000c0000 &lt;br /&gt;Mft2 Start Lcn :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000000002 &lt;br /&gt;Mft Zone Start :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000c0040 &lt;br /&gt;Mft Zone End&amp;nbsp;&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000cc840 &lt;br /&gt;RM Identifier:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B9B00E32-90B2-11E2-94E9-00155D006BA3&lt;/p&gt;
&lt;p&gt;When reviewing the database copy status, notice that the copy assigned to MBX-3 has failed.&lt;/p&gt;
&lt;p class="code"&gt;[PS] C:\&amp;gt;Get-MailboxDatabaseCopyStatus *&lt;/p&gt;
&lt;p class="consoletext"&gt;Name Status CopyQueue ReplayQueue LastInspectedLogTime ContentIndex Length Length State &lt;br /&gt;---- ------ --------- ----------- -------------------- ------------ &lt;br /&gt;SectorTest\MBX-1 Mounted 0 0 Healthy &lt;br /&gt;SectorTest\MBX-2 Healthy 0 0 3/19/2013 11:13:05 AM Healthy &lt;br /&gt;&lt;span style="color: #ff0000;"&gt;SectorTest\MBX-3 Failed 0 8 3/19/2013 11:13:05 AM Healthy&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The full details of the copy status of MBX-3 can be reviewed to display the detailed error:&lt;/p&gt;
&lt;p class="code"&gt;[PS] C:\&amp;gt;Get-MailboxDatabaseCopyStatus SectorTest\MBX-3 | fl&lt;/p&gt;
&lt;p class="consoletext"&gt;RunspaceId&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 5f4bb58b-39fb-4e3e-b001-f8445890f80a &lt;br /&gt;Identity&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : SectorTest\MBX-3 &lt;br /&gt;Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : SectorTest\MBX-3 &lt;br /&gt;DatabaseName&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : SectorTest &lt;br /&gt;Status&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Failed &lt;br /&gt;MailboxServer&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : MBX-3 &lt;br /&gt;ActiveDatabaseCopy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : mbx-1 &lt;br /&gt;ActivationSuspended&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : False &lt;br /&gt;ActionInitiator&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Service &lt;br /&gt;ErrorMessage&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; :&lt;span style="color: #ff0000;"&gt; The log copier was unable to continue processing for database 'SectorTest\MBX-3' because an error occurred on the target server: Continuous replication - block mode has been terminated. Error: the log file sector size does not match the current volume's sector size (-546) [HResult: 0x80131500]. The copier will automatically retry after a short delay. &lt;br /&gt;&lt;/span&gt;ErrorEventId&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 2152 &lt;br /&gt;ExtendedErrorInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;SuspendComment&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;SinglePageRestore&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 0 &lt;br /&gt;ContentIndexState&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Healthy &lt;br /&gt;ContentIndexErrorMessage&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;CopyQueueLength&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 0 &lt;br /&gt;ReplayQueueLength&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 7 &lt;br /&gt;LatestAvailableLogTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 3/19/2013 11:13:05 AM &lt;br /&gt;LastCopyNotificationedLogTime&amp;nbsp;&amp;nbsp;&amp;nbsp; : 3/19/2013 11:13:05 AM &lt;br /&gt;LastCopiedLogTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 3/19/2013 11:13:05 AM &lt;br /&gt;LastInspectedLogTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 3/19/2013 11:13:05 AM &lt;br /&gt;LastReplayedLogTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 3/19/2013 10:24:24 AM &lt;br /&gt;LastLogGenerated&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 53 &lt;br /&gt;LastLogCopyNotified&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 53 &lt;br /&gt;LastLogCopied&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 53 &lt;br /&gt;LastLogInspected&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 53 &lt;br /&gt;LastLogReplayed&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 46 &lt;br /&gt;LogsReplayedSinceInstanceStart&amp;nbsp;&amp;nbsp; : 0 &lt;br /&gt;LogsCopiedSinceInstanceStart&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : 0 &lt;br /&gt;LatestFullBackupTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;LatestIncrementalBackupTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;LatestDifferentialBackupTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;LatestCopyBackupTime&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;SnapshotBackup&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;SnapshotLatestFullBackup&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;SnapshotLatestIncrementalBackup&amp;nbsp; : &lt;br /&gt;SnapshotLatestDifferentialBackup : &lt;br /&gt;SnapshotLatestCopyBackup&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;LogReplayQueueIncreasing&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : False &lt;br /&gt;LogCopyQueueIncreasing&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : False &lt;br /&gt;OutstandingDumpsterRequests&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : {} &lt;br /&gt;OutgoingConnections&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;IncomingLogCopyingNetwork&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;SeedingNetwork&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : &lt;br /&gt;ActiveCopy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : False&lt;/p&gt;
&lt;p&gt;Using the &lt;a class="bold" title="Download Microsoft Exchange Server Error Code Look-up" href="http://www.microsoft.com/en-us/download/details.aspx?id=985"&gt;Exchange Server Error Code Look-up&lt;/a&gt; tool (ERR.EXE), we can verify the definition of the error code &lt;span class="command lightyellow"&gt;&amp;ndash;546&lt;/span&gt;.&lt;/p&gt;
&lt;p class="code"&gt;D:\Utilities\ERR&amp;gt;err -546&lt;/p&gt;
&lt;p class="consoletext"&gt;# for decimal -546 / hex 0xfffffdde &lt;br /&gt;&amp;nbsp; JET_errLogSectorSizeMismatch&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; esent98.h &lt;br /&gt;# /* the log file sector size does not match the current &lt;br /&gt;# volume's sector size */ &lt;br /&gt;# 1 matches found for "-546"&lt;/p&gt;
&lt;p&gt;In addition, the Application event log may contain the following entries:&lt;/p&gt;
&lt;p class="consoletext"&gt;Log Name:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application &lt;br /&gt; Source:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MSExchangeRepl &lt;br /&gt; Date:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3/19/2013 11:14:58 AM &lt;br /&gt; Event ID:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2152 &lt;br /&gt; Task Category: Service &lt;br /&gt; Level:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Error &lt;br /&gt; User:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N/A &lt;br /&gt; Computer:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MBX-3.exchange.msft &lt;br /&gt; Description: &lt;br /&gt;The log copier was unable to continue processing for database 'SectorTest\MBX-3' because an error occured on the target server: Continuous replication - block mode has been terminated. Error: the log file sector size does not match the current volume's sector size (-546) [HResult: 0x80131500]. The copier will automatically retry after a short delay.&lt;/p&gt;
&lt;h2&gt;The cause&lt;/h2&gt;
&lt;p&gt;&lt;span class="question"&gt;Why does this issue occur?&lt;/span&gt;&lt;br /&gt; Each log file records in the header the sector size of the disk where a log file was created.&amp;nbsp; For example, this is the header of a log file on MBX-1 with a native 512 byte sector size:&lt;/p&gt;
&lt;p class="code"&gt;Z:\SectorTest&amp;gt;eseutil /ml E0100000001.log&lt;/p&gt;
&lt;p class="consoletext"&gt;Extensible Storage Engine Utilities for Microsoft(R) Exchange Server &lt;br /&gt;Version 14.02 &lt;br /&gt;Copyright (C) Microsoft Corporation. All Rights Reserved. &lt;br /&gt;Initiating FILE DUMP mode...&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Base name: E01 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log file: E0100000001.log &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lGeneration: 1 (0x1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checkpoint: (0x38,FFFF,FFFF) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; creation time: 03/19/2013 09:40:14 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prev gen time: 00/00/1900 00:00:00 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Format LGVersion: (7.3704.16.2) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Engine LGVersion: (7.3704.16.2) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Signature: Create time:03/19/2013 09:40:14 Rand:11019164 Computer: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Env SystemPath: z:\SectorTest\ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Env LogFilePath: z:\SectorTest\ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color: #ff0000;"&gt;Env Log Sec size: 512 (matches)&lt;/span&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Env (CircLog,Session,Opentbl,VerPage,Cursors,LogBufs,LogFile,Buffers) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&amp;nbsp;&amp;nbsp;&amp;nbsp; off,&amp;nbsp;&amp;nbsp; 1227,&amp;nbsp; 61350,&amp;nbsp; 16384,&amp;nbsp; 61350,&amp;nbsp;&amp;nbsp; 2048,&amp;nbsp;&amp;nbsp; 2048,&amp;nbsp; 44204) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Using Reserved Log File: false &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Circular Logging Flag (current file): off &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Circular Logging Flag (past files): off &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checkpoint at log creation time: (0x1,8,0)&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Last Lgpos: (0x1,A,0) &lt;br /&gt;Number of database page references:&amp;nbsp; 0 &lt;br /&gt;Integrity check passed for log file: E0100000001.log &lt;br /&gt;Operation completed successfully in 0.62 seconds.&lt;/p&gt;
&lt;p&gt;The sector size that is chosen is determined through one of two methods:&lt;/p&gt;
&lt;ul class="arrowlist"&gt;
&lt;li&gt;If the log stream is brand new, read the sector size from disk and utilize this sector size.&lt;/li&gt;
&lt;li&gt;If the log stream already exists, use the sector size of the given log stream.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In theory, since the sector size of disks should not be changing across nodes and the sector size of all disks must match, this should not cause a problem.&amp;nbsp; In our example, and in some customer environments, these sector sizes are actually changing.&amp;nbsp; Since most of these databases already exist, the existing sector size of the log stream is utilized, which in turn causes a mismatch between DAG members.&lt;/p&gt;
&lt;p&gt;When a mismatch occurs, the issue only prevents the successful use of block mode replication.&amp;nbsp; It does not affect file mode replication.&amp;nbsp; Block mode replication was introduced in Exchange 2010 Service Pack 1.&amp;nbsp; For more information on block mode replication, see &lt;a class="bold" title="See 'New High Availability and Site Resilience Functionality in Exchange 2010 SP1' in Exchange 2010 documentation" href="http://technet.microsoft.com/en-us/library/ff625233(v=exchg.141).aspx"&gt;New High Availability and Site Resilience Functionality in Exchange 2010 SP1&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;span class="question"&gt;Why does this only affect block mode replication?&lt;/span&gt;&lt;br /&gt; When a log file is addressed we reference locations within a log file based off a log file position.&amp;nbsp; The log file position is a combination of the log generation, the sector, and offset within that sector.&amp;nbsp; For example, in the previous header dump you can see the &amp;ldquo;Last LGPOS&amp;rdquo; is (0x1,A,0) &amp;ndash; this just happens to be the last log file position within the log.&amp;nbsp; Let us say we were creating a block for block mode replication within a log file generation 0x1A, sector 8, offset 1 &amp;ndash; this would be reflected as an LGPOS of (0x1a,8,1).&amp;nbsp; When this block is transmitted to a host with an advanced sector size disk, the log position would actually have to be translated.&amp;nbsp; On an advanced format disk this same log position would be (0x1a,1,1).&amp;nbsp; As you can see, it could create significant problems if incorrect positions within a log file were written to or read from.&lt;/p&gt;
&lt;h2&gt;The resolution&lt;/h2&gt;
&lt;p&gt;&lt;span class="question"&gt;How do I go about correcting this condition?&lt;/span&gt; &lt;br /&gt; To fix this condition, first ensure that the same sector sizes exist on all disks across all nodes that host Exchange data, and then reset the log stream.&lt;/p&gt;
&lt;p&gt;The following steps can show you how to do this with minimal downtime.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Ensure that &lt;span class="bold"&gt;Exchange 2010 Service Pack 2&lt;/span&gt; or later is installed on all &lt;acronym title="Database Availability Group"&gt;DAG&lt;/acronym&gt; members.&lt;/p&gt;
&lt;p class="note"&gt;&lt;span class="bold"&gt;Note:&lt;/span&gt; Exchange 2010 Service Pack 1 and earlier do not support 512e volumes).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Disable block mode replication on all hosts.&amp;nbsp; This step requires restarting the replication service on each node.&amp;nbsp; This will temporarily cause all copies to fail on passive nodes when the service is restarted on the active node.&amp;nbsp; When the service is restarted on the passive node only passive copies on that node will enter a failed state.&amp;nbsp; Databases that are mounted and client connections are not impacted by this activity.&amp;nbsp; Block mode replication should remain disabled until all steps have been completed on all DAG members.&lt;ol&gt;
&lt;li&gt;Launch registry editor.&lt;/li&gt;
&lt;li&gt;Navigate to &lt;span class="regkey lightyellow"&gt;HKLM\Software\Microsoft\ExchangeServer\V14\Replay\Parameters&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Right click in the parameters key and select &lt;span class="UI"&gt;New&lt;/span&gt; &amp;ndash;&amp;gt; &lt;span class="UI"&gt;DWORD&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;The name for the DWORD is &lt;span class="regkey lightyellow"&gt;DisableGranularReplication&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;The value for the DWORD is &lt;span class="command lightyellow"&gt;1&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Restart the &lt;span class="UI"&gt;Microsoft Exchange Replication&lt;/span&gt; service on each member using the Shell: &lt;span class="command lightyellow"&gt;Restart-Service MSExchangeRepl&lt;/span&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Validate that all copies of databases across &lt;acronym title="Database Availability Group"&gt;DAG&lt;/acronym&gt; members are healthy at this time:&lt;/p&gt;
&lt;p class="code"&gt;[PS] C:\&amp;gt;Get-MailboxDatabaseCopyStatus *&lt;/p&gt;
&lt;p class="consoletext"&gt;Name Status CopyQueue ReplayQueue LastInspectedLogTime ContentIndex Length Length State &lt;br /&gt;---- ------ --------- ----------- -------------------- ------------ &lt;br /&gt;SectorTest\MBX-1 Mounted 0 0 Healthy &lt;br /&gt;SectorTest\MBX-2 Healthy 0 0 3/19/2013 12:28:34 PM Healthy &lt;br /&gt;SectorTest\MBX-3 Healthy 0 0 3/19/2013 12:28:34 PM Healthy&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Apply the appropriate hotfix for Windows Server 2008 or Windows Server 2008 R2 and Advanced Format Disks.&amp;nbsp; Windows Server 2012 does not require a hotfix.&lt;/p&gt;
&lt;ul class="arrowlist"&gt;
&lt;li&gt;&lt;span class="bol"&gt;Windows 2008 R2:&lt;/span&gt; &lt;a title="See KB 982018: An update that improves the compatibility of Windows 7 and Windows Server 2008 R2 with Advanced Format Disks is available" href="http://support.microsoft.com/kb/982018"&gt;KB 982018&lt;/a&gt; An update that improves the compatibility of Windows 7 and Windows Server 2008 R2 with Advanced Format Disks is available&lt;/li&gt;
&lt;li&gt;&lt;span class="bold"&gt;Windows 2008:&lt;/span&gt; &lt;a title="See KB 2553708: A hotfix rollup that improves Windows Vista and Windows Server 2008 compatibility with Advanced Format disks" href="http://support.microsoft.com/kb/2553708"&gt;KB 2553708&lt;/a&gt; A hotfix rollup that improves Windows Vista and Windows Server 2008 compatibility with Advanced Format disks&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Repeat the procedure that caused the disk sector size to change.&amp;nbsp; For example, if the issue arose as a result of upgrading drivers and firmware on a host utilize your maintenance mode procedures to complete the driver and firmware upgrade on all hosts.&lt;/p&gt;
&lt;p class="note"&gt;&lt;span class="bold"&gt;Note:&lt;/span&gt; If your installation does not allow for you to use the same sector sizes across all DAG members, then the implementation is not supported.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Utilize &lt;span class="command lightyellow"&gt;FSUTIL&lt;/span&gt; to ensure that the sector sizes match across all hosts for the log and database volumes.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;On MBX-1:&lt;/strong&gt;&lt;/p&gt;
&lt;p class="code"&gt;C:\&amp;gt;fsutil fsinfo ntfsinfo z:&lt;/p&gt;
&lt;p class="consoletext"&gt;NTFS Volume Serial Number :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x18d0bc1dd0bbfed6 &lt;br /&gt;Version :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1 &lt;br /&gt;Number Sectors :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x000000000fdfe7ff &lt;br /&gt;Total Clusters :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000001fbfcff &lt;br /&gt;Free Clusters&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000001fac6e6 &lt;br /&gt;Total Reserved :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000000000 &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;Bytes Per Sector&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512 &lt;br /&gt;Bytes Per Physical Sector :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt;Bytes Per Cluster :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096 &lt;br /&gt;Bytes Per FileRecord Segment&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1024 &lt;br /&gt;Clusters Per FileRecord Segment : 0 &lt;br /&gt;Mft Valid Data Length :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000040000 &lt;br /&gt;Mft Start Lcn&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000c0000 &lt;br /&gt;Mft2 Start Lcn :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000000002 &lt;br /&gt;Mft Zone Start :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000c0040 &lt;br /&gt;Mft Zone End&amp;nbsp;&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000cc840 &lt;br /&gt;RM Identifier:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EF486117-9094-11E2-BF55-00155D006BA1&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;On MBX-2&lt;/strong&gt;&lt;/p&gt;
&lt;p class="code"&gt;C:\&amp;gt;fsutil fsinfo ntfsinfo z:&lt;/p&gt;
&lt;p class="consoletext"&gt;NTFS Volume Serial Number :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xfa6a794c6a790723 &lt;br /&gt;Version :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1 &lt;br /&gt;Number Sectors :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x000000000fdfe7ff &lt;br /&gt;Total Clusters :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000001fbfcff &lt;br /&gt;Free Clusters&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000001fac86f &lt;br /&gt;Total Reserved :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000000000 &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;Bytes Per Sector&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512 &lt;br /&gt;Bytes Per Physical Sector :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt;Bytes Per Cluster :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096 &lt;br /&gt;Bytes Per FileRecord Segment&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1024 &lt;br /&gt;Clusters Per FileRecord Segment : 0 &lt;br /&gt;Mft Valid Data Length :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000040000 &lt;br /&gt;Mft Start Lcn&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000c0000 &lt;br /&gt;Mft2 Start Lcn :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000000002 &lt;br /&gt;Mft Zone Start :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000c0040 &lt;br /&gt;Mft Zone End&amp;nbsp;&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000cc840 &lt;br /&gt;RM Identifier:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 5F18A2FC-909E-11E2-8599-00155D006BA2&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;On MBX-3&lt;/strong&gt;&lt;/p&gt;
&lt;p class="code"&gt;C:\&amp;gt;fsutil fsinfo ntfsinfo z:&lt;/p&gt;
&lt;p class="consoletext"&gt;NTFS Volume Serial Number :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0ad44aafd44a9d37 &lt;br /&gt;Version :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 3.1 &lt;br /&gt;Number Sectors :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x000000000fdfe7ff &lt;br /&gt;Total Clusters :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000001fbfcff &lt;br /&gt;Free Clusters&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000001fabfd6 &lt;br /&gt;Total Reserved :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000000000 &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;Bytes Per Sector&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 512 &lt;br /&gt;Bytes Per Physical Sector :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt;Bytes Per Cluster :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 4096 &lt;br /&gt;Bytes Per FileRecord Segment&amp;nbsp;&amp;nbsp;&amp;nbsp; : 1024 &lt;br /&gt;Clusters Per FileRecord Segment : 0 &lt;br /&gt;Mft Valid Data Length :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000040000 &lt;br /&gt;Mft Start Lcn&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000c0000 &lt;br /&gt;Mft2 Start Lcn :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000000000000002 &lt;br /&gt;Mft Zone Start :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000c0040 &lt;br /&gt;Mft Zone End&amp;nbsp;&amp;nbsp; :&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000000000cc840 &lt;br /&gt;RM Identifier:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; B9B00E32-90B2-11E2-94E9-00155D006BA3&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;At this point, the &lt;acronym title="Database Availability Group"&gt;DAG&lt;/acronym&gt; should be stable, and replication should be occurring as expected between databases using file mode. In order to restore block mode replication and fully recognize the new disk sector sizes, the log stream must be reset.&lt;/p&gt;
&lt;div class="alert"&gt;
&lt;p&gt;&lt;span class="bold"&gt;IMPORTANT:&lt;/span&gt; Please note the following about resetting the log stream:&lt;/p&gt;
&lt;ul class="arrowlist"&gt;
&lt;li&gt;The log stream must be fully reset on all database copies.&lt;/li&gt;
&lt;li&gt;All lagged database copies must be replayed to current log.&lt;/li&gt;
&lt;li&gt;If backups are utilized as a recovery method this will introduce a gap in the log file sequence preventing&amp;nbsp; a full roll forward recovery from the last backup point.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;p&gt;You can use the following steps to reset the log stream:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Validate the existence of a replay queue:&lt;/p&gt;
&lt;p class="code"&gt;[PS] C:\&amp;gt;Get-MailboxDatabaseCopyStatus *&lt;/p&gt;
&lt;p class="consoletext"&gt;Name Status CopyQueue ReplayQueue LastInspectedLogTime ContentIndex Length Length State &lt;br /&gt;---- ------ --------- ----------- -------------------- ------------ &lt;br /&gt;SectorTest\MBX-1 Mounted 0 0 Healthy &lt;br /&gt;SectorTest\MBX-2 Healthy 0 0 3/19/2013 1:34:37 PM Healthy &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;SectorTest\MBX-3 Healthy 0 138 3/19/2013 1:34:37 PM Healthy&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set the replay and truncation lag times values to 0 on all database copies. This will ensure that logs replay to current while allowing the databases to remain online. In this example, MBX-3 is a lagged copy database. When the configuration change is detected, log replay will occur allowing the lagged copy to eventually catch up. Note that depending on the replay lag time, this could take several hours before proceeding to next steps.&lt;/p&gt;
&lt;p class="code"&gt;[PS] C:\&amp;gt;Set-MailboxDatabaseCopy SectorTest\MBX-3 -ReplayLagTime 0.0:0:0 -TruncationLagTime 0.0:0:0&lt;/p&gt;
&lt;p&gt;Validate that the replay queue has caught up and is near zero.&lt;/p&gt;
&lt;p class="code"&gt;[PS] C:\&amp;gt;Get-MailboxDatabaseCopyStatus *&lt;/p&gt;
&lt;p class="consoletext"&gt;Name Status CopyQueue ReplayQueue LastInspectedLogTime ContentIndex Length Length State &lt;br /&gt;---- ------ --------- ----------- -------------------- ------------ &lt;br /&gt;SectorTest\MBX-1 Mounted 0 0 Healthy &lt;br /&gt;SectorTest\MBX-2 Healthy 0 0 3/19/2013 1:34:37 PM Healthy &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;SectorTest\MBX-3 Healthy 0 0 3/19/2013 1:34:37 PM Healthy&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dismount the database.&lt;/p&gt;
&lt;p class="alert"&gt;&lt;span class="bold"&gt;CAUTION:&lt;/span&gt; Dismounting the database will cause a client interruption, which will continue until the database is mounted.&lt;/p&gt;
&lt;p class="code"&gt;[PS] C:\&amp;gt;Dismount-Database SectorTest&lt;/p&gt;
&lt;p class="consoletext"&gt;Confirm &lt;br /&gt;Are you sure you want to perform this action? &lt;br /&gt;Dismounting database "SectorTest". This may result in reduced availability for mailboxes in the database. &lt;br /&gt;[Y] Yes&amp;nbsp; [A] Yes to All&amp;nbsp; [N] No&amp;nbsp; [L] No to All&amp;nbsp; [?] Help (default is "Y"): y &lt;br /&gt;[PS] C:\&amp;gt;Get-MailboxDatabaseCopyStatus SectorTest\* &lt;br /&gt;Name Status CopyQueue ReplayQueue LastInspectedLogTime ContentIndex Length Length State &lt;br /&gt;---- ------ --------- ----------- -------------------- ------------ &lt;br /&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;SectorTest\MBX-1 Dismounted 0 0 Healthy&lt;/strong&gt; &lt;br /&gt;&lt;/span&gt;SectorTest\MBX-2 Healthy 0 0 3/25/2013 5:41:54 AM Healthy &lt;br /&gt;SectorTest\MBX-3 Healthy 0 0 3/25/2013 5:41:54 AM Healthy&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On each &lt;acronym title="Database Availability Group"&gt;DAG&lt;/acronym&gt; member hosting a database copy, open a command prompt and navigate to the log file directory. Execute &lt;span class="command lightyellow"&gt;eseutil /r ENN&lt;/span&gt; to perform a soft recovery. This step is necessary to ensure that all log files are played into all copies.&lt;/p&gt;
&lt;p class="code"&gt;Z:\SectorTest&amp;gt;eseutil /r e01&lt;/p&gt;
&lt;p class="consoletext"&gt;Extensible Storage Engine Utilities for Microsoft(R) Exchange Server &lt;br /&gt;Version 14.02 &lt;br /&gt;Copyright (C) Microsoft Corporation. All Rights Reserved. &lt;br /&gt;Initiating RECOVERY mode... &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Logfile base name: e01 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log files: &amp;lt;current directory&amp;gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System files: &amp;lt;current directory&amp;gt; &lt;br /&gt;Performing soft recovery... &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Restore Status (% complete)&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp;&amp;nbsp; 10&amp;nbsp;&amp;nbsp; 20&amp;nbsp;&amp;nbsp; 30&amp;nbsp;&amp;nbsp; 40&amp;nbsp;&amp;nbsp; 50&amp;nbsp;&amp;nbsp; 60&amp;nbsp;&amp;nbsp; 70&amp;nbsp;&amp;nbsp; 80&amp;nbsp;&amp;nbsp; 90&amp;nbsp; 100 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |----|----|----|----|----|----|----|----|----|----| &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ................................................... &lt;br /&gt;Operation completed successfully in 0.203 seconds.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On each &lt;acronym title="Database Availability Group"&gt;DAG&lt;/acronym&gt; member hosting a database copy open a command prompt and navigate to the database directory. Execute &lt;span class="command lightyellow"&gt;eseutil /mh &amp;lt;EDB&amp;gt;&lt;/span&gt; against the database to dump the header. You must validate that the following information is correct on all database copies:&lt;/p&gt;
&lt;ul class="arrowlist"&gt;
&lt;li&gt;All copies of the database show in clean shutdown.&lt;/li&gt;
&lt;li&gt;All copies of the database show the same last detach information.&lt;/li&gt;
&lt;li&gt;All copies of the database show the same last consistent information.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is example output of a full /mh dump followed by a comparison of the data across our three sample copies.&lt;/p&gt;
&lt;p class="code"&gt;Z:\SectorTest&amp;gt;eseutil /mh SectorTest.edb&lt;/p&gt;
&lt;p class="consoletext"&gt;Extensible Storage Engine Utilities for Microsoft(R) Exchange Server &lt;br /&gt;Version 14.02 &lt;br /&gt;Copyright (C) Microsoft Corporation. All Rights Reserved. &lt;br /&gt;Initiating FILE DUMP mode... &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Database: SectorTest.edb &lt;br /&gt;DATABASE HEADER: &lt;br /&gt;Checksum Information: &lt;br /&gt;Expected Checksum: 0x010f4400 &lt;br /&gt;&amp;nbsp; Actual Checksum: 0x010f4400 &lt;br /&gt;Fields: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; File Type: Database &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checksum: 0x10f4400 &lt;br /&gt;&amp;nbsp;&amp;nbsp; Format ulMagic: 0x89abcdef &lt;br /&gt;&amp;nbsp;&amp;nbsp; Engine ulMagic: 0x89abcdef &lt;br /&gt;Format ulVersion: 0x620,17 &lt;br /&gt;Engine ulVersion: 0x620,17 &lt;br /&gt;Created ulVersion: 0x620,17 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DB Signature: Create time:03/19/2013 09:40:15 Rand:11009066 Computer: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cbDbPage: 32768 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dbtime: 601018 (0x92bba) &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;State: Clean Shutdown&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log Required: 0-0 (0x0-0x0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log Committed: 0-0 (0x0-0x0) &lt;br /&gt;&amp;nbsp;&amp;nbsp; Log Recovering: 0 (0x0) &lt;br /&gt;&amp;nbsp; GenMax Creation: 00/00/1900 00:00:00 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Shadowed: Yes &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Last Objid: 3350 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Scrub Dbtime: 0 (0x0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Scrub Date: 00/00/1900 00:00:00 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Repair Count: 0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Repair Date: 00/00/1900 00:00:00 &lt;br /&gt;Old Repair Count: 0 &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;Last Consistent: (0x138,3FB,1A4)&amp;nbsp; 03/19/2013 13:44:11&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Last Attach: (0x111,9,86)&amp;nbsp; 03/19/2013 13:42:29 &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;Last Detach: (0x138,3FB,1A4)&amp;nbsp; 03/19/2013 13:44:11 &lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dbid: 1 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log Signature: Create time:03/19/2013 09:40:14 Rand:11019164 Computer: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OS Version: (6.1.7601 SP 1 NLS ffffffff.ffffffff) &lt;br /&gt; &lt;br /&gt;Previous Full Backup: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log Gen: 0-0 (0x0-0x0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mark: (0x0,0,0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mark: 00/00/1900 00:00:00 &lt;br /&gt; &lt;br /&gt;Previous Incremental Backup: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log Gen: 0-0 (0x0-0x0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mark: (0x0,0,0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mark: 00/00/1900 00:00:00 &lt;br /&gt; &lt;br /&gt;Previous Copy Backup: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log Gen: 0-0 (0x0-0x0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mark: (0x0,0,0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mark: 00/00/1900 00:00:00 &lt;br /&gt; &lt;br /&gt;Previous Differential Backup: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log Gen: 0-0 (0x0-0x0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mark: (0x0,0,0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mark: 00/00/1900 00:00:00 &lt;br /&gt; &lt;br /&gt;Current Full Backup: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log Gen: 0-0 (0x0-0x0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mark: (0x0,0,0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mark: 00/00/1900 00:00:00 &lt;br /&gt; &lt;br /&gt;Current Shadow copy backup: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log Gen: 0-0 (0x0-0x0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mark: (0x0,0,0) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Mark: 00/00/1900 00:00:00&amp;nbsp; &lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpgUpgrade55Format: 0 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; cpgUpgradeFreePages: 0 &lt;br /&gt;cpgUpgradeSpaceMapPages: 0&amp;nbsp; &lt;br /&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ECC Fix Success Count: none &lt;br /&gt;&amp;nbsp;&amp;nbsp; Old ECC Fix Success Count: none &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ECC Fix Error Count: none &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Old ECC Fix Error Count: none &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Bad Checksum Error Count: none &lt;br /&gt;Old bad Checksum Error Count: none&amp;nbsp; &lt;br /&gt; &lt;br /&gt;&amp;nbsp; Last checksum finish Date: 03/19/2013 13:11:36 &lt;br /&gt;Current checksum start Date: 00/00/1900 00:00:00 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Current checksum page: 0 &lt;br /&gt; &lt;br /&gt;Operation completed successfully in 0.47 seconds.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MBX-1:&lt;/strong&gt;&lt;/p&gt;
&lt;p class="consoletext"&gt;&lt;span style="color: #ff0000;"&gt;State: Clean Shutdown &lt;br /&gt;Last Consistent: (0x138,3FB,1A4)&amp;nbsp; 03/19/2013 13:44:11 &lt;br /&gt;Last Detach: (0x138,3FB,1A4)&amp;nbsp; 03/19/2013 13:44:11&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MBX-2:&lt;/strong&gt;&lt;/p&gt;
&lt;p class="consoletext"&gt;&lt;span style="color: #ff0000;"&gt;State: Clean Shutdown &lt;br /&gt;Last Consistent: (0x138,3FB,1A4)&amp;nbsp; 03/19/2013 13:44:12 &lt;br /&gt;Last Detach: (0x138,3FB,1A4)&amp;nbsp; 03/19/2013 13:44:12&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MBX-3:&lt;/strong&gt;&lt;/p&gt;
&lt;p class="consoletext"&gt;&lt;span style="color: #ff0000;"&gt;State: Clean Shutdown &lt;br /&gt;Last Consistent: (0x138,3FB,1A4)&amp;nbsp; 03/19/2013 13:44:13 &lt;br /&gt;Last Detach: (0x138,3FB,1A4)&amp;nbsp; 03/19/2013 13:44:13&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;In this case, the values match across all copies so further steps can be performed.&lt;/p&gt;
&lt;p class="alert"&gt;If the values do not match across copies for any reason, do not continue and please contact Microsoft support.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Reset the log file generation for the database.&lt;/p&gt;
&lt;p class="note"&gt;&lt;span class="bold"&gt;Note:&lt;/span&gt; Use &lt;span class="cmdlet lightyellow"&gt;Get-MailboxDatabaseCopyStatus&lt;/span&gt; to record database locations and status prior to performing this activity.&lt;/p&gt;
&lt;p&gt;Locate the log file directory for each ACTIVE (DISMOUNTED) database. Remove all log files from this directory first. Failure to remove log files from the ACTIVE (DISMOUNTED) database may result in the Replication service recopying log files, a failure of this procedure, and subsequent need to reseed all database copies.&lt;/p&gt;
&lt;p class="alert"&gt;&lt;span class="bold"&gt;IMPORTANT:&lt;/span&gt; If log files are located in the same location as the database and catalog data folder, take precautions to not remove the database or the catalog data folder.&lt;/p&gt;
&lt;p&gt;In our example MBX-1 hosts the ACTIVE (DISMOUNTED) copy.&lt;/p&gt;
&lt;p class="code"&gt;[PS] C:\&amp;gt;Get-MailboxDatabaseCopyStatus SectorTest\*&lt;/p&gt;
&lt;p class="consoletext"&gt;Name Status CopyQueue ReplayQueue LastInspectedLogTime ContentIndex Length Length State &lt;br /&gt;---- ------ --------- ----------- -------------------- ------------ &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;SectorTest\MBX-1 Dismounted 0 0 Healthy&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt;SectorTest\MBX-2 Healthy 0 0 3/25/2013 5:41:54 AM Healthy &lt;br /&gt;SectorTest\MBX-3 Healthy 0 0 3/25/2013 5:41:54 AM Healthy&lt;/p&gt;
&lt;p&gt;Locate the log file directory for each PASSIVE database. Remove all log files from this directory. Failure to remove all log files could result in this procedure failing, and the need to reseed this or all database copies. If log files are located in the same location as the database and catalog data folder take precautions to not remove the database or the catalog data folder.&lt;/p&gt;
&lt;p&gt;In our example MBX-2 and MBX-3 host the passive database copies.&lt;/p&gt;
&lt;p class="code"&gt;[PS] C:\&amp;gt;Get-MailboxDatabaseCopyStatus SectorTest\*&lt;/p&gt;
&lt;p class="consoletext"&gt;Name Status CopyQueue ReplayQueue LastInspectedLogTime ContentIndex Length Length State &lt;br /&gt;---- ------ --------- ----------- -------------------- ------------ &lt;br /&gt;SectorTest\MBX-1 Dismounted 0 0 Healthy &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;SectorTest\MBX-2 Healthy 0 0 3/25/2013 5:41:54 AM Healthy &lt;br /&gt;SectorTest\MBX-3 Healthy 0 0 3/25/2013 5:41:54 AM Healthy&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Mount the database using &lt;span class="command lightyellow"&gt;Mount-Database &amp;lt;DBNAME&amp;gt;&lt;/span&gt;, and verify it has mounted.&lt;/p&gt;
&lt;p class="code"&gt;[PS] C:\&amp;gt;Mount-Database SectorTest &lt;br /&gt; [PS] C:\&amp;gt;Get-MailboxDatabaseCopyStatus *&lt;/p&gt;
&lt;p class="consoletext"&gt;Name Status CopyQueue ReplayQueue LastInspectedLogTime ContentIndex Length Length State &lt;br /&gt;---- ------ --------- ----------- -------------------- ------------ &lt;br /&gt;&lt;strong&gt;&lt;span style="color: #ff0000;"&gt;SectorTest\MBX-1 Mounted 0 0 Healthy&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt;SectorTest\MBX-2 Healthy 0 1 3/25/2013 5:57:28 AM Healthy &lt;br /&gt;SectorTest\MBX-3 Healthy 0 1 3/25/2013 5:57:28 AM Healthy&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Suspend and resume all passive database copies.&lt;/p&gt;
&lt;p class="note"&gt;&lt;span class="alert"&gt;Note: The error on suspending the active database copy is expected.&lt;/span&gt;&lt;/p&gt;
&lt;p class="code"&gt;[PS] C:\&amp;gt;Get-MailboxDatabaseCopyStatus SectorTest\* | Suspend-MailboxDatabaseCopy&lt;/p&gt;
&lt;p class="consoletext"&gt;The suspend operation can't proceed because database 'SectorTest' on Exchange Mailbox server 'MBX-1' is the active mailbox database copy. &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + CategoryInfo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : InvalidOperation: (SectorTest\MBX-1:DatabaseCopyIdParameter) [Suspend-MailboxDatabaseCopy], InvalidOperationException &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + FullyQualifiedErrorId : 5083D28B,Microsoft.Exchange.Management.SystemConfigurationTasks.SuspendDatabaseCopy &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; + PSComputerName&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : mbx-1.exchange.msft&lt;/p&gt;
&lt;p class="note"&gt;&lt;span class="alert"&gt;Note: The error on resuming the active database copy is expected.&lt;/span&gt;&lt;/p&gt;
&lt;p class="code"&gt;[PS] C:\&amp;gt;Get-MailboxDatabaseCopyStatus SectorTest\* | Resume-MailboxDatabaseCopy&lt;/p&gt;
&lt;p class="consoletext"&gt;WARNING: The Resume operation won't have an effect on database replication because database 'SectorTest' hosted on server 'MBX-1' is the active mailbox database.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Validate replication health.&lt;/p&gt;
&lt;p class="code"&gt;[PS] C:\&amp;gt;Get-MailboxDatabaseCopyStatus *&lt;/p&gt;
&lt;p class="consoletext"&gt;Name Status CopyQueue ReplayQueue LastInspectedLogTime ContentIndex Length Length State &lt;br /&gt;---- ------ --------- ----------- -------------------- ------------ &lt;br /&gt;SectorTest\MBX-1 Mounted 0 0 Healthy &lt;br /&gt;SectorTest\MBX-2 &lt;strong&gt;&lt;span style="color: #ff0000;"&gt;Healthy&lt;/span&gt;&lt;/strong&gt; 0 0 3/19/2013 1:56:12 PM Healthy &lt;br /&gt;SectorTest\MBX-3 &lt;strong&gt;&lt;span style="color: #ff0000;"&gt;Healthy&lt;/span&gt;&lt;/strong&gt; 0 0 3/19/2013 1:56:12 PM Healthy&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Using &lt;span class="cmdlet lightyellow"&gt;Set-MailboxDatabaseCopy&lt;/span&gt;, reconfigure any replay lag or truncation lag time on the database copy. This example implements a 7 day replay lag time.&lt;/p&gt;
&lt;p class="code"&gt;set-mailboxdatabasecopy &amp;ndash;identity SectorTest\MBX-3 &amp;ndash;replayLagTime 7.0:0:0&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Repeat the previous steps for all databases in the &lt;acronym title="Database Availability Group"&gt;DAG&lt;/acronym&gt; including those databases that have a single copy.&lt;/p&gt;
&lt;p class="alert"&gt;&lt;span class="bold"&gt;IMPORTANT:&lt;/span&gt; DO NOT proceed to the next step until all databases have been reset.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enable block mode replication. Using registry editor navigate to &lt;span class="regkey lightyellow"&gt;HKLM \Software\Microsoft\ExchangeServer \V14 \Replay&lt;/span&gt;, and then remove the &lt;span class="regkey lightyellow"&gt;DisableGranularReplication&lt;/span&gt; DWORD value.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Restart the replication service on each DAG member.&lt;/p&gt;
&lt;p class="code"&gt;Restart-Service MSExchangeREPL&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Validate database health using &lt;span class="cmdlet lightyellow"&gt;Get-MailboxDatabaseCopyStatus&lt;/span&gt;.&lt;/p&gt;
&lt;p class="code"&gt;[PS] C:\&amp;gt;Get-MailboxDatabaseCopyStatus *&lt;/p&gt;
&lt;p class="consoletext"&gt;Name Status CopyQueue ReplayQueue LastInspectedLogTime ContentIndex Length Length State &lt;br /&gt;---- ------ --------- ----------- -------------------- ------------ &lt;br /&gt;SectorTest\MBX-1 Healthy 0 0 3/19/2013 2:25:56 PM Healthy &lt;br /&gt;SectorTest\MBX-2 Mounted 0 0 Healthy &lt;br /&gt;SectorTest\MBX-3 Healthy 0 230 3/19/2013 2:25:56 PM Healthy&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Dump the header of a log file and verify that the new sector size is reflected in the log file stream. To do this, open a command prompt and navigate to the log file directory for the database on the active node. Run &lt;span class="command lightyellow"&gt;eseutil /ml&lt;/span&gt; against any log within the directory, and verify that the sector size reflects &lt;span class="command"&gt;4096&lt;/span&gt; and &lt;span class="command"&gt;(matches)&lt;/span&gt;.&lt;/p&gt;
&lt;p class="code"&gt;Z:\SectorTest&amp;gt;eseutil /ml E0100000001.log&lt;/p&gt;
&lt;p class="consoletext"&gt;Extensible Storage Engine Utilities for Microsoft(R) Exchange Server &lt;br /&gt;Version 14.02 &lt;br /&gt;Copyright (C) Microsoft Corporation. All Rights Reserved. &lt;br /&gt; &lt;br /&gt;Initiating FILE DUMP mode...&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Base name: E01 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Log file: E0100000001.log &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lGeneration: 1 (0x1) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checkpoint: (0x17B,FFFF,FFFF) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; creation time: 03/19/2013 13:56:11 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prev gen time: 00/00/1900 00:00:00 &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Format LGVersion: (7.3704.16.2) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Engine LGVersion: (7.3704.16.2) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Signature: Create time:03/19/2013 13:56:11 Rand:2996669 Computer: &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Env SystemPath: z:\SectorTest\ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Env LogFilePath: z:\SectorTest\ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;strong&gt;&lt;span style="color: #ff0000;"&gt;Env Log Sec size: 4096 (matches)&lt;/span&gt;&lt;/strong&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Env (CircLog,Session,Opentbl,VerPage,Cursors,LogBufs,LogFile,Buffers) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (&amp;nbsp;&amp;nbsp;&amp;nbsp; off,&amp;nbsp;&amp;nbsp; 1227,&amp;nbsp; 61350,&amp;nbsp; 16384,&amp;nbsp; 61350,&amp;nbsp;&amp;nbsp; 2048,&amp;nbsp;&amp;nbsp;&amp;nbsp; 256,&amp;nbsp; 44204) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Using Reserved Log File: false &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Circular Logging Flag (current file): off &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Circular Logging Flag (past files): off &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Checkpoint at log creation time: (0x1,1,0)&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Last Lgpos: (0x1,2,0) &lt;br /&gt;Number of database page references:&amp;nbsp; 0 &lt;br /&gt;Integrity check passed for log file: E0100000001.log &lt;br /&gt;Operation completed successfully in 0.250 seconds.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If the above steps have been completed successfully, and the log file sequence recognizes a 4096 sector size, then this issue has been resolved.&lt;/p&gt;
&lt;p&gt;This guidance was validated in the following configurations:&lt;/p&gt;
&lt;ul class="arrowlist"&gt;
&lt;li&gt;Windows 2008 R2 Enterprise with Exchange 2010 Service Pack 2&lt;/li&gt;
&lt;li&gt;Windows 2008 R2 Enterprise with Exchange 2010 Service Pack 3&lt;/li&gt;
&lt;li&gt;Windows 2008 SP2 Enterprise with Exchange 2010 Service Pack 3&lt;/li&gt;
&lt;li&gt;Windows 2012 Datacenter with Exchange 2010 Service Pack 3&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;span class="author"&gt;Tim McMichael&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.technet.com/aggbug.aspx?PostID=3568865" width="1" height="1"&gt;</description><category domain="http://blogs.technet.com/b/exchange/archive/tags/Storage/">Storage</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Tips+_2700_n+Tricks/">Tips 'n Tricks</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Documentation/">Documentation</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Exchange+2010/">Exchange 2010</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/High+Availability/">High Availability</category><category domain="http://blogs.technet.com/b/exchange/archive/tags/Planning+and+Architecture/">Planning and Architecture</category></item></channel></rss>