What source control do you use?

  • Hi there,

    I have recently moved companies and changed my duties in the process.

    I have moved to a company which has an inhouse software development team using the MS toolset (C# on SQL Server). The C# development is all being done in VS2008 and source control is using team foundation server - this works a dream!

    The problem that is being experienced is that the database side of development has yet to use any source control system, other than manual file system folders.

    VS2008 Database Edition was shown inhouse by a developer who has tried to use it, and it seems fine if you work on your own, but quite difficult/cumbersome to use in a team.

    Does anyone have experience in a similar environment? What source control do you use/recommend for this type of team-based database development?

    regards

    GermanDBA

    Regards,

    WilliamD

  • I use VSS 6.0 integrated with SQL 2005. Hav'nt come across any issues, but we are only 3 people working on it.

    "Keep Trying"

  • I've used VS2008 TSDBE in a team environment with the database objects all in source countrol in TFS. It works really well, especially the new GDR version that works with SQL Server 2008.

    If you're not on the GDR release, it is more difficult to work with in the team environment, but not impossible.

    I presented on using pre- and post- GDR in multi-platform deployments at PASS this year.

    What issues are you hitting?

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • Hi Grant,

    as of yet no issues in itself. It looked extremely clumsy when you want to control the database objects between DEV,QAS and Prod systems. Maybe I/we just don't have the experience using it yet.

    The way that we have been shown to use it would be to hold a central store of the db objects as the current and real version, and then branch off a DEV,QAS and Prod version to keep the three separate. The only problem with this is that one app developer may require a separate version of a set of procs than is currently on the DEV branch, he would then need to take a further branch just for this small change. Is this the wrong way to be doing things?

    It almost seems easier to do like my last company and only allow an object to be available once per system (DEV,WAS and Prod). If that is the case then VS2008 TSDBE is totally overkill right?

    Like I say, as DB developers we all have had little exposure to the wonders of source control and maybe we are just finding the concept of collabarative work a little difficult 😀

    Any pointers would be greatly appreciated.

    p.s The head of development mentioned something about VS2010 breaking away from the older/current versions of VS and it not being backward compatible. Could it be easier/wiser to wait for this to go RTM and look at the possiblities that it offers?

    Kind regards

    GermanDBA

    Regards,

    WilliamD

  • GermanDBA (1/13/2009)


    Hi Grant,

    as of yet no issues in itself. It looked extremely clumsy when you want to control the database objects between DEV,QAS and Prod systems. Maybe I/we just don't have the experience using it yet.

    The way that we have been shown to use it would be to hold a central store of the db objects as the current and real version, and then branch off a DEV,QAS and Prod version to keep the three separate. The only problem with this is that one app developer may require a separate version of a set of procs than is currently on the DEV branch, he would then need to take a further branch just for this small change. Is this the wrong way to be doing things?

    It almost seems easier to do like my last company and only allow an object to be available once per system (DEV,WAS and Prod). If that is the case then VS2008 TSDBE is totally overkill right?

    Like I say, as DB developers we all have had little exposure to the wonders of source control and maybe we are just finding the concept of collabarative work a little difficult 😀

    Any pointers would be greatly appreciated.

    p.s The head of development mentioned something about VS2010 breaking away from the older/current versions of VS and it not being backward compatible. Could it be easier/wiser to wait for this to go RTM and look at the possiblities that it offers?

    Kind regards

    GermanDBA

    Oh gosh no. Don't branch.

    You can control what gets deployed by carefulling labeling versions and only doing a build from a version, just like code. To differentiate the security settings, connections, etc, between Dev, QA & Prod, look into using the Configuration settings in Visual Studio.

    With the GDR, you can also break it down by creating a common database project, a server project for each environment or environment type, and a combination project that puts the common database project together with a server.

    Obviously there are details to the implementation, but it's much easier to maintain and manage than what they're currently doing.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • Hi Grant,

    I thought it sounded a little complicated the way that they had suggested.

    It also seemed a little silly that MS would bring something like that to market, especially with a Database Edition, which seems so crippled.

    I think that maybe we should get in touch with someone to take a look at what we want to be able to do. Once we know what we want to do we can then get some training so we can use the tools as we should! 😉

    Many thanks

    GermanDBA

    Regards,

    WilliamD

  • GermanDBA (1/13/2009)


    Hi Grant,

    I thought it sounded a little complicated the way that they had suggested.

    It also seemed a little silly that MS would bring something like that to market, especially with a Database Edition, which seems so crippled.

    I think that maybe we should get in touch with someone to take a look at what we want to be able to do. Once we know what we want to do we can then get some training so we can use the tools as we should! 😉

    Many thanks

    GermanDBA

    BTW, before someone corrects me, branching has very good uses, just not for putting code in Dev/QA/Prod. I wanted to make that clear.

    BTW, there are several people who post here that use Visual Studio, so if you have specific questions, you can always ask. You should also go to the Microsoft forum. Great information there and the developers of the product regularly answer questions.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • Hi Grant,

    thanks for the tips. I will look around and see what I can see.

    I have just spoken with our head of development letting him know that the tool is not the half-baked product that it seemed to be. There is a conference next week that explains the product in some detail and seems to be the best place to start, so that we can see some (almost) real-life implementations.

    From there I think that we may get in touch with some local help so that they can scope exactly what we want to do and guide us in the implementation.

    Many thanks.

    GermanDBA

    Regards,

    WilliamD

  • My company is in the process of rolling out VSTS 2008 Database Edition w/ Service Pack 1. I am trying to understand what the differences are between this version and the GDR version. If we are just starting to roll it out should we be considering implementing the GDR version from the beginning considering this is a paradigm shift in preparation for the VSTS 2010 release? Does anyone have a good web resource for best practices in setting up the environment for a team of developers?

    I have been doing a some research on the web but it is a little confusing with the different versions.

    Thanks

  • John Dempsey (1/15/2009)


    My company is in the process of rolling out VSTS 2008 Database Edition w/ Service Pack 1. I am trying to understand what the differences are between this version and the GDR version. If we are just starting to roll it out should we be considering implementing the GDR version from the beginning considering this is a paradigm shift in preparation for the VSTS 2010 release? Does anyone have a good web resource for best practices in setting up the environment for a team of developers?

    I have been doing a some research on the web but it is a little confusing with the different versions.

    Thanks

    You should use the GDR version out of the gate. No reason not to. It's free, it's the upgraded version and it's the only version that supports SQL Server 2008. That's not to mention the fact that it's better in just about every way.

    As to best practices, no, I'm not aware of one. At the PASS Summit this year I had the opportunity to speak with some of the developers. One of them was working on a white paper on exactly that topic, but so far I've only seen the outline. I'm still working through how to use it in our environment. I have it down cold for full tear down & rebuild, but incremental deployments that involve potential data loss are still a problem that I haven't solved.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning

  • Thanks for the info Grant. I just found out we did include the GDR install as part of our deployment. We are currently in the process of investigating the proper setup and use in our environment.

Viewing 11 posts - 1 through 10 (of 10 total)

You must be logged in to reply to this topic. Login to reply