title: Using TFS 2010 Source Control with SQL Server 2012 SSMS to manage SQL Scripts
body: <p>I have an ongoing need to manage, in TFS source control, a collection of SQL scripts organized as an SSMS solution (.ssmssln file).  </p>
  
  <p>I'd like to capture the "success path" for using SQL Server 2012 SSMS with TFS2010, using the appropriate MSSCCI provider and Team Explorer versions and install sequence.</p>
  
  <p>I'm using the "Developer Edition" of the SQL Server products, running locally on my Win7-64 dev box, and need to access a TFS 2010 server maintained by a different group. VS2012 and VS2013 are also installed on this "new" dev box and I have had no problems accessing our TFS 2010 server from them.</p>
  
  <p>I had been trying to get SSMS from SQL Server 2012 (Developer Edition) to work with our TFS Server 2010 for some time, with no luck. I finally did get the SSMS 2012/TFS 2010 combination to work on the new dev box, but was left with the question "what was it that actually worked", and none of the other documented solutions address this combination. This one doesn't:
  See:  <a href="https://stackoverflow.com/questions/20338264/sql-server-scripts-2012-project-into-team-foundation-server-2012">SQL Server Scripts 2012 Project into Team Foundation Server 2012</a>, which addresses SSMS 2012 and TFS 2012.  </p>
  
  <p>My company's TFS versions tend to lag 1 major version behind our VS and SQL versions.</p>
  
  <p>Other articles did not have steps that solved my problem.
  <a href="https://dba.stackexchange.com/questions/17850/tfs2010-for-ssms-2012">https://dba.stackexchange.com/questions/17850/tfs2010-for-ssms-2012</a>; the 2010 Team Explorer plus 2012 MSSCCI provider did not work for the SSMS 2012 + TFS 2010 combination. This article, <a href="http://www.techtree.co.uk/sql-server/management-studio-ssms/use-team-foundation-server-tfs-as-your-source-control-in-ssms/" rel="nofollow noreferrer">http://www.techtree.co.uk/sql-server/management-studio-ssms/use-team-foundation-server-tfs-as-your-source-control-in-ssms/</a>, while helpful, didn't really discuss the Team Explorer requirement except briefly in comments from others.</p>
  
  <p>I had the SSMS 2008R2 and TFS2010 combination working fine on an older box using the MSSCCI provider. When I moved to a new box, installed SSMS from SQL Server 2012, and would open and edit my SSMS solutions (opening the .ssmssln files) I was not having any luck in getting integrated TFS source control to work, despite trying a number of different MSSCCI provider versions and TFS Team Explorer versions.</p>
  
  <p>From SSMS2012, I would get the "Connect to a Team Foundation Server" dialog box, with an empty dropdown list of TFS servers, and then attempt to add my company's server, and inevitably get a 404 error, despite entering the same values that worked for SSMS 2008R2/TFS2010 on my older Win7-64 box.</p>
  
  <p>The combination that <em>I believe</em> finally worked for me was: </p>
  
  <ol>
  <li><p>Install Team Explorer for Visual Studio 2012
  <a href="http://www.microsoft.com/en-gb/download/details.aspx?id=30656" rel="nofollow noreferrer">http://www.microsoft.com/en-gb/download/details.aspx?id=30656</a></p></li>
  <li><p>Install MSSCCI Provider for Team Foundation Server 2010 <a href="https://visualstudiogallery.msdn.microsoft.com/bce06506-be38-47a1-9f29-d3937d3d88d6" rel="nofollow noreferrer">https://visualstudiogallery.msdn.microsoft.com/bce06506-be38-47a1-9f29-d3937d3d88d6</a></p></li>
  </ol>
  
  <p>After doing these two things, I recall getting a prompt to open Team Explorer.  I believe it was launched for me either after installing the MSSCCI 2010 provider or when I went to configure source control in SSMS 2012.  </p>
  
  <p>Interestingly, when Team Explorer launched, it showed "the Visual Studio 2010 logo." In any case, I opened it, and went to add the TFS servers. This time, there was an additional entry in the add servers box, that showed the TFS "initial path" (or "instance name") for our TFS 2010 server.</p>
  
  <p>Our TFS server address appears to be:
  <a href="http://OurTFSServer:8080/tfs" rel="nofollow noreferrer">http://OurTFSServer:8080/tfs</a></p>
  
  <p>Previously, there had been no place to enter the "/tfs" part of it. This time, it showed up in the add TFS server address dialog box, and I believe was prepopulated for me.</p>
  
  <p>It appears to me that the missing part was the install of the VS2012 Team Explorer, which seems to know about the "/tfs" initial path, where the VS2010 Team Explorer did not.  Strangely, the Team Explorer that launched showed the VS2010 logo; note that I explicitly uninstalled the VS2010 Team Explorer prior to the sequence of installing VS2012 Team Explorer and then installing the TFS 2010 MSSCCI Provider.</p>
  
  <p>Just to keep things interesting, the MSSCI provider version numbers and dates are confusing.  Here is what the "readme.txt" file says for the MSSCCI version numbers. The file is located at:</p>
  
  <pre><code>Program Files (x86)\Microsoft Team Foundation MSSCCI Provider\readme.txt
  </code></pre>
  
  <p>NEW system: </p>
  
  <pre><code>Microsoft Team Foundation Server MSSCCI Provider
  v 3.5                          09/20/2013
  </code></pre>
  
  <p>OLD system:</p>
  
  <pre><code>Microsoft Team Foundation Server MSSCCI Provider
  v 4.0                          03/07/2012
  </code></pre>
  
  <p>So it appears the combination that was working on my "old" dev box for SSMS 2008R2 and TFS2010 was the Team Explorer for Visual Studio 2010, and the MSSCCI Provider for Team Foundation Server 2012. I also had VS2010, VS2012, and VS2013 installed on that box.</p>
  
  <p>On the "new" box, it appears the working combination for SSMS 2012 and TFS2010 is Team Explorer for Visual Studio 2012, and the MSSCCI Provider for Team Foundation Server 2010 (which has an older version number but a newer build/release date, compared to the 2012 MSSCCI provider).  </p>
  
  <p>What I am looking for is others who use this combination, SSMS 2012, and TFS 2010, to confirm and/or clarify the "success path" of what is required and the sequence, based on their experience from ACTUALLY GETTING THIS COMBINATION TO WORK.  Not what "should" work (and often doesn't), but what DID.  </p>