How to support development machines?

  • We have several Sql Server development machines. I am not sure of the exact count since each area (dev, QA, support) has their own set of machines; but I would say less than 20 total. The developers can create databases at will. They create our product database so that they can do their UI testing/development. The databases are created; the dbs don't have a lot of data; and they are rarely dropped until there are space issues.

    Currently, the only task I perform is to monitor space issues on the machines using xp_fixeddrives. There is no need to backup or restore any dbs.

    My question is -- is there anything else I could be doing to monitor the machines? I would like to be more proactive but I am not sure what else I should be doing.

    Thanks!

  • RedGate SQL Response

    some monitoring tool

    or there are couple articles in SQL Central on collecting info from multiple DB servers as a job etc...

    Unless they happen frequently, I would say reactive to DEV machines is good enough

    You can act on it when it actually happens, to clean out some space for example

    SQLServerNewbieMCITP: Database Administrator SQL Server 2005
  • I would run backups. Sooner or later a developer will break something and want to get the schema from yesterday.

  • You might want to get the developers to put their database structures into source control. That way a given development database can be rebuilt from scratch. Further, as they start doing releases to production, etc., you can apply labels so that you know what the database looked like at a moment in time should the need arise to undo a change in production.

    "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

  • I think source control is good, but if you have a lot of developers, it can be rather cumbercome and confusing. What I'd do is once they think they have something set, meaning they'll use this schema for now, add that object to VCS and move it to a central schema. Having their own db or their own schema means developers can play and then when they're ready to move forward, in essence roll out to the shared development area, then you start tracking it.

  • The funny thing is they are not really doing database development work. They just need the database so that the front end will work. So, they don't need the databases to be backed up or version controlled. We have so many versions of our product and everyone wants to connect to their own db so that they can muck around with the data via the UI anyway they want (which makes sense). So, we have lots of dbs just lying around.

    I was just wondering if there was anything I could do maintenance-wise to prevent future issues (and to learn something new).

    Thanks for the replies.

  • it sounds like the environment itself forces you to be in a reactive mode, so there may not be much else for you to do in terms of being proactive.

    you may want to configure some default settings, such as location of database data and log files, to make certain that when databases are created they are being placed correctly. on top of that, you may also want to configure model to have the correct recovery mode, etc., so that new databases cause a few issues as possible.

    do they have sysadmin rights, or just database creator rights? if they are sysadmin, then they will be able to undo all your efforts anyway, which puts you back to being reactive.

    ----------------------
    https://thomaslarock.com

Viewing 7 posts - 1 through 6 (of 6 total)

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