August 30, 2006 at 12:56 pm
Hi,
We are a small shop using SQL SERVER 2000 and we are growing fast with daily updates to SP/TABLES ETC... How can I do version control for SQL Server 2000? Right now we are using Subversion for our Code but dont have version control for database changes...
plz advise... It will be nice to know about products and also if you can share your experiences about how you handle version contol for db.
August 31, 2006 at 9:00 am
We use MS SourceSafe for stored procedure change management and require database schema changes be made in writing so they can be documented. We rely on backups for reversion. We haven't quite gotten to the point of considering an electronic tool to make schema versioning easier.
A few of the tools I've heard about are Change Manager from Embarcadero, dbghost from Innovartis, and ApexSQL Script from ApexSQL.
Greg
Greg
September 1, 2006 at 8:01 am
Enterprise Manager can script a database into multiple files (one object per file), and you can create a project in SourceSafe with all the files. It's a completely manual process, but requires no additional software. I have done quick-and-dirty schema comparisons by creating script files and putting them through WinDiff.
You can get a third-party product such as the ones mentioned above. Some are relatively inexpensive and some are major investments, but they usually do an excellent job.
You can write your own scripting tool using the DMO or SMO libraries. It takes a little effort (but not that much), and you can add whatever features you need.
The new Visual Studio Database Professional Edition ("DataDude", currently available free as a CTP version) will integrate with source control and manage database objects as easily as code projects. It creates a project of script files representing all objects in a database, and can do schema comparisons between projects and/or databases. They recommend Visual Source Safe 2005 or Team Foundation Server, but it will integrate with any standard source control product. I was talking to a Subversion user yesterday (I've never used it myself) and he thought that it might not integrate as tightly into DataDude as the Microsoft products, but it would easily manage the project of sql script files that DataDude creates. (Caveat: that's a second-hand opinion and not proven fact, albeit from a reasonably intelligent source).
I don't know if DataDude is superior to any or all of the third-party tools, I described it in more detail because I have been evaluating it lately but I haven't tried the alternatives. I know you can get a fully-functional trial version of any Apex tool from their website, some of the other vendors may be equally generous.
September 4, 2006 at 8:22 pm
Might as well bite the bullet while you're small...
Lock down the production database. Remove SA, DBO, and DDL ADMIN privs from all developers and users. Insist on code reviews and unit/itegration testing on a snapshot test box. Create a "ticket" system to keep track of problems and the resulting fixes. Require all code to have the ticket number in the header of the code. Have a daily (or whatever) "change control" from only that code that has been properly checked into SubVersion, VSS, or whatever. The change controls should also have a ticket number and a list of the procs/etc that changed. Data cleanups (corrections or new fixed data) should also follow the ticket/change control system.
--Jeff Moden
Change is inevitable... Change for the better is not.
September 5, 2006 at 5:05 am
Sounds like a lot of work... it's not... it's just a bit different, the Developer's are going to pitch a real bitch at first, and it will save your database someday in the near future as it has with the ones we have at work.
Can we get more details on that?
September 5, 2006 at 7:21 pm
It's very nice but it would be even greater if you could include the "save the db someday" part .
Viewing 6 posts - 1 through 5 (of 5 total)
You must be logged in to reply to this topic. Login to reply