<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Code Smart Not Hard - SQL Server 2008</title>
    <link>http://codesmartnothard.com/</link>
    <description>Team Foundation Server, Frameworks, and Code Generation</description>
    <language>en-us</language>
    <copyright>Michael Douglas</copyright>
    <lastBuildDate>Sun, 28 Feb 2010 02:04:00 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>mike@doitconsultants.com</managingEditor>
    <webMaster>mike@doitconsultants.com</webMaster>
    <item>
      <trackback:ping>http://codesmartnothard.com/Trackback.aspx?guid=2fb0b2ea-0953-4c38-9af6-99038dbb37dd</trackback:ping>
      <pingback:server>http://codesmartnothard.com/pingback.aspx</pingback:server>
      <pingback:target>http://codesmartnothard.com/PermaLink,guid,2fb0b2ea-0953-4c38-9af6-99038dbb37dd.aspx</pingback:target>
      <dc:creator>Your DisplayName here!</dc:creator>
      <wfw:comment>http://codesmartnothard.com/CommentView,guid,2fb0b2ea-0953-4c38-9af6-99038dbb37dd.aspx</wfw:comment>
      <wfw:commentRss>http://codesmartnothard.com/SyndicationService.asmx/GetEntryCommentsRss?guid=2fb0b2ea-0953-4c38-9af6-99038dbb37dd</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
In previous versions of Team Foundation Server there was not a way to install and
configure TFS to be run in a completely high available environment.  TFS 2008
supports the data tier running in a SQL Server Cluster.  If the TFS application
tier server crashed, there could be a “warm standby” configured to take over but required
a manual process to do this.   TFS 2010 supports running multiple Application
tier servers using Network Load Balancing (NLB).  Last year I first heard of
topology improvements in TFS 2010 in Brian Harry’s post about the <a href="http://blogs.msdn.com/bharry/archive/2009/04/30/tfs-2010-admin-operations-setup-improvements.aspx" target="_blank">Administrator,
Operations,and Setup Improvements in Team Foundation Server 2010</a>.  I think
this is an extremely important feature as companies are utilizing more features in
Team Foundation Server and expecting these services to always be available.
</p>
        <p>
In this post I am going to explain:
</p>
        <ul>
          <li>
Configuring the second TFS application tier</li>
          <li>
Enabling and configuring Network Load Balancing in Windows Server 2008 R2</li>
          <li>
Testing TFS using the NLB Application tier severs</li>
          <li>
Lessons learned 
</li>
        </ul>
        <p>
 
</p>
        <h3>Team Foundation Server 2010 Farm Network Topology Diagram
</h3>
        <p>
This is a diagram shows the topology of the TFS configuration I created to demonstrate
the NLB option.
</p>
        <p>
 
</p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/image_6.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/image_thumb_2.png" width="600" height="243" />
          </a>
        </p>
        <p>
 
</p>
        <p>
I set up this environment on a laptop.  I installed Windows Server 2008 R2 x64
on the laptop as the host OS to utilize Hyper-V.   I added Active Directory
Domain Services (ADDS) and DNS to this machine and configured it as the domain controller. 
I installed SQL Server 2008 R2 x64 on it also to be the data tier for the TFS installation. 
Both TFS Application Tier Servers were created as Hyper-V virtual machines with Windows
2008 R2 x64.  To make this configuration 100% redundant I would have needed to
install the reporting services on both of the TFS Servers, used a SharePoint 2007
Farm for the portal, and a SQL Server cluster for the data tier.  In fact, now
that I have all of this working, I am going to uninstall everything and try to get
WSS and SSRS installed on both application tiers also utilizing the NLB.  This
would allow for 100% redundant and high availability for all of the TFS 2010 Components
with only 4 servers (creating a 2 server SQL Server Cluster). I will post a follow
up on how this goes..
</p>
        <p>
 
</p>
        <h3>Team Foundation Server Installation
</h3>
        <p>
The TFS installation and configuration for the first server (TFS2010A) was done just
as if it was going to be the only server.  Here are the settings after I installed
the first server.
</p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/oneserver_apptiersettings_2.jpg">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="oneserver_apptiersettings" border="0" alt="oneserver_apptiersettings" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/oneserver_apptiersettings_thumb.jpg" width="454" height="182" />
          </a>
        </p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/oneserver_datatiersettings_2.jpg">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="oneserver_datatiersettings" border="0" alt="oneserver_datatiersettings" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/oneserver_datatiersettings_thumb.jpg" width="454" height="109" />
          </a>
        </p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/oneserver_reportingserversettings_2.jpg">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="oneserver_reportingserversettings" border="0" alt="oneserver_reportingserversettings" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/oneserver_reportingserversettings_thumb.jpg" width="454" height="79" />
          </a>
        </p>
        <p>
 
</p>
        <p>
For the second server (TFS2010B), the only pre-requisites that were required were
IIS 7 and SQL Client connectivity tools.    Below are the steps for
configuring the second TFS Server.
</p>
        <p>
In the TFS configuration, choose the “Application-Tier Only” installation option. 
</p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly_2.jpg">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="configure_apptieronly" border="0" alt="configure_apptieronly" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly_thumb.jpg" width="454" height="342" />
          </a>
        </p>
        <p>
The first step was the Welcome step.  There were no options on this step. 
The next step is to specify the configuration database that was created when the first
server was configured.  
</p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly3_2.jpg">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="configure_apptieronly3" border="0" alt="configure_apptieronly3" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly3_thumb.jpg" width="454" height="342" />
          </a>
        </p>
        <p>
Next, specify the service account for the the new application tier.  I chose
to use the same domain account that I used for the first server.
</p>
        <p>
 <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly4_2.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="configure_apptieronly4" border="0" alt="configure_apptieronly4" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly4_thumb.jpg" width="454" height="342" /></a></p>
        <p>
This screen shows the summary of the settings that were chosen before the verification
is run.
</p>
        <p>
 <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly5_2.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="configure_apptieronly5" border="0" alt="configure_apptieronly5" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly5_thumb.jpg" width="454" height="342" /></a></p>
        <p>
After the first time I ran the verification I received two errors.  One was that
.Net 3.5sp1 wasn’t installed.  I’m not sure why I reported this error. 
When I checked it, it was installed.  It could be related to other error. 
The other error, TF255040, was that I didn’t have Reporting Services or SQL Server
Connectivity tools installed.
</p>
        <p>
 <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly6_error_2.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="configure_apptieronly6_error" border="0" alt="configure_apptieronly6_error" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly6_error_thumb.jpg" width="454" height="342" /></a></p>
        <p>
I installed the connectivity tools and reran the verification process and it passed
this time.
</p>
        <p>
 <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly7_2.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="configure_apptieronly7" border="0" alt="configure_apptieronly7" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly7_thumb.jpg" width="454" height="342" /></a></p>
        <p>
The configuration completed successfully.
</p>
        <p>
 <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly9_2.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="configure_apptieronly9" border="0" alt="configure_apptieronly9" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly9_thumb.jpg" width="454" height="342" /></a></p>
        <p>
The TFS administrative console now shows both application tier servers.
</p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly10_2.jpg">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="configure_apptieronly10" border="0" alt="configure_apptieronly10" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly10_thumb.jpg" width="454" height="278" />
          </a> 
</p>
        <p>
 
</p>
        <h3>Setting up Network Load Balancing in Windows 2008 R2 and Hyper-V
</h3>
        <p>
Now that both servers are installed and configured correctly, the next step is to
set up Network Load Balancing (NLB).  This will allows users to connect to TFS
through a single endpoint and allow NLB to balance the traffic and route all of the
traffic to one server if the other is unavailable.  This provides high availability
in the event of an outage or when the servers need to be updated.
</p>
        <p>
The first thing to do before setting up NLB is to pick a static IP address and create
a DNS (A) Record for the shared name.  In this example, TFS2010 is the endpoint
that clients such as Visual Studio 2010.  Here is a snapshot of the A records.
</p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_nlb5_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="configure_nlb5" border="0" alt="configure_nlb5" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_nlb5_thumb.jpg" width="454" height="85" />
          </a>
        </p>
        <p>
 
</p>
        <p>
Here is an article I used to help enable and configure NLB in Windows Server 2008
R2.  Below are the steps I performed to configure it. 
<br /><a title="http://technet.microsoft.com/en-us/library/cc731695.aspx" href="http://technet.microsoft.com/en-us/library/cc731695.aspx">http://technet.microsoft.com/en-us/library/cc731695.aspx</a></p>
        <p>
For each TFS Application Tier server, install Network Load Balancing by going to Server
Manager &gt; Features &gt; Add Features &gt; Network Load Balancing
</p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_nlb_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="configure_nlb" border="0" alt="configure_nlb" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_nlb_thumb.jpg" width="454" height="336" />
          </a>
        </p>
        <p>
Once NLB is installed on all of the App Tiers, run the Network Load Balancing Manager
by typing <strong>nlbmgr</strong> at the command prompt.  Then connect to one
of the hosts.  I chose <strong>TFS2010a</strong> first.  Right click on
the Network Load Balance node and choose “Add New Cluster”.  Add the current
server to the node by walking through the wizard.  You should be able to leave
the defaults unless you want to limit the NLB to just port 8080. The last step of
the wizard is to assign the Cluster a shared IP Address.  This IP Address is
how all of the clients will access and see it.  Make sure this is different than
the IP addresses of the any of the nodes in the cluster.
</p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_nlb2_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="configure_nlb2" border="0" alt="configure_nlb2" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_nlb2_thumb.jpg" width="454" height="353" />
          </a> 
</p>
        <p>
Next, add the other host to the cluster by right clicking on the cluster and choosing
“Add Host to Cluster”.  Enter the name of the Host to be added to the cluster.
</p>
        <p>
Here is what the Cluster looks like when it is configured.
</p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/nlb_configured_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="nlb_configured" border="0" alt="nlb_configured" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/nlb_configured_thumb.jpg" width="504" height="114" />
          </a>
        </p>
        <p>
 
</p>
        <h3>Connect to TFS from Visual Studio 2010
</h3>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/connect_tfs_nlb_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="connect_tfs_nlb" border="0" alt="connect_tfs_nlb" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/connect_tfs_nlb_thumb.jpg" width="454" height="298" />
          </a>
        </p>
        <p>
 
</p>
        <h3>Testing the high availability servers
</h3>
        <p>
To test the high availability configuration, I am going to take down one of the TFS
application tier servers and then both.  First I created the team project while
both servers were available.
</p>
        <p>
Then I created a C# windows project, checked it in, and then checked out one of the
files.
</p>
        <p>
Next, I disabled the NIC on TFS2010a.
</p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/disabled_tfs2010a_nic_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="disabled_tfs2010a_nic" border="0" alt="disabled_tfs2010a_nic" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/disabled_tfs2010a_nic_thumb.jpg" width="304" height="209" />
          </a>
        </p>
        <p>
I did a Undo checkout on the file
</p>
        <p>
NLB rerouted the traffic to TFS2010B and it worked perfect.
</p>
        <p>
Next, I Disabled the NIC on TFS2010b so now both are disabled and it should error.
</p>
        <p>
Tried to check out a file and got a TFS not available error as expected.
</p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/both_tfs_servers_nic_disabled_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="both_tfs_servers_nic_disabled" border="0" alt="both_tfs_servers_nic_disabled" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/both_tfs_servers_nic_disabled_thumb.jpg" width="454" height="236" />
          </a> 
</p>
        <p>
Last, I re-enabled the NIC on TFS2010A
</p>
        <p>
I performed the check out again and worked perfect.
</p>
        <p>
The NLB worked as expected.
</p>
        <p>
 
</p>
        <h3>Lessons Learned
</h3>
        <p>
I’m a developer.  I started my IT career as a server and desktop administrator
but that was a long time ago.  So setting up a domain to test this scenario was
fun but I ran into a few unexpected problems.   Here are a couple things
that slowed me down.
</p>
        <ul>
          <li>
Installed DHCP and DNS with dynamic IP.  Make sure you assign a static IP address
to the virtual internal network card on the DC.  Actually now that I have assigned
static IP addresses to both of the TFS Servers, DHCP doesn’t even need to be installed. 
</li>
          <li>
I couldn’t reach SQL Server 2008 R2 from the TFS Servers.  I got an TF255049
error in the TFS configuration.  I installed the SQL Server Management Studio
and couldn’t connect using that.  I set up aliases and toggled named pipes on
and off.  Still couldn’t connect.  Finally I stumbled upon the network protocol
configuration for SQL.  TCP and Named Pipes were disabled.   Seems
very strange but probably a security precaution.  I enabled TCP/IP and it worked
perfect. 
</li>
        </ul>
        <p>
 
</p>
        <p>
          <strong>NLB Issue</strong>
        </p>
        <p>
I ran into an issue trying to configure NLB on Windows Server 2008 R2 using Hyper-V
</p>
        <blockquote>
          <p>
“The interface is misconfigured”
</p>
          <p>
Cluster IP address (IP) not added to TCPIP properties
</p>
          <p>
Dedicated IP address (IP) not added to TCPIP properties
</p>
        </blockquote>
        <p>
Fix is to enable MAC spoofing in the settings of each VM in Hyper-V.
</p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/enable_mac_spoofing_2.jpg">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="enable_mac_spoofing" border="0" alt="enable_mac_spoofing" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/enable_mac_spoofing_thumb.jpg" width="354" height="212" />
          </a>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
Enjoy!
</p>
        <p>
Mike
</p>
        <img width="0" height="0" src="http://codesmartnothard.com/aggbug.ashx?id=2fb0b2ea-0953-4c38-9af6-99038dbb37dd" />
      </body>
      <title>Setting up a Team Foundation Server 2010 Farm using NLB</title>
      <guid isPermaLink="false">http://codesmartnothard.com/PermaLink,guid,2fb0b2ea-0953-4c38-9af6-99038dbb37dd.aspx</guid>
      <link>http://codesmartnothard.com/SettingUpATeamFoundationServer2010FarmUsingNLB.aspx</link>
      <pubDate>Sun, 28 Feb 2010 02:04:00 GMT</pubDate>
      <description>&lt;p&gt;
In previous versions of Team Foundation Server there was not a way to install and
configure TFS to be run in a completely high available environment.&amp;#160; TFS 2008
supports the data tier running in a SQL Server Cluster.&amp;#160; If the TFS application
tier server crashed, there could be a “warm standby” configured to take over but required
a manual process to do this.&amp;#160;&amp;#160; TFS 2010 supports running multiple Application
tier servers using Network Load Balancing (NLB).&amp;#160; Last year I first heard of
topology improvements in TFS 2010 in Brian Harry’s post about the &lt;a href="http://blogs.msdn.com/bharry/archive/2009/04/30/tfs-2010-admin-operations-setup-improvements.aspx" target="_blank"&gt;Administrator,
Operations,and Setup Improvements in Team Foundation Server 2010&lt;/a&gt;.&amp;#160; I think
this is an extremely important feature as companies are utilizing more features in
Team Foundation Server and expecting these services to always be available.
&lt;/p&gt;
&lt;p&gt;
In this post I am going to explain:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Configuring the second TFS application tier&lt;/li&gt;
&lt;li&gt;
Enabling and configuring Network Load Balancing in Windows Server 2008 R2&lt;/li&gt;
&lt;li&gt;
Testing TFS using the NLB Application tier severs&lt;/li&gt;
&lt;li&gt;
Lessons learned 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;h3&gt;Team Foundation Server 2010 Farm Network Topology Diagram
&lt;/h3&gt;
&lt;p&gt;
This is a diagram shows the topology of the TFS configuration I created to demonstrate
the NLB option.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/image_6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/image_thumb_2.png" width="600" height="243" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
I set up this environment on a laptop.&amp;#160; I installed Windows Server 2008 R2 x64
on the laptop as the host OS to utilize Hyper-V.&amp;#160;&amp;#160; I added Active Directory
Domain Services (ADDS) and DNS to this machine and configured it as the domain controller.&amp;#160;
I installed SQL Server 2008 R2 x64 on it also to be the data tier for the TFS installation.&amp;#160;
Both TFS Application Tier Servers were created as Hyper-V virtual machines with Windows
2008 R2 x64.&amp;#160; To make this configuration 100% redundant I would have needed to
install the reporting services on both of the TFS Servers, used a SharePoint 2007
Farm for the portal, and a SQL Server cluster for the data tier.&amp;#160; In fact, now
that I have all of this working, I am going to uninstall everything and try to get
WSS and SSRS installed on both application tiers also utilizing the NLB.&amp;#160; This
would allow for 100% redundant and high availability for all of the TFS 2010 Components
with only 4 servers (creating a 2 server SQL Server Cluster). I will post a follow
up on how this goes..
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;h3&gt;Team Foundation Server Installation
&lt;/h3&gt;
&lt;p&gt;
The TFS installation and configuration for the first server (TFS2010A) was done just
as if it was going to be the only server.&amp;#160; Here are the settings after I installed
the first server.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/oneserver_apptiersettings_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="oneserver_apptiersettings" border="0" alt="oneserver_apptiersettings" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/oneserver_apptiersettings_thumb.jpg" width="454" height="182" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/oneserver_datatiersettings_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="oneserver_datatiersettings" border="0" alt="oneserver_datatiersettings" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/oneserver_datatiersettings_thumb.jpg" width="454" height="109" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/oneserver_reportingserversettings_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="oneserver_reportingserversettings" border="0" alt="oneserver_reportingserversettings" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/oneserver_reportingserversettings_thumb.jpg" width="454" height="79" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
For the second server (TFS2010B), the only pre-requisites that were required were
IIS 7 and SQL Client connectivity tools.&amp;#160;&amp;#160;&amp;#160; Below are the steps for
configuring the second TFS Server.
&lt;/p&gt;
&lt;p&gt;
In the TFS configuration, choose the “Application-Tier Only” installation option. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="configure_apptieronly" border="0" alt="configure_apptieronly" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly_thumb.jpg" width="454" height="342" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
The first step was the Welcome step.&amp;#160; There were no options on this step.&amp;#160;
The next step is to specify the configuration database that was created when the first
server was configured.&amp;#160; 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly3_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="configure_apptieronly3" border="0" alt="configure_apptieronly3" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly3_thumb.jpg" width="454" height="342" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
Next, specify the service account for the the new application tier.&amp;#160; I chose
to use the same domain account that I used for the first server.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly4_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="configure_apptieronly4" border="0" alt="configure_apptieronly4" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly4_thumb.jpg" width="454" height="342" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
This screen shows the summary of the settings that were chosen before the verification
is run.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly5_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="configure_apptieronly5" border="0" alt="configure_apptieronly5" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly5_thumb.jpg" width="454" height="342" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
After the first time I ran the verification I received two errors.&amp;#160; One was that
.Net 3.5sp1 wasn’t installed.&amp;#160; I’m not sure why I reported this error.&amp;#160;
When I checked it, it was installed.&amp;#160; It could be related to other error.&amp;#160;
The other error, TF255040, was that I didn’t have Reporting Services or SQL Server
Connectivity tools installed.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly6_error_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="configure_apptieronly6_error" border="0" alt="configure_apptieronly6_error" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly6_error_thumb.jpg" width="454" height="342" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I installed the connectivity tools and reran the verification process and it passed
this time.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly7_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="configure_apptieronly7" border="0" alt="configure_apptieronly7" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly7_thumb.jpg" width="454" height="342" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
The configuration completed successfully.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly9_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="configure_apptieronly9" border="0" alt="configure_apptieronly9" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly9_thumb.jpg" width="454" height="342" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
The TFS administrative console now shows both application tier servers.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly10_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="configure_apptieronly10" border="0" alt="configure_apptieronly10" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_apptieronly10_thumb.jpg" width="454" height="278" /&gt;&lt;/a&gt;&amp;#160;
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;h3&gt;Setting up Network Load Balancing in Windows 2008 R2 and Hyper-V
&lt;/h3&gt;
&lt;p&gt;
Now that both servers are installed and configured correctly, the next step is to
set up Network Load Balancing (NLB).&amp;#160; This will allows users to connect to TFS
through a single endpoint and allow NLB to balance the traffic and route all of the
traffic to one server if the other is unavailable.&amp;#160; This provides high availability
in the event of an outage or when the servers need to be updated.
&lt;/p&gt;
&lt;p&gt;
The first thing to do before setting up NLB is to pick a static IP address and create
a DNS (A) Record for the shared name.&amp;#160; In this example, TFS2010 is the endpoint
that clients such as Visual Studio 2010.&amp;#160; Here is a snapshot of the A records.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_nlb5_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="configure_nlb5" border="0" alt="configure_nlb5" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_nlb5_thumb.jpg" width="454" height="85" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
Here is an article I used to help enable and configure NLB in Windows Server 2008
R2.&amp;#160; Below are the steps I performed to configure it. 
&lt;br /&gt;
&lt;a title="http://technet.microsoft.com/en-us/library/cc731695.aspx" href="http://technet.microsoft.com/en-us/library/cc731695.aspx"&gt;http://technet.microsoft.com/en-us/library/cc731695.aspx&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
For each TFS Application Tier server, install Network Load Balancing by going to Server
Manager &amp;gt; Features &amp;gt; Add Features &amp;gt; Network Load Balancing
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_nlb_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="configure_nlb" border="0" alt="configure_nlb" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_nlb_thumb.jpg" width="454" height="336" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
Once NLB is installed on all of the App Tiers, run the Network Load Balancing Manager
by typing &lt;strong&gt;nlbmgr&lt;/strong&gt; at the command prompt.&amp;#160; Then connect to one
of the hosts.&amp;#160; I chose &lt;strong&gt;TFS2010a&lt;/strong&gt; first.&amp;#160; Right click on
the Network Load Balance node and choose “Add New Cluster”.&amp;#160; Add the current
server to the node by walking through the wizard.&amp;#160; You should be able to leave
the defaults unless you want to limit the NLB to just port 8080. The last step of
the wizard is to assign the Cluster a shared IP Address.&amp;#160; This IP Address is
how all of the clients will access and see it.&amp;#160; Make sure this is different than
the IP addresses of the any of the nodes in the cluster.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_nlb2_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="configure_nlb2" border="0" alt="configure_nlb2" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/configure_nlb2_thumb.jpg" width="454" height="353" /&gt;&lt;/a&gt;&amp;#160;
&lt;/p&gt;
&lt;p&gt;
Next, add the other host to the cluster by right clicking on the cluster and choosing
“Add Host to Cluster”.&amp;#160; Enter the name of the Host to be added to the cluster.
&lt;/p&gt;
&lt;p&gt;
Here is what the Cluster looks like when it is configured.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/nlb_configured_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="nlb_configured" border="0" alt="nlb_configured" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/nlb_configured_thumb.jpg" width="504" height="114" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;h3&gt;Connect to TFS from Visual Studio 2010
&lt;/h3&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/connect_tfs_nlb_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="connect_tfs_nlb" border="0" alt="connect_tfs_nlb" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/connect_tfs_nlb_thumb.jpg" width="454" height="298" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;h3&gt;Testing the high availability servers
&lt;/h3&gt;
&lt;p&gt;
To test the high availability configuration, I am going to take down one of the TFS
application tier servers and then both.&amp;#160; First I created the team project while
both servers were available.
&lt;/p&gt;
&lt;p&gt;
Then I created a C# windows project, checked it in, and then checked out one of the
files.
&lt;/p&gt;
&lt;p&gt;
Next, I disabled the NIC on TFS2010a.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/disabled_tfs2010a_nic_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="disabled_tfs2010a_nic" border="0" alt="disabled_tfs2010a_nic" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/disabled_tfs2010a_nic_thumb.jpg" width="304" height="209" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
I did a Undo checkout on the file
&lt;/p&gt;
&lt;p&gt;
NLB rerouted the traffic to TFS2010B and it worked perfect.
&lt;/p&gt;
&lt;p&gt;
Next, I Disabled the NIC on TFS2010b so now both are disabled and it should error.
&lt;/p&gt;
&lt;p&gt;
Tried to check out a file and got a TFS not available error as expected.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/both_tfs_servers_nic_disabled_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="both_tfs_servers_nic_disabled" border="0" alt="both_tfs_servers_nic_disabled" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/both_tfs_servers_nic_disabled_thumb.jpg" width="454" height="236" /&gt;&lt;/a&gt;&amp;#160;
&lt;/p&gt;
&lt;p&gt;
Last, I re-enabled the NIC on TFS2010A
&lt;/p&gt;
&lt;p&gt;
I performed the check out again and worked perfect.
&lt;/p&gt;
&lt;p&gt;
The NLB worked as expected.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;h3&gt;Lessons Learned
&lt;/h3&gt;
&lt;p&gt;
I’m a developer.&amp;#160; I started my IT career as a server and desktop administrator
but that was a long time ago.&amp;#160; So setting up a domain to test this scenario was
fun but I ran into a few unexpected problems.&amp;#160;&amp;#160; Here are a couple things
that slowed me down.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
Installed DHCP and DNS with dynamic IP.&amp;#160; Make sure you assign a static IP address
to the virtual internal network card on the DC.&amp;#160; Actually now that I have assigned
static IP addresses to both of the TFS Servers, DHCP doesn’t even need to be installed. 
&lt;/li&gt;
&lt;li&gt;
I couldn’t reach SQL Server 2008 R2 from the TFS Servers.&amp;#160; I got an TF255049
error in the TFS configuration.&amp;#160; I installed the SQL Server Management Studio
and couldn’t connect using that.&amp;#160; I set up aliases and toggled named pipes on
and off.&amp;#160; Still couldn’t connect.&amp;#160; Finally I stumbled upon the network protocol
configuration for SQL.&amp;#160; TCP and Named Pipes were disabled.&amp;#160;&amp;#160; Seems
very strange but probably a security precaution.&amp;#160; I enabled TCP/IP and it worked
perfect. 
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;NLB Issue&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
I ran into an issue trying to configure NLB on Windows Server 2008 R2 using Hyper-V
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
“The interface is misconfigured”
&lt;/p&gt;
&lt;p&gt;
Cluster IP address (IP) not added to TCPIP properties
&lt;/p&gt;
&lt;p&gt;
Dedicated IP address (IP) not added to TCPIP properties
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Fix is to enable MAC spoofing in the settings of each VM in Hyper-V.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/enable_mac_spoofing_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="enable_mac_spoofing" border="0" alt="enable_mac_spoofing" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/SettingupaTeamFoundationServer2010Farmwi_EB10/enable_mac_spoofing_thumb.jpg" width="354" height="212" /&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
Enjoy!
&lt;/p&gt;
&lt;p&gt;
Mike
&lt;/p&gt;
&lt;img width="0" height="0" src="http://codesmartnothard.com/aggbug.ashx?id=2fb0b2ea-0953-4c38-9af6-99038dbb37dd" /&gt;</description>
      <comments>http://codesmartnothard.com/CommentView,guid,2fb0b2ea-0953-4c38-9af6-99038dbb37dd.aspx</comments>
      <category>SQL Server 2008;Team Foundation Server;TFS 2010;Visual Studio 2010</category>
    </item>
    <item>
      <trackback:ping>http://codesmartnothard.com/Trackback.aspx?guid=7004c120-d3f4-48df-8177-3ada3b03ef2d</trackback:ping>
      <pingback:server>http://codesmartnothard.com/pingback.aspx</pingback:server>
      <pingback:target>http://codesmartnothard.com/PermaLink,guid,7004c120-d3f4-48df-8177-3ada3b03ef2d.aspx</pingback:target>
      <dc:creator>Your DisplayName here!</dc:creator>
      <wfw:comment>http://codesmartnothard.com/CommentView,guid,7004c120-d3f4-48df-8177-3ada3b03ef2d.aspx</wfw:comment>
      <wfw:commentRss>http://codesmartnothard.com/SyndicationService.asmx/GetEntryCommentsRss?guid=7004c120-d3f4-48df-8177-3ada3b03ef2d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We have a lot of exciting things going on at Deliveron Consulting Services. I wanted
to post a few of the updates.
</p>
        <h3>Get Social with Deliveron 
</h3>
        <p>
          <a href="http://www.facebook.com/pages/Deliveron-Consulting-Services/92712059791" target="_blank">
            <img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="Deliveron Consulting Services on FaceBook" src="http://www.deliveron.com/Images/facebook_logo.png" width="32" height="32" />
          </a> 
Become a Facebook fan of Deliveron: <a title="http://www.facebook.com/pages/Deliveron-Consulting-Services/92712059791" href="http://www.facebook.com/pages/Deliveron-Consulting-Services/92712059791">http://www.facebook.com/pages/Deliveron-Consulting-Services/92712059791</a></p>
        <p>
          <a href="http://www.twitter.com/deliveron" target="_blank">
            <img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="" src="http://twitter-badges.s3.amazonaws.com/t_logo-a.png" width="32" height="32" />
          </a> 
Follow Deliveron on Twitter: <a href="http://www.twitter.com/deliveron">http://www.twitter.com/deliveron</a></p>
        <p>
 <a href="http://www.linkedin.com/groups?about=&amp;gid=2573249" target="_blank"><img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="Linked In" src="http://www.deliveron.com/Images/LinkedIn.png" /></a> 
Join the LinkedIn <a href="http://www.linkedin.com/groups?about=&amp;gid=2573249" target="_blank">Deliveron
Consulting Services Network</a> group.
</p>
        <p>
 
</p>
        <h3>Deliveron Website Updates
</h3>
        <p>
We have implemented a few website updates.  These include:
</p>
        <ul>
          <li>
            <a href="http://www.deliveron.com/consulting_services_jumpstart.htm" target="_blank">Deliveron
Jumpstart Solutions</a> including the TFS Jumpstart information and flyer. (I am very
excited about this!!) 
</li>
          <li>
            <a href="http://www.deliveron.com/about_us_thestory.htm" target="_blank">“The Deliveron
Story”</a>
          </li>
          <li>
            <a href="http://www.deliveron.com/consulting_services_focus.htm" target="_blank">Areas
of Expertise</a>
          </li>
          <li>
            <a href="http://www.deliveron.com/about_us_partners.htm" target="_blank">Our Partners</a> and <a href="http://www.deliveron.com/about_us_memberships.htm" target="_blank">Memberships</a></li>
        </ul>
        <p>
View the first edition of the <a href="http://www.deliveron.com/newsletters.htm" target="_blank">Deliveron
Monthly Newsletter</a>.  Sign up on the website to receive future newsletters
and announcements.
</p>
        <p>
 
</p>
        <h3>Upcoming Events
</h3>
        <p>
        </p>
        <p>
        </p>
        <p>
        </p>
        <p>
          <strong>2/3</strong> – Omaha <em>SQL/BI User Group</em> - Solution Consultant Moe
Elatta from Deliveron will be presenting on <strong>SQL Server Reporting Services
2008 scale-out configuration and new charting enhancements</strong>. <a href="http://www.omahamtg.com/Default.aspx">Register
here...</a></p>
        <p>
          <strong>2/18</strong> - <em>MSDN Webinar</em> - <strong>Enhancing the Business Process
Automation Capabilities of SharePoint</strong><a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032441157&amp;EventCategory=4&amp;culture=en-US&amp;CountryCode=US">Register
here...</a></p>
        <p>
          <strong>2/25</strong> - <em>Lunch and Learn</em> - <strong>SharePoint Features You
Need</strong><a href="http://ant.to/training/event-registration/">Register here...</a></p>
        <img width="0" height="0" src="http://codesmartnothard.com/aggbug.ashx?id=7004c120-d3f4-48df-8177-3ada3b03ef2d" />
      </body>
      <title>Deliveron Updates &amp;ndash; January 2010</title>
      <guid isPermaLink="false">http://codesmartnothard.com/PermaLink,guid,7004c120-d3f4-48df-8177-3ada3b03ef2d.aspx</guid>
      <link>http://codesmartnothard.com/DeliveronUpdatesNdashJanuary2010.aspx</link>
      <pubDate>Sat, 30 Jan 2010 06:23:00 GMT</pubDate>
      <description>&lt;p&gt;
We have a lot of exciting things going on at Deliveron Consulting Services. I wanted
to post a few of the updates.
&lt;/p&gt;
&lt;h3&gt;Get Social with Deliveron 
&lt;/h3&gt;
&lt;p&gt;
&lt;a href="http://www.facebook.com/pages/Deliveron-Consulting-Services/92712059791" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="Deliveron Consulting Services on FaceBook" src="http://www.deliveron.com/Images/facebook_logo.png" width="32" height="32" /&gt;&lt;/a&gt;&amp;#160;
Become a Facebook fan of Deliveron: &lt;a title="http://www.facebook.com/pages/Deliveron-Consulting-Services/92712059791" href="http://www.facebook.com/pages/Deliveron-Consulting-Services/92712059791"&gt;http://www.facebook.com/pages/Deliveron-Consulting-Services/92712059791&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.twitter.com/deliveron" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="" src="http://twitter-badges.s3.amazonaws.com/t_logo-a.png" width="32" height="32" /&gt;&lt;/a&gt;&amp;#160;
Follow Deliveron on Twitter: &lt;a href="http://www.twitter.com/deliveron"&gt;http://www.twitter.com/deliveron&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;#160;&lt;a href="http://www.linkedin.com/groups?about=&amp;amp;gid=2573249" target="_blank"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="Linked In" src="http://www.deliveron.com/Images/LinkedIn.png" /&gt;&lt;/a&gt;&amp;#160;
Join the LinkedIn &lt;a href="http://www.linkedin.com/groups?about=&amp;amp;gid=2573249" target="_blank"&gt;Deliveron
Consulting Services Network&lt;/a&gt; group.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;h3&gt;Deliveron Website Updates
&lt;/h3&gt;
&lt;p&gt;
We have implemented a few website updates.&amp;#160; These include:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://www.deliveron.com/consulting_services_jumpstart.htm" target="_blank"&gt;Deliveron
Jumpstart Solutions&lt;/a&gt; including the TFS Jumpstart information and flyer. (I am very
excited about this!!) 
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.deliveron.com/about_us_thestory.htm" target="_blank"&gt;“The Deliveron
Story”&lt;/a&gt; 
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.deliveron.com/consulting_services_focus.htm" target="_blank"&gt;Areas
of Expertise&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;a href="http://www.deliveron.com/about_us_partners.htm" target="_blank"&gt;Our Partners&lt;/a&gt; and &lt;a href="http://www.deliveron.com/about_us_memberships.htm" target="_blank"&gt;Memberships&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
View the first edition of the &lt;a href="http://www.deliveron.com/newsletters.htm" target="_blank"&gt;Deliveron
Monthly Newsletter&lt;/a&gt;.&amp;#160; Sign up on the website to receive future newsletters
and announcements.
&lt;/p&gt;
&lt;p&gt;
&amp;#160;
&lt;/p&gt;
&lt;h3&gt;Upcoming Events
&lt;/h3&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;2/3&lt;/strong&gt; – Omaha &lt;em&gt;SQL/BI User Group&lt;/em&gt; - Solution Consultant Moe
Elatta from Deliveron will be presenting on &lt;strong&gt;SQL Server Reporting Services
2008 scale-out configuration and new charting enhancements&lt;/strong&gt;. &lt;a href="http://www.omahamtg.com/Default.aspx"&gt;Register
here...&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;2/18&lt;/strong&gt; - &lt;em&gt;MSDN Webinar&lt;/em&gt; - &lt;strong&gt;Enhancing the Business Process
Automation Capabilities of SharePoint&lt;/strong&gt; &lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032441157&amp;amp;EventCategory=4&amp;amp;culture=en-US&amp;amp;CountryCode=US"&gt;Register
here...&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;2/25&lt;/strong&gt; - &lt;em&gt;Lunch and Learn&lt;/em&gt; - &lt;strong&gt;SharePoint Features You
Need&lt;/strong&gt; &lt;a href="http://ant.to/training/event-registration/"&gt;Register here...&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://codesmartnothard.com/aggbug.ashx?id=7004c120-d3f4-48df-8177-3ada3b03ef2d" /&gt;</description>
      <comments>http://codesmartnothard.com/CommentView,guid,7004c120-d3f4-48df-8177-3ada3b03ef2d.aspx</comments>
      <category>Biztalk;Deliveron;SharePoint;SQL Server 2008;Team Foundation Server</category>
    </item>
    <item>
      <trackback:ping>http://codesmartnothard.com/Trackback.aspx?guid=cfee914b-de11-4edc-ae3e-d3681ab305ed</trackback:ping>
      <pingback:server>http://codesmartnothard.com/pingback.aspx</pingback:server>
      <pingback:target>http://codesmartnothard.com/PermaLink,guid,cfee914b-de11-4edc-ae3e-d3681ab305ed.aspx</pingback:target>
      <dc:creator>Your DisplayName here!</dc:creator>
      <wfw:comment>http://codesmartnothard.com/CommentView,guid,cfee914b-de11-4edc-ae3e-d3681ab305ed.aspx</wfw:comment>
      <wfw:commentRss>http://codesmartnothard.com/SyndicationService.asmx/GetEntryCommentsRss?guid=cfee914b-de11-4edc-ae3e-d3681ab305ed</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I wanted to take a look at writing SQL Reports for TFS.  I was going to install
the Business Intelligence Studio for SQL Server 2005 but I thought it would be better
to use the latest edition of SQL Reporting Services in SQL Server 2008.  
So I decided to upgrade my TFS Test Server to SQL Server 2008.  This is a single
server install of TFS.   I ran the SQL Server 2008 Upgrade Wizard.    
Most of the steps were straight-forward.  I only ran into one roadblock that
I was able to fix and I documented below.  Here’s the steps.
</p>
        <p>
 
</p>
        <p>
First I chose the “Upgrade from SQL Server 2000 or SQL Server 2005” option.
</p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_12.png">
            <img title="image" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="312" alt="image" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_thumb_5.png" width="644" border="0" />
          </a>
        </p>
        <p>
 
</p>
        <p>
I kept the default settings for all of the steps except when it asked what instance
I would like to upgrade. 
</p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_2.png">
            <img title="image" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="237" alt="image" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_thumb.png" width="644" border="0" />
          </a>
        </p>
        <p>
 
</p>
        <p>
All of the checks passed but one.  I got the following error.
</p>
        <p>
          <strong>Rule "Security Group SID (Security Identifier)" failed.</strong>
        </p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_4.png">
            <img title="image" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="102" alt="image" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_thumb_1.png" width="404" border="0" />
          </a>
        </p>
        <p>
          <a title="http://go.microsoft.com/fwlink/?LinkId=94001" href="http://go.microsoft.com/fwlink/?LinkId=94001">http://go.microsoft.com/fwlink/?LinkId=94001</a>
        </p>
        <p>
I went to the link but it didn’t help.  I searched on the web for for the error
and I found the fix <a href="http://social.msdn.microsoft.com/forums/en-US/sqlsetupandupgrade/thread/0ca885d2-cd8d-4815-a258-d2962d477c35/" target="_blank">here</a>. 
Basically I had to manually replace the invalid SIDs with the new one.
</p>
        <p>
 
</p>
        <p>
To find the correct SIDs, I ran the command prompt utility:  <strong>whoami /groups</strong></p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_8.png">
            <img title="image" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="242" alt="image" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_thumb_3.png" width="484" border="0" />
          </a>
        </p>
        <p>
 
</p>
        <p>
If you have multiple editions of SQL Server installed make sure you are in the correct
one in the registry.  Look at the Edition key
</p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_10.png">
            <img title="image" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="451" alt="image" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_thumb_4.png" width="644" border="0" />
          </a>
        </p>
        <p>
 
</p>
        <p>
I pasted the correct SIDs into the registry keys
</p>
        <p>
          <a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_6.png">
            <img title="image" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="449" alt="image" src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_thumb_2.png" width="644" border="0" />
          </a>
        </p>
        <p>
 
</p>
        <p>
I fixed the ones in MSSQL.2 but I was still getting the error.  I checked the
log file %ProgramFiles%\Microsoft SQL Server\100\Setup Bootstrap\LOG\Detail.txt and
here is the error.
</p>
        <p>
2009-04-14 23:24:25 Slp: Sco: Attempting to open registry subkey SOFTWARE\Microsoft\Microsoft
SQL Server\MSSQL.3\Setup 
<br />
2009-04-14 23:24:25 Slp: SqlSidRule.GetSidValue - reading value name ASGroup 
<br />
2009-04-14 23:24:25 Slp: Sco: Attempting to get registry value ASGroup 
<br />
2009-04-14 23:24:25 Slp: Sco: Attempting to get account from sid S-1-5-21-3621347759-1475631895-1437307089-1014 
<br />
2009-04-14 23:24:25 Slp: Sco: LookupAccountSid failed for SID S-1-5-21-3621347759-1475631895-1437307089-1014 
<br />
2009-04-14 23:24:25 Slp: SqlSidRule.EnsureGroupExists - Exception caught and ignored.
Returning false. Exception message is No mapping between account names and security
IDs was done.
</p>
        <p>
        </p>
        <p>
        </p>
        <p>
I grabbed the SID for the ASUser and it worked!
</p>
        <p>
 
</p>
        <p>
The wizard continued and finished.  I launched Visual Studio and TFS is working
properly.
</p>
        <p>
Now I can look at the SQL Reporting :)
</p>
        <img width="0" height="0" src="http://codesmartnothard.com/aggbug.ashx?id=cfee914b-de11-4edc-ae3e-d3681ab305ed" />
      </body>
      <title>Upgrading Team Foundation Server 2008 to SQL Server 2008</title>
      <guid isPermaLink="false">http://codesmartnothard.com/PermaLink,guid,cfee914b-de11-4edc-ae3e-d3681ab305ed.aspx</guid>
      <link>http://codesmartnothard.com/UpgradingTeamFoundationServer2008ToSQLServer2008.aspx</link>
      <pubDate>Wed, 15 Apr 2009 08:03:00 GMT</pubDate>
      <description>&lt;p&gt;
I wanted to take a look at writing SQL Reports for TFS.&amp;nbsp; I was going to install
the Business Intelligence Studio for SQL Server 2005 but I thought it would be better
to use the latest edition of SQL Reporting Services in SQL Server 2008.&amp;nbsp;&amp;nbsp;
So I decided to upgrade my TFS Test Server to SQL Server 2008.&amp;nbsp; This is a single
server install of TFS.&amp;nbsp;&amp;nbsp; I ran the SQL Server 2008 Upgrade Wizard.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
Most of the steps were straight-forward.&amp;nbsp; I only ran into one roadblock that
I was able to fix and I documented below.&amp;nbsp; Here’s the steps.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
First I chose the “Upgrade from SQL Server 2000 or SQL Server 2005” option.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_12.png"&gt;&lt;img title=image style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=312 alt=image src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_thumb_5.png" width=644 border=0&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
I kept the default settings for all of the steps except when it asked what instance
I would like to upgrade. 
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_2.png"&gt;&lt;img title=image style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=237 alt=image src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_thumb.png" width=644 border=0&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
All of the checks passed but one.&amp;nbsp; I got the following error.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Rule "Security Group SID (Security Identifier)" failed.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_4.png"&gt;&lt;img title=image style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=102 alt=image src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_thumb_1.png" width=404 border=0&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&lt;a title=http://go.microsoft.com/fwlink/?LinkId=94001 href="http://go.microsoft.com/fwlink/?LinkId=94001"&gt;http://go.microsoft.com/fwlink/?LinkId=94001&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
I went to the link but it didn’t help.&amp;nbsp; I searched on the web for for the error
and I found the fix &lt;a href="http://social.msdn.microsoft.com/forums/en-US/sqlsetupandupgrade/thread/0ca885d2-cd8d-4815-a258-d2962d477c35/" target=_blank&gt;here&lt;/a&gt;.&amp;nbsp;
Basically I had to manually replace the invalid SIDs with the new one.
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
To find the correct SIDs, I ran the command prompt utility:&amp;nbsp; &lt;strong&gt;whoami /groups&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_8.png"&gt;&lt;img title=image style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=242 alt=image src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_thumb_3.png" width=484 border=0&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
If you have multiple editions of SQL Server installed make sure you are in the correct
one in the registry.&amp;nbsp; Look at the Edition key
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_10.png"&gt;&lt;img title=image style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=451 alt=image src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_thumb_4.png" width=644 border=0&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
I pasted the correct SIDs into the registry keys
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_6.png"&gt;&lt;img title=image style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=449 alt=image src="http://codesmartnothard.com/content/binary/WindowsLiveWriter/UpgradingTFStoSQLServer2008_14780/image_thumb_2.png" width=644 border=0&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
I fixed the ones in MSSQL.2 but I was still getting the error.&amp;nbsp; I checked the
log file %ProgramFiles%\Microsoft SQL Server\100\Setup Bootstrap\LOG\Detail.txt and
here is the error.
&lt;/p&gt;
&lt;p&gt;
2009-04-14 23:24:25 Slp: Sco: Attempting to open registry subkey SOFTWARE\Microsoft\Microsoft
SQL Server\MSSQL.3\Setup 
&lt;br&gt;
2009-04-14 23:24:25 Slp: SqlSidRule.GetSidValue - reading value name ASGroup 
&lt;br&gt;
2009-04-14 23:24:25 Slp: Sco: Attempting to get registry value ASGroup 
&lt;br&gt;
2009-04-14 23:24:25 Slp: Sco: Attempting to get account from sid S-1-5-21-3621347759-1475631895-1437307089-1014 
&lt;br&gt;
2009-04-14 23:24:25 Slp: Sco: LookupAccountSid failed for SID S-1-5-21-3621347759-1475631895-1437307089-1014 
&lt;br&gt;
2009-04-14 23:24:25 Slp: SqlSidRule.EnsureGroupExists - Exception caught and ignored.
Returning false. Exception message is No mapping between account names and security
IDs was done.
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
I grabbed the SID for the ASUser and it worked!
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
The wizard continued and finished.&amp;nbsp; I launched Visual Studio and TFS is working
properly.
&lt;/p&gt;
&lt;p&gt;
Now I can look at the SQL Reporting :)
&lt;/p&gt;
&lt;img width="0" height="0" src="http://codesmartnothard.com/aggbug.ashx?id=cfee914b-de11-4edc-ae3e-d3681ab305ed" /&gt;</description>
      <comments>http://codesmartnothard.com/CommentView,guid,cfee914b-de11-4edc-ae3e-d3681ab305ed.aspx</comments>
      <category>SQL Server 2008;Team Foundation Server</category>
    </item>
  </channel>
</rss>