<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Chris Forster</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/chrisforster/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/chrisforster/feed.xml</link>
    <description>The Online Home of Chris Forster</description>
    <lastBuildDate>Wed, 17 Apr 2019 03:18:54 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Windows Phone 7 (WP7) and Facebook</title>
      <link>https://docs.microsoft.com/archive/blogs/chrisforster/windows-phone-7-wp7-and-facebook</link>
      <pubDate>Mon, 07 Feb 2011 00:58:56 GMT</pubDate>
      <dc:creator><![CDATA[Chris Forster]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/chrisforster/2011/02/07/windows-phone-7-wp7-and-facebook/</guid>
      <description><![CDATA[One Saturday morning in late January I picked up my WP7 to discover that my girlfriend had...]]></description>
      <content:encoded><![CDATA[<p class="MsoNormal"><span style="color: black; font-size: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-family: Calibri;">One Saturday morning in late January I picked up my WP7 to discover that my girlfriend had disappeared from my tile screen, and was no longer listed in my people hub. What had I done? Did I forget to call? Did I forget her birthday? Well probably :), but that was not the problem! <o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color: black; font-size: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-family: Calibri;">I had also found that some of my contacts associations (those connecting Live Contacts with Facebook contacts), had disappeared. It appears my phone had resynchronized my contacts overnight.<o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color: black; font-size: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-family: Calibri;">After reapplying the associations, everything seemed good again except for the fact my girlfriend was completely missing from my phone. I logged into Facebook and confirmed I was still listed &ldquo;in a relationship&rdquo; with her and indeed she was listed in my friends list. <o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color: black; font-size: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-family: Calibri;">I logged into Windows Live Contacts (which I also synchronizes with Facebook), and found that she was missing from there too. My feeling was that some communication was broken between Facebook and other applications (e.g. Windows Live and WP7). <o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color: black; font-size: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-family: Calibri;">My troubleshooting took me down the privacy root, and although I made no recent changes I checked each of the privacy settings in my Facebook and Windows Live profiles. Still no luck!<o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color: black; font-size: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-family: Calibri;">Given that it was a Saturday and I had lots to do. I grabbed her details of my very old phone and manually added her as a contact through Live contacts. Unfortunately then I still didn&rsquo;t get any Facebook connectivity for her on my WP7.<o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color: black; font-size: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-family: Calibri;">A couple of weeks later I have found the problem. She had changed her privacy settings, and although her profile appears no differently to me through Facebook, I had not been able to use any other applications to view the same data.<o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-family: Calibri;"><span style="color: black; font-size: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;">When she changed her &ldquo;App Settings&rdquo; privacy to allow &ldquo;All Platforms&rdquo;, or the specific platforms I use, the problem was completely&nbsp;resolved. </span><span style="font-family: 'Times New Roman','serif'; color: black; font-size: 12pt; mso-fareast-font-family: 'Times New Roman';"><o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="color: black; font-size: 12pt; mso-ascii-font-family: Calibri; mso-fareast-font-family: 'Times New Roman'; mso-hansi-font-family: Calibri; mso-bidi-font-family: Calibri;"><span style="font-family: Calibri;">In conclusion Facebook seems to use privacy settings of my individual friends&nbsp;rather than those from my profile to determine if I can see their information from&nbsp;my other connected applications.&nbsp;&nbsp;This means if you want to tighten up this specific Facebook privacy setting, you should consider whether any of your friends use connected Facebook applications.</span></span></p>]]></content:encoded>
    </item>
    <item>
      <title>When using thread impersonation “DTCGetTransactionManagerEx”is failing from the MSDTC groups passive cluster node</title>
      <link>https://docs.microsoft.com/archive/blogs/chrisforster/when-using-thread-impersonation-dtcgettransactionmanagerexis-failing-from-the-msdtc-groups-passive-cluster-node</link>
      <pubDate>Tue, 08 Jun 2010 02:12:00 GMT</pubDate>
      <dc:creator><![CDATA[Chris Forster]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/chrisforster/2010/06/08/when-using-thread-impersonation-dtcgettransactionmanagerexis-failing-from-the-msdtc-groups-passive-cluster-node/</guid>
      <description><![CDATA[The Problem





You could be encountering this problem...]]></description>
      <content:encoded><![CDATA[<p class="MsoNormal"><i><span style="text-decoration: underline;"><span style="font-family: Calibri;"><span style="font-size: small;">The Problem</span></span></span></i></p>
<p class="MsoNormal"><i><span style="text-decoration: underline;"><span style="font-family: Calibri;"><span style="font-size: small;"></span></span></span></i></p>
<p class="MsoNormal"><i><span style="text-decoration: underline;"><span style="font-family: Calibri;"><span style="font-size: small;"></span></span></span></i></p>
<p class="MsoNormal"><i><span style="text-decoration: underline;"><span style="font-family: Calibri;"><span style="font-size: small;"></span></span></span></i></p>
<p class="MsoNormal"><i><span style="text-decoration: underline;"><span style="font-family: Calibri;"><span style="font-size: small;"><o:p></o:p></span></span></span></i></p>
<p class="MsoNormal"><i><span style="text-decoration: underline;"><o:p><span style="text-decoration: none;"><span style="font-family: Calibri; font-size: small;"></span></span></o:p></span></i></p>
<p class="MsoNormal"><span style="font-family: Calibri;"><span style="font-size: small;">You could be encountering this problem if:</span></span></p>
<p class="MsoNormal"><span style="font-family: Calibri;"><span style="font-size: small;"></span></span></p>
<p class="MsoNormal"><span style="font-family: Calibri;"><span style="font-size: small;"><o:p></o:p></span></span></p>
<p class="MsoListParagraph"><span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size: small;">&middot;</span><span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: Calibri;"><span style="font-size: small;">You are using an application calling the API &ldquo;DTCGetTransactionManagerExW&rdquo; from a thread impersonating a different user to that which the process is running as;<o:p></o:p></span></span></p>
<p class="MsoListParagraph"><o:p><span style="font-family: Calibri; font-size: small;">&nbsp;</span></o:p><span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size: small;">&middot;</span><span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: Calibri;"><span style="font-size: small;">The application is running and failing on the MSDTC passive node of an&nbsp;Windows 2003 Cluster (and it is working when run on the MSDTC active node);<o:p></o:p></span></span></p>
<p class="MsoListParagraph"><o:p><span style="font-family: Calibri; font-size: small;">&nbsp;</span></o:p><span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size: small;">&middot;</span><span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-family: Calibri;"><span style="font-size: small;">You have configured the MSDTC network name property to &ldquo;Enable Kerberos Authentication&rdquo;;<o:p></o:p></span></span></p>
<p class="MsoListParagraph"><o:p><span style="font-family: Calibri; font-size: small;">&nbsp;</span></o:p><span style="font-family: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size: small;">&middot;</span><span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: small;"><span style="font-family: Calibri;">You have configured the MSDTC CM to use &ldquo;Incoming caller authentication required&rdquo;.</span></span></p>
<p class="MsoListParagraph"><span style="font-size: small;"><span style="font-family: Calibri;"><o:p></o:p></span></span></p>
<p class="MsoListParagraph"><i><span style="text-decoration: underline;"><span style="font-size: small;"><span style="font-family: Calibri;">The Cause</span></span></span></i></p>
<p class="MsoNormal"><span style="font-size: small;"><span style="font-family: Calibri;">The &ldquo;<span style="color: black;">DTCGetTransactionManagerEx&rdquo; </span>API called from a &lsquo;client process&rsquo; is being run from a thread that is impersonating the &lsquo;Thread User&rsquo;. The thread subsequently created which is making the request to the MSDTC service is still running as &lsquo;Process User&rsquo;. This request is then sent across to the MSDTC service encrypted by a ticket for the &lsquo;Process User&rsquo;.<o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size: small;"><span style="font-family: Calibri;">When the &lsquo;MSDTC process&rsquo; is then sending the message back to &lsquo;client process&rsquo;, it is assuming it can encrypt it using the same ticket, however the thread on which the &lsquo;client process&rsquo; actually receives the call is different to the outgoing call&rsquo;s thread and running as the &lsquo;Thread User&rsquo;. <o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size: small;"><span style="font-family: Calibri;">Since this &lsquo;Thread User&rsquo; does not match the &lsquo;Process User&rsquo;, it is not permitted to decrypt the message and therefore is failing. </span></span></p>
<p class="MsoNormal"><span style="font-size: small;"><span style="font-family: Calibri;">The problem is caused because the incoming and outgoing requests should both be run from threads in the same user context and currently they are not. This is a problem within the MSDTC Proxy code.</span></span></p>
<p class="MsoNormal"><span style="font-size: small;"><span style="font-family: Calibri;"></span></span></p>
<p class="MsoNormal"><i><span style="text-decoration: underline;"><span style="font-size: small;"><span style="font-family: Calibri;">The Workar</span></span></span></i><i><span style="text-decoration: underline;"><span style="font-size: small;"><span style="font-family: Calibri;">ound</span></span></span></i></p>
<p class="MsoNormal"><i><span style="text-decoration: underline;"><span style="font-size: small;"><span style="font-family: Calibri;"></span></span></span></i></p>
<p class="MsoNormal"><i><span style="text-decoration: underline;"><span style="font-size: small;"><span style="font-family: Calibri;"></span></span></span></i></p>
<p class="MsoNormal"><span style="font-family: Calibri; font-size: small;">To workaround the issue you can use one of the following options:</span></p>
<p class="MsoNormal"><span style="font-family: Calibri; font-size: small;"></span></p>
<p class="MsoListParagraph"><span style="mso-fareast-font-family: Calibri;"><span style="mso-list: Ignore;"><span style="font-family: Calibri; font-size: small;">1)</span><span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: small;"><span style="font-family: Calibri;">Set the MSDTC security setting for the communication manager authentication to &ldquo;no authentication required&rdquo;. <o:p></o:p></span></span></p>
<p class="MsoListParagraph"><span style="mso-fareast-font-family: Calibri;"><span style="mso-list: Ignore;"><span style="font-family: Calibri; font-size: small;">2)</span><span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: small;"><span style="font-family: Calibri;">To recreate the MSDTC cluster group with a network name that does not have <span style="color: black;">&ldquo;Enable Kerberos Authentication&rdquo; set.</span><o:p></o:p></span></span></p>
<p class="MsoListParagraph"><span style="mso-fareast-font-family: Calibri;"><span style="mso-list: Ignore;"><span style="font-family: Calibri; font-size: small;">3)</span><span style="font: 7pt 'Times New Roman';">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span></span><span style="font-size: small;"><span style="font-family: Calibri;">Do not call the DTCGetTransactionManagerEx API from an impersonated thread.</span></span></p>
<p class="MsoListParagraph"><span style="font-size: small;"><span style="font-family: Calibri;"><o:p></o:p></span></span></p>
<p class="MsoNormal"><o:p><span style="font-family: Calibri; font-size: small;"></span></o:p></p>
<p class="MsoNormal"><o:p><span style="font-family: Calibri; font-size: small;"></span></o:p><i><span style="text-decoration: underline;"><span style="font-size: small;"><span style="font-family: Calibri;">The Fix</span></span></span></i></p>
<p class="MsoNormal"><span style="font-size: small;"><span style="font-family: Calibri;">Currently there is no fix for the problem in Windows 2003 however the problem is fixed in Windows 2008 and above.<o:p></o:p></span></span></p>]]></content:encoded>
    </item>
    <item>
      <title>Reinstalling / Rebuilding COM+ on Windows 2008</title>
      <link>https://docs.microsoft.com/archive/blogs/chrisforster/reinstalling-rebuilding-com-on-windows-2008</link>
      <pubDate>Tue, 25 May 2010 04:40:00 GMT</pubDate>
      <dc:creator><![CDATA[Chris Forster]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/chrisforster/2010/05/25/reinstalling-rebuilding-com-on-windows-2008/</guid>
      <description><![CDATA[Unlike on Windows 2003 it is not possible to Reinstall/Rebuild COM+ on Windows 2008 without...]]></description>
      <content:encoded><![CDATA[<p class="MsoNormal"><span style="font-size: small;"><span style="font-family: Calibri;">Unlike on Windows 2003 it is not possible to Reinstall</span></span><span style="font-size: small;"><span style="font-family: Calibri;">/Rebuild COM+ on Windows 2008 without effectively reinstalling the operating system. Before undertaking such an extreme step the question of why COM+ needs to be installed should be addressed. <o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size: small;"><span style="font-family: Calibri;">A common reason for this is due to the errors shown below:<o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size: small;"><span style="font-family: Calibri;">For example: <o:p></o:p></span></span></p>
<p class="MsoNormal"><i style="mso-bidi-font-style: normal;"><span style="font-size: small;"><span style="font-family: Calibri;">The COM+ Event System detected a bad return code during its internal processing.&nbsp; HRESULT was 800700e6 from line 45 of d:\longhorn\com\complus\src\events\tier \eventsystemobj.cpp.&nbsp; Please contact Microsoft Product Support Services to report this error.<o:p></o:p></span></span></i></p>
<p class="MsoNormal"><i style="mso-bidi-font-style: normal;"><span style="font-size: small;"><span style="font-family: Calibri;">The COM+ Event System detected a bad return code during its internal processing.&nbsp; HRESULT was 80080005 from line 45 of d:\longhorn\com\complus\src\events\tier1\eventsystemobj.cpp.&nbsp; Please contact Microsoft Product Support Services to report this error<o:p></o:p></span></span></i></p>
<p class="MsoNormal"><span style="font-size: small;"><span style="font-family: Calibri;">To address this issue without reinstalling the OS, consider reviewing the registry key: <o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size: small;"><span style="font-family: Calibri;"><span style="mso-tab-count: 1;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&ldquo;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\EventSystem&rdquo; <o:p></o:p></span></span></p>
<p class="MsoNormal"><span style="font-size: small;"><span style="font-family: Calibri;">If, after making a comparison to an identically versioned machine the key is found to be mismatched, you could try to backup and overwrite to bad key to see if it assists in resolving the errors.</span></span></p>
<p class="MsoNormal"><span style="font-size: small;"><span style="font-family: Calibri;"></span></span></p>
<p class="MsoNormal"><span style="font-size: small;"><span style="font-family: Calibri;">Chris Forster</span></span></p>]]></content:encoded>
    </item>
    <item>
      <title>MSDTC communication is not working on a Windows 2008 Cluster when Incoming Caller Authentication or Mutual Authentication is required</title>
      <link>https://docs.microsoft.com/archive/blogs/chrisforster/msdtc-communication-is-not-working-on-a-windows-2008-cluster-when-incoming-caller-authentication-or-mutual-authentication-is-required</link>
      <pubDate>Wed, 05 May 2010 05:40:00 GMT</pubDate>
      <dc:creator><![CDATA[Chris Forster]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/chrisforster/2010/05/05/msdtc-communication-is-not-working-on-a-windows-2008-cluster-when-incoming-caller-authentication-or-mutual-authentication-is-required/</guid>
      <description><![CDATA[In the design change between Windows 2003 and Windows 2008, MSDTC running on a cluster should now be...]]></description>
      <content:encoded><![CDATA[<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><FONT size=3><FONT face=Calibri>In the design change between Windows 2003 and Windows 2008, MSDTC running on a cluster should now be able to take advantage of all available MSDTC authentication option when servers are running on the same domain as their MSDTC client servers.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></FONT></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><o:p><FONT size=3 face=Calibri>&nbsp;</FONT></o:p></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><FONT size=3><FONT face=Calibri>There is however a problem which causes this supported scenario to fail.<o:p></o:p></FONT></FONT></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><o:p><FONT size=3 face=Calibri>&nbsp;</FONT></o:p></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><FONT size=3><FONT face=Calibri>Let us take for scenario where MSDTC is running in a SQL (Service or application) group and this SQL group was originally configured as part of the SQL Server setup process. The resource name of Network Name resource is probably called something like <I>"SQL Network Name (MyClusterSQL1)"</I> (where <I>MyClusterSQL1 </I>is the actual DNS name and the name used in the network name properties). Due to a problem in MSDTC this mismatch between the resource name and the network name itself causes the authentication (whether incoming caller authentication or mutual authentication) to fail. <o:p></o:p></FONT></FONT></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><o:p><FONT size=3 face=Calibri>&nbsp;</FONT></o:p></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><FONT size=3><FONT face=Calibri>If you are facing this scenario we can recommend the following change which will rename the <I>"SQL Network Name (MyClusterSQL1)"</I> network name resource to “<I>MyClusterSQL1”. </I>Below is an example of how to make this change:<o:p></o:p></FONT></FONT></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><o:p><FONT size=3 face=Calibri>&nbsp;</P>
<P style="TEXT-INDENT: 36pt; MARGIN: 0cm 0cm 0pt" class=MsoNormal><FONT size=3><FONT face=Calibri>Cluster.exe res "SQL Network Name (<I>MyClusterSQL1</I>)" /ren:<I> MyClusterSQL1</I></FONT></FONT></P>
<P style="TEXT-INDENT: 36pt; MARGIN: 0cm 0cm 0pt" class=MsoNormal mce_keep="true">&nbsp;</P></FONT></o:p>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><o:p><FONT size=3 face=Calibri>This problem is not limited to a SQL Server Resoruce group, and a similar MSDTC problem can be experience in any resource group where the "resource name" of the network name resource is different from the network name itself.</FONT></o:p></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><o:p><FONT size=3 face=Calibri></FONT></o:p>&nbsp;</P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><o:p><FONT size=3 face=Calibri></FONT></o:p>&nbsp;</P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><o:p><FONT size=3 face=Calibri>Chris Forster</FONT></o:p></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNormal><o:p><FONT size=3 face=Calibri></FONT></o:p>&nbsp;</P>
<P style="TEXT-INDENT: 36pt; MARGIN: 0cm 0cm 0pt" class=MsoNormal><EM><FONT size=3 face=Calibri></FONT></EM>&nbsp;</P>
<P style="TEXT-INDENT: 36pt; MARGIN: 0cm 0cm 0pt" class=MsoNormal><EM><FONT size=3 face=Calibri></FONT></EM>&nbsp;</P>
<P style="TEXT-INDENT: 36pt; MARGIN: 0cm 0cm 0pt" class=MsoNormal><EM><FONT size=3 face=Calibri></FONT></EM>&nbsp;</P>]]></content:encoded>
    </item>
    <item>
      <title>Unable to view or change the properties (Tracing, Logging or Security settings) in Component Services for a clustered instance of MSDTC which resides in a SQL Server cluster resource group</title>
      <link>https://docs.microsoft.com/archive/blogs/chrisforster/unable-to-view-or-change-the-properties-tracing-logging-or-security-settings-in-component-services-for-a-clustered-instance-of-msdtc-which-resides-in-a-sql-server-cluster-resource-group</link>
      <pubDate>Mon, 14 Dec 2009 01:31:00 GMT</pubDate>
      <dc:creator><![CDATA[Chris Forster]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/chrisforster/2009/12/14/unable-to-view-or-change-the-properties-tracing-logging-or-security-settings-in-component-services-for-a-clustered-instance-of-msdtc-which-resides-in-a-sql-server-cluster-resource-group/</guid>
      <description><![CDATA[The issue normally only occurs when MSDTC is using the same cluster virtual name as SQL. The point...]]></description>
      <content:encoded><![CDATA[<P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing><FONT size=3><FONT face=Calibri>The issue normally only occurs when MSDTC is using the same cluster virtual name as SQL. The point of failure seems to be API call to “RegConnectRegistryEx” with the SQL network name. When this specific issue occurs, the call returns HR “0x80070035” (ERROR_BAD_NETPATH). This is specifically network path not found.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></FONT></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing><o:p><FONT size=3 face=Calibri>&nbsp;</FONT></o:p></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing><FONT size=3><FONT face=Calibri>The simplest way to reproduce the problem was to open “regedit”, and from the file menu&nbsp;“Connect Network Registry” using the SQL network name as the remote registry. If this problem is being seen, this step will fail.<o:p></o:p></FONT></FONT></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing><o:p><FONT size=3 face=Calibri>&nbsp;</FONT></o:p></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing><FONT size=3><FONT face=Calibri>During the SQL installation, SQL can set the following resource key to true (1): “KEY_LOCAL_MACHINE\Cluster\Resources\%ResourceGUIDFORSQLNETWORKNAME%\Parameters\RemapPipeName”, when by default it is false (0). This is why it only affects SQL Cluster groups.&nbsp;</FONT></FONT><FONT size=3><FONT face=Calibri>On its own this should not cause the problem, however it seems when the above key is set and the following key is missing then we can encounter this issue:<o:p></o:p></FONT></FONT></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing><FONT size=3><FONT face=Calibri>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters:<o:p></o:p></FONT></FONT></P>
<P style="TEXT-INDENT: 36pt; MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing><FONT size=3><FONT face=Calibri>Name: NoRemapPipes<o:p></o:p></FONT></FONT></P>
<P style="TEXT-INDENT: 36pt; MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing><FONT size=3><FONT face=Calibri>Type:<SPAN style="mso-tab-count: 2">&nbsp;</SPAN></FONT></FONT><FONT size=3><FONT face=Calibri>REG_MULTI_SZ<o:p></o:p></FONT></FONT></P>
<P style="TEXT-INDENT: 36pt; MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing><FONT size=3><FONT face=Calibri>Data:<SPAN style="mso-tab-count: 2">&nbsp;w</SPAN>inreg<o:p></o:p></FONT></FONT></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing><FONT size=3><FONT face=Calibri>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;svcctl</FONT></FONT></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing><FONT size=3><FONT face=Calibri>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;eventlog<o:p></o:p></FONT></FONT></P>
<P style="MARGIN: 0cm 0cm 0pt" class=MsoNoSpacing><o:p><FONT size=3 face=Calibri>&nbsp;</FONT></o:p></P>
<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><FONT size=3><FONT face=Calibri>The best way to resolve the issue is to add the three exceptions (winreg, svcctl and eventlog) to the latter “NoRemapPipes” key as above.</FONT></FONT></P>
<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><FONT size=3><FONT face=Calibri></FONT></FONT>&nbsp;</P>
<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><FONT size=3><FONT face=Calibri>Chris Forster<o:p></o:p></FONT></FONT></P>]]></content:encoded>
    </item>
    <item>
      <title>SubInACL Installation</title>
      <link>https://docs.microsoft.com/archive/blogs/chrisforster/subinacl-installation</link>
      <pubDate>Wed, 14 Oct 2009 02:32:00 GMT</pubDate>
      <dc:creator><![CDATA[Chris Forster]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/chrisforster/2009/10/14/subinacl-installation/</guid>
      <description><![CDATA[In previous blogs I have discussed the use of the SubInACL tool for changing the Access Control...]]></description>
      <content:encoded><![CDATA[<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><FONT size=3><FONT face=Calibri>In previous blogs I have discussed the use of the SubInACL tool for changing the Access Control Lists (ACL's) of services. The tool can be downloaded from <SPAN style="COLOR: #1f497d"><A href="https://www.microsoft.com/downloads/details.aspx?FamilyID=E8BA3E56-D8FE-4A91-93CF-ED6985E3927B&amp;displaylang=en" mce_href="https://www.microsoft.com/downloads/details.aspx?FamilyID=E8BA3E56-D8FE-4A91-93CF-ED6985E3927B&amp;displaylang=en">https://www.microsoft.com/downloads/details.aspx?FamilyID=E8BA3E56-D8FE-4A91-93CF-ED6985E3927B&amp;displaylang=en</A>). </SPAN>Please be aware that to use the tool successfully you must install in on the target machine using the MSI file. If you simply copy the SubInACL.exe file directly from another machine to the target machine you will encounter errors when changing or viewing control lists.</FONT></FONT></P>
<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><FONT size=3><FONT face=Calibri><SPAN style="mso-bidi-font-family: Calibri; mso-ansi-language: EN; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri" lang=EN><FONT size=3><FONT face=Calibri>Chris Forster</FONT></FONT></SPAN><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></FONT></P>]]></content:encoded>
    </item>
    <item>
      <title>Knowing the limits (MSDTC participant / enlistment limits)</title>
      <link>https://docs.microsoft.com/archive/blogs/chrisforster/knowing-the-limits-msdtc-participant-enlistment-limits</link>
      <pubDate>Wed, 14 Oct 2009 02:29:00 GMT</pubDate>
      <dc:creator><![CDATA[Chris Forster]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/chrisforster/2009/10/14/knowing-the-limits-msdtc-participant-enlistment-limits/</guid>
      <description><![CDATA[In most cases when flowing a distributed transaction between more than a single machine, a number of...]]></description>
      <content:encoded><![CDATA[<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><FONT size=3><FONT face=Calibri>In most cases when flowing a distributed transaction between more than a single machine, a number of Transaction Managers (TM's) will be involved. In Microsoft’s case the TM implementation is the Microsoft Distributed Transaction Coordinator (MSDTC). <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></FONT></P>
<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><FONT size=3><FONT face=Calibri>The MSDTC representing the machine where the transaction is begun is normally referenced to as the superior MSDTC. The MSDTC representing further machines involved in the transactions are normally referred to as subordinate MSDTC’s.<o:p></o:p></FONT></FONT></P>
<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><FONT size=3><FONT face=Calibri>In Microsoft Windows there is a limit to the amount of subordinate MSDTC’s that can participate in a single transaction and this is set to 64.<o:p></o:p></FONT></FONT></P>
<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><FONT size=3><FONT face=Calibri>During a transaction, usually we will enlist one or more Resource Managers (RM's). An example of an RM would be Microsoft SQL Server. In many scenarios it is the responsibility of the subordinate TM to enlist the RM it represents. In Microsoft Windows we have a limit in which each MSDTC involved in the transaction (each subordinate) can each enlist a maximum of 32 RM’s.</FONT></FONT></P>
<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><FONT size=3><FONT face=Calibri><o:p><SPAN style="mso-bidi-font-family: Calibri; mso-ansi-language: EN; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri" lang=EN><FONT size=3><FONT face=Calibri>Chris Forster</FONT></FONT></SPAN></o:p></FONT></FONT></P>]]></content:encoded>
    </item>
    <item>
      <title>MSDTC transaction statistics show a large number of aggregated “Unknown” and “Total” transactions when viewed from a remote machine</title>
      <link>https://docs.microsoft.com/archive/blogs/chrisforster/msdtc-transaction-statistics-show-a-large-number-of-aggregated-unknown-and-total-transactions-when-viewed-from-a-remote-machine</link>
      <pubDate>Sat, 13 Jun 2009 05:36:00 GMT</pubDate>
      <dc:creator><![CDATA[Chris Forster]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/chrisforster/2009/06/13/msdtc-transaction-statistics-show-a-large-number-of-aggregated-unknown-and-total-transactions-when-viewed-from-a-remote-machine/</guid>
      <description><![CDATA[Take the scenario whereby MSDTC is configured on Server A and allows remote administration. This...]]></description>
      <content:encoded><![CDATA[<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><SPAN style="mso-bidi-font-family: Calibri; mso-ansi-language: EN; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri" lang=EN><FONT size=3><FONT face=Calibri>Take the scenario whereby MSDTC is configured on Server A and allows remote administration. This means on server B you will be able to add Server A as a remote machine within the component services management snap-in. Once added you will be able to make administrative changes to the MSDTC on Server A from Server B, however it also means that you will be able to view the transaction lists and statistics for the MSDTC on Server A from Server B.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></FONT></SPAN></P>
<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><SPAN style="mso-bidi-font-family: Calibri; mso-ansi-language: EN; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri" lang=EN><FONT size=3><FONT face=Calibri>This statistical transaction information should be a duplication of what you would normally see locally, and instead of the information being sent from the MSDTC Transaction Manager on Server A to the Component Services UI on Server A it is sent from the MSDTC Transaction Manager on Server A to the Component Services UI on Server B. <o:p></o:p></FONT></FONT></SPAN></P>
<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><SPAN style="mso-bidi-font-family: Calibri; mso-ansi-language: EN; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri" lang=EN><FONT size=3><FONT face=Calibri>In most scenarios this functionality works very well however there is a scenario where you will find a inconsistency. If Server A is for example a 64-bit version of the Microsoft Windows operating system and Server B is a 32-bit version of the Microsoft Windows operating system then you will see an inconsistency in the results displayed for the transaction statistic which could cause alarm. Likely from Server B, you will see a very large number of “Unknown” and “Total” transactions outcomes under the aggregate section; whereas from Server A you will not see&nbsp;the large number of unknown transaction outcomes and therefore the “Total” number of transaction will be less. <o:p></o:p></FONT></FONT></SPAN></P>
<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><SPAN style="mso-bidi-font-family: Calibri; mso-ansi-language: EN; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri" lang=EN><FONT size=3><FONT face=Calibri>The cause of this issue&nbsp;is a problem in structures used when this information is passed back from the 64-Bit OS to the 32-Bit OS. It is simply&nbsp;a user interface issue and the underlying functionality of MSDTC is not affected. In conclusion, if you face this scenario you should trust the statistics shown from the user interface on the local machine where MSDTC is running over the results shown from the remote administration user interface. <o:p></o:p></FONT></FONT></SPAN></P>
<P style="MARGIN: 0cm 0cm 10pt" class=MsoNormal><SPAN style="mso-bidi-font-family: Calibri; mso-ansi-language: EN; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri" lang=EN><FONT size=3><FONT face=Calibri>Chris Forster</FONT></FONT></SPAN></P>]]></content:encoded>
    </item>
    <item>
      <title>Windows 2008 SQL Server Cluster (with MSDTC) when using the Windows Firewall with Advanced Security</title>
      <link>https://docs.microsoft.com/archive/blogs/chrisforster/windows-2008-sql-server-cluster-with-msdtc-when-using-the-windows-firewall-with-advanced-security</link>
      <pubDate>Fri, 29 May 2009 06:59:00 GMT</pubDate>
      <dc:creator><![CDATA[Chris Forster]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/chrisforster/2009/05/29/windows-2008-sql-server-cluster-with-msdtc-when-using-the-windows-firewall-with-advanced-security/</guid>
      <description><![CDATA[Take the scenario whereby you have a Windows 2008 Cluster used as a SQL Database Cluster. A common...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"><FONT face=Calibri size=3>Take the scenario whereby you have a Windows 2008 Cluster used as a SQL Database Cluster. A common requirement of SQL Server is a Transaction Manager (MSDTC). </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"><FONT face=Calibri size=3>If your configuration is to have one clustered instance of MSDTC in its own resource group and for any of your SQL server instances to be in their own separate resource groups, then there is a potential for MSDTC and SQL Server to be active on different nodes at a given time.</FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"><FONT face=Calibri size=3>Primarily the SQL Server process loads the MSDTC Proxy in order to communicate with the MSDTC Service. When this is on the same node there will likely be no problems, however if they are active on different nodes and you have the Windows 2008 Firewall enabled you may encounter problems. The communication between the MSDTC Proxy (loaded in to SQL) and the MSDTC service is done through RPC. The obviously symptom of such a problem will be that you cannot flow a transaction from your application towards the SQL Server instance in question, however more specifically if you connect to the SQL Server instance using the management studio and run a query “Begin distributed Transaction” it will fail.</FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"><FONT face=Calibri size=3>If you examine the exception rules (for the MSDTC exceptions) within the “Windows firewall and Advanced Security” you will see the following rules:</FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"><B style="mso-bidi-font-weight: normal"><I style="mso-bidi-font-style: normal"><FONT size=3><FONT face=Calibri>Inbound Rules:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></FONT></I></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"><FONT face=Calibri size=3>-Distributed Transaction Coordinator (RPC) -&gt; Limited to SVCHOST Process communication</FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"><FONT face=Calibri size=3>-Distributed Transaction Coordinator (RPC-EPMAP) -&gt; Limited to SVCHOST Process communication</FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"><FONT face=Calibri size=3>-Distributed Transaction Coordinator (TCP-IN) -&gt; Limited to MSDTC Process communication</FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"><B style="mso-bidi-font-weight: normal"><I style="mso-bidi-font-style: normal"><FONT size=3><FONT face=Calibri>Outbound Rules:<o:p></o:p></FONT></FONT></I></B></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"><FONT face=Calibri size=3>-Distributed Transaction Coordinator (TCP-Out) -&gt; Limited to MSDTC Process communication</FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"><FONT face=Calibri size=3>As can seen there is no “TCP-IN” or “TCP-Out” for the SQL Server process. This is important as it is the SQL Server process initiating the contact with MSDTC. In order to keep security as tight as possible, instead of disabling the firewall, you can create these rules and ensure endpoint addresses must be within the cluster boundary. When creating these new rules, select the SQL Server process executable in the options (remember each is instance specific) and add all virtual and physical IP ranges within the cluster to the rules scope properties. </FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"><I style="mso-bidi-font-style: normal"><FONT size=3><FONT face=Calibri>There are already configured DTC rules (named above) to MSDTC traffic from any application server to the Database Cluster so there is no concern about this for now.<o:p></o:p></FONT></FONT></I></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"><FONT face=Calibri size=3>Once these rules are enabled, repeat the “Begin Distributed Transaction” query when MSDTC is on a different node to SQL Server and it should now be successful.</FONT></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"><FONT face=Calibri size=3></FONT>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 10pt"><FONT face=Calibri size=3>Chris Forster</FONT></P>]]></content:encoded>
    </item>
    <item>
      <title>You cannot use or configure MSDTC on a Windows 2003 Cluster without a shared disk</title>
      <link>https://docs.microsoft.com/archive/blogs/chrisforster/you-cannot-use-or-configure-msdtc-on-a-windows-2003-cluster-without-a-shared-disk</link>
      <pubDate>Fri, 29 May 2009 05:39:00 GMT</pubDate>
      <dc:creator><![CDATA[Chris Forster]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/chrisforster/2009/05/29/you-cannot-use-or-configure-msdtc-on-a-windows-2003-cluster-without-a-shared-disk/</guid>
      <description><![CDATA[On a Windows 2003 cluster you can only ever have one instance of MSDTC running on the cluster at any...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'">On a Windows 2003 cluster you can only ever have one instance of MSDTC running on the cluster at any one time. For this reason and to ensure the running instance of MSDTC is available to all nodes in the cluster, it must be configured as a clustered resource as per <A href="https://support.microsoft.com/kb/301600" mce_href="https://support.microsoft.com/kb/301600">https://support.microsoft.com/kb/301600</A>.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'">In order to configure MSDTC on the cluster a shared disk is required. This disk is where the MSDTC log file is held. The log file contains details and states of open transactions. This means if the MSDTC service was to stop for any reason, it can be restarted and the transaction could continue without being lost.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'">As stated in the KB article 301600 you cannot use a MNS disk as the disk for the MSDTC log file.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'">From the article <A href="https://technet.microsoft.com/en-us/library/bb123996.aspx" mce_href="https://technet.microsoft.com/en-us/library/bb123996.aspx">https://technet.microsoft.com/en-us/library/bb123996.aspx</A> we also state: “In Windows Server 2003, the MSDTC cluster resource requires the use of shared storage in the cluster.” <o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'">I have come across a number of scenarios whereby we did not meet these requirements yet still require MSDTC. An example of such a scenario is a Microsoft Exchange Cluster containing only an MNS disk with no shared disk installed. On these cluster you may need MSDTC to install certain updates or even to use some custom written COM+ add-on's.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'">First we must specify that MNS (Majority Node Set) is not a shared disk it is more a replication method and as stated above it cannot be used for the MSDTC log file.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'">In order to get this working in a Microsoft supported manner there are only two solutions:<BR>&nbsp;- Install a shared disk; or<BR>&nbsp;- Consider moving to Windows 2008 (Windows 2008 supports an active-active MSDTC configuration).</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'">If these solutions are really not possible for your particular case there is one other possible option. <B>I must explicitly state that this is a non-supported and not a fully tested workaround.<o:p></o:p></B></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'">The method means that MSDTC would not be highly available on the cluster. It uses a local quorum disk and means MSDTC will be allowed to come online on a single (statically defined) node.</SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'">Even though the same node is the only place MSDTC will ever come online this is still a clustered resource, meaning a call from a passive node or active node to use MSDTC should work. <o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'">In order to try such a workaround, you should create a new cluster group. Within this cluster group create a regular IP Address and Network Name Resource.<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'">The next step is to create a Local Quorum resource, the wizard to undertake this will present you the option of which nodes this resource can be used on. Ensure you select only the one node (e.g. Node A). Once completed then a “Distributed Transaction Coordinator” resource should be created and again only be allow to come online on the same single node (e.g. Node A). The dependency of this final resource should be the three resource named above. If this has been done correctly, you will arrive at drop down box where you will be given the drives available for the MSDTC log file; the local quorum should be listed. <o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'">(I must re-iterate that in the above description MSDTC will only come online on Node A, however can be utilised by other cluster nodes when Node A is online. If Node A goes offline or fails then MSDTC would not move to another node and MSDTC would not be available until Node A is back up and running.)<o:p></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'"><o:p>&nbsp;</o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-SIZE: 10pt; COLOR: black; FONT-FAMILY: 'Tahoma','sans-serif'"><o:p>Chris Forster</o:p></SPAN></P>]]></content:encoded>
    </item>
  </channel>
</rss>