Does anybody have any recommendations for managing database changes with Team System 2008 and Team Foundation Server 2008? I am a developer for my company and was hoping to achieve source control over the database stored procedures, triggers, tables etc... with TFS 2008.
We are currently using TFS 2008 to manage our source code for our .Net projects. We have Visual Studio Team System 2008 that contains the Architecture Edition, Database Edition, Development Edition and Test Edition. I am not really familiar with the capabilities of the Database Edition.
I really appreciate any recommendations.
Just to let you guys know we will be using this for source control over 2005 and 2008 sql server databases. Thanks.
We have been using DB Ghost for out database change management. It does a good job capturing the entire database. They have a recommended flow for starting out and getting your db in source control.
That said, if you already have Team Suite, I would recommend using the built in tools. Here is a link to the MSDN Getting Started type info for Team Edition Database.
Good luck, and congratulations on making the decision to version your database. It is a challenging process, but a very important one.
With the database edition you can easily import you database objects and add the objects into source control. When you develop your database, you can do that from within the database project and then deploy the changes to sql server.
See also the Database Guide from the Visual Studio ALM Rangers: http://vsdatabaseguide.codeplex.com/
Related
Does anybody know if it's possible to move a TFS repository from SQL 2012 Express to SQL 2008R2?
Background:
At some point someone in our shop installed TFS to test it. This was done on a SQL 2012 Express.
Over time this installation has become our de facto source control system and contains history for 25+ different solutions.
Now our Sys Admin would really like to get rid of this 2012 Express edition. Which means we have to move it to our 2008R2 SQL production server.
No, as far as I know this is not officialy supported. SQL Server is backward compatible meaning you can go from 2008 to 2012. The other way around however is not supported.
By far the easiest solution would be to move to a regular SQL Server 2012 install. When you have a license for TFS, you also get a license for SQL Server Standard that you can use.
If that's not possible, you should contact Microsoft support. They have a script that you can use to migrate the data from one database to another. This can be done to run a downgrade but it's only supported if Microsoft helps you with it.
I have two TFS servers. One is a legacy TFS2010 server that contains an old collection of our projects. Last year, we spun up a new TFS2012 server. However, we never migrated our source code from the old server (we treated it as a fresh install and created new projects).
We are now looking at retiring the 2010 server completely and I want to migrate the legacy 2010 collection (actually all I care about is the source control and history) to the new server as a separate collection, but I can't figure out how. I've followed the instructions on MSDN (http://msdn.microsoft.com/en-us/library/vstudio/dd936138.aspx) but when I get to the step for attaching the collection on the new server, TFS complains that "no attachable databases were found" on the sql server.
I've also tried running the "tfsconfig Collection /attach" command on the target TFS server (even though numerous posts I read say it was deprecated in 2012). It tells me it can't connect to the target database server (even though my production collection is attached to it on that box).
Does anyone know if a collection migration from 2010 to 2012 is even possible or if I'm just spinning my wheels? There's no official documentation from Microsoft that I can find that says such a migration is even possible (even though there's nothing I can find that refutes it either)
Server Specs:
Old SQL Server: Enterprise 64 Bit 2008 SP3 (10.0.5500)
New SQL Server: Enterprise 64 Bit 2008R2 SP2 (10.50.4000)
Old TFS Server: 10.0.40219.1 (SP1 KB2182621)
New TFS Server: 11.0.60315.1 (TFS2012 Update 2)
You can migrate a single collection. The steps I know working are:
detach the collection from the 2010 instance using TFS Admin console
backup the database (or detach from SQL)
restore the database new SQL instance (or copy the files and attach them from SQL) -- check does not clash with existing database names
attach the collection from the 2012 TFS Admin Console
The last step will kick off the upgrade process: the collection will not be available until the process is complete. It could takes minutes or hours depending on the size, and make sure you have enough space for SQL transaction logs.
Take a look at Team Foundation Server Integration Tools (March 2012 Release): http://visualstudiogallery.msdn.microsoft.com/eb77e739-c98c-4e36-9ead-fa115b27fefe
The TFS Integration Tools is a project developed by the Team
Foundation Server (TFS) product group and the Visual Studio ALM
Rangers to integrate Team Foundation Server with third party systems
for migration and synchronization of data.
There is a migration guide for TFS 2010 to TFS 2012 located here: https://upgradetfs2010totfs2012.codeplex.com/
it may be faster in some cases depending on the size of the projects that need to be moved (and the number) to start by importing the latest code into the existing version of 2012 since you are concerned only with moving the source code. You do loose the history however.
Do a in-place migration, described in Team Foundation Server Upgrade Guide, from Microsoft ALM Rangers (http://vsarupgradeguide.codeplex.com/), and next migrate the collection to the new server. From 2010 to 2012 it's a very simple migration.
Don't forget backup the databases before doing a in-place migration.
We want to maintain our sql server scripts history. What is the solution? can we integrate SQL Server Management Studio 2008 with TFS 2010?
Sure, there is, a DB professional which is a project type in the visual studio, this type of project will maintain DB objects as separate files so it can be treated as normal C# or VB file, for version control.
SSMS is able to save sql files to SCCI compliant source control systems, such as TFS. Here is an article explaining how to achieve this.
However, this just saves sql files but doesn't assist in the versioning of the schema objects in your database. Should you need to do this, SQL Source Control, which we have developed at Red Gate, allows you to connect your SQL Server instance in SSMS to your back-end source control system, such as TFS.
How exactly does that integrate with SSMS??? You can still go behind the scenes with ssms and edit whatever you want, regardless of source control.
This is a beginner question, I have to create some SQL Reports with business intelligence Studio 2005, but I don't have any idea how to connect to the TFS server 2008 Database.
These are my doubts:
how to get the TFS DB server name, whether this will be different from TFS server name.
What all user permissions are required for working with the DB and which database of TFS 2008 should i connect to.
Whether Business Intelligence Studio 2005 supports creating reports for TFS 2008.
A normal TFS 2008 installation consists of multiple DBs on a single SQL Server. For the name of that SQL instance you need to ask your administrator.
For reports you want to use the TfsWarehouse DB. This DB also feeds a SSAS cube (again, ask your admin for the instance name), which can also be used for reports.
You need read permissions (data_reader on SQL Server) on one or both to create reports against it. Using BI Studio 2005 should not be a hindrance.
A word of caution: The warehouse structure has changed significantly with TFS 2010, so your reports will require some rework when you change.
Check out this blog for additional info on custom TFS reports and the warehouse structrure.
Is it Possible to integrate sql server databases into visual studio team foundation server 2008 as all possible circumstances like build making, version control,publishing etc....
and pls make sure that if we integrate this in to a team project combined both code and db in a single project and i would like know how it is possible....?
Look at the Red Gate SQL Source Control product. Thats what we use to version our database in TFS.