Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

The database our developers are working on is too large (have a lot of database objects). We have to control db objects changes (change management). Our company cannot have a person who would be responsible for db changes only. So we need a source safe for database objects, something like version control for standard code, but more related to database, that can synchronize database and scripts. What is the best one. Reliable, Cheap, Functional - choose the two ones :)

share|improve this question
@Nick Chammas I have seen it, that question has a little bit other meaning on my opinion – garik Jan 26 '12 at 11:50
up vote 13 down vote accepted
share|improve this answer
Developer discipline will be the hardest... – gbn Jan 25 '12 at 10:13
And most difficult to setup/deploy! 8-) – Oleg Dok Jan 25 '12 at 11:36
@gbn - Once it becomes part of their workflow with the right tools, versioning their database work will become second nature. – Nick Chammas Feb 7 '12 at 17:16
The key to devloper discipline is not allowing them to move objects to QA or Prod (which frankly they shouldn't be doing anyway)and the people who do have the rights will only move from your source control. – HLGEM Feb 25 '13 at 15:59
Oh and when we first put database code in source control , someone periodically ran a script to delete any objects not in source control. Only takes once for that to convince everyone that it is a good idea. – HLGEM Nov 12 '13 at 18:31
  • Usual Database/Server projects in Visual Studio
  • RedGate SQL Source Control

both are compatible with TFS and SVN/Hg

share|improve this answer

Our team uses Visual Studio 2010 Database Projects. Most of our projects rely on MS Team Foundation Server for source control, which integrates seamlessly, but I found out recently it will work (with only a little pain) on other source systems. We have one such project on Perforce. The build and deploy features of VS2010 work very well and can be automated using PowerShell (very useful if for instance you wanted to restore a baseline to test deployments). Different configurations can be created if for example you want a full or differential deployment target.

You can also include data population or other scripts with your deployment, and those go under version control as well. Database objects may be managed by checking in scripts you create or you can use the more intuitive schema view. All of the dependancies are tracked. You can manage every aspect of your SQL Server DB under source control, including all of the properties, files and file groups, and permissions. Great for keeping standards and practices in place. It has a visual database diff tool, I prefer Red-Gate's implemtation of this feature, but you don't use the graphical compare to create deployments in VS2010 and it's become moot as I've grown comfortable with the MS builds and how much they help me keep my DB projects clean.

Unfortunately, I cannot compare at this level of depth with other systems for keeping databases under source control. I've worked quite a bit with "developer discipline", but I no longer consider that a system and never want to go back to that. Also had a brief stint using an SSMS plug-in to SVN but that was quite awhile ago. For that we had to use Red-Gate to generate deployment scripts.

share|improve this answer
+1 thank you for useful information – garik Feb 1 '12 at 6:54

ApexSQL Version, supports Visual Source Safe, Subversion, Team Foundation Server, SourceGear Vault and MSSCCI compliant versioning systems

share|improve this answer

The source control tool is designed to be a replacement of VSS and can integrate with SQL Server Management Studio.

share|improve this answer

DB Ghost is a good tool for versionizing your databases. Sync, compare, delta, copy, build, script...and it can be run via command line for automated jobs.

share|improve this answer

SQL Server 2008 R2 (and earlier) Source Control FYI: Database objects are not directly protected by the source control provider… Meaning you still have to use a disciplined convention… Because you can still make changes to database objects using other tools…

Unlike MS database projects RedGate SQL Source Control connects your databases to your version control system…

share|improve this answer

We've just released our Database Enforced Change Management solution to MS-SQL.

Yes - I'm biased as I work in DBmaestro

I believe our product answer your needs and I would encourage you to read a comprehensive, unbiased review on Database Enforced Management Solution by veteran Database expert Ben Taylor which he posted on LinkedIn

share|improve this answer

Our system Sql Historian removes the need for "developer discipline" by automatically maintaining the latest version of your db objects into SVN or TFS. It was designed to be transparent to your developers' current workflow, so you will have a perfect record in version control without any loss of time or complaints from the staff.

share|improve this answer
Please disclose your association with any products you endorse. I'm assuming this is your product since the domain matches your username. – JNK Feb 11 '15 at 13:25
Yes, sorry, I thought that the domain and username match would be obvious; no trickery intended. – jlee-tessik Feb 11 '15 at 15:17

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.