A Self-Serve System that Allows Developers to Refresh Databases (Part 1)

  • Thanks Chris.  That is a good suggestion.

    Ben

  • And how about this free open source tool :

    https://github.com/TomaszM81/SandboxDatabaseManager

     

  • Tomasz,

    It appears that you wrote this open source tool.  Perhaps you can say a little more about it then just giving us a link to the github resume file.

    Ben

     

  • Yes, at the time I was bored with restoring databases for developers at my company and decided to create this app at home and learn some C# MVC. I am part DBA part Developer so this has been interesting.

    So the application is hosted on one central location and has a tentacle style components on sql instances it manages. A developer is able to copy a database from one server to the other and have it restored along with security reconfigured. Obviously It is also able to inspect and restore from backup files.

    Under the hood it does a full backup with copy only option to a remote location and then a restore from that location on target instance. Full progress is captures as if you were directly performing backup and restore from SSMS. There are some other features that make like much easier for developers like Snapshots, Data Comparison, Track Data Changes.The procedures work under the sysadmin but impersonation is disables making the approach secure. Details are on the Wiki in the Installation and Configuration section.

    I do not say it is better or anything but maybe someone will be able to take it and build upon. It is rather flexible.

     

  • Thanks for sharing your tool and for giving a deeper description of it.

    Ben

  • This looks quite interesting!  My only concern with something like this is in a larger company that employees over 250+ developers (where I work), it appears to give too much "control" to the end user (the developer).

    What's to stop, let's say, 25 different developers to doing a backup\restore at the same time?  Or is there a way to manage who is able to do this?  I looked at your provided images\gifs of how it works and I am quite intrigued by how it looks and functions.

    I am a DBA that morphed into a part time developer with the creation of my webapp as well.  The monitoring of the backup\restores to the end user is the primary focus of my webapp and is very helpful to my company.

    I'll have to look more deeply into your web app to see how it works and if it's something feasible that could be incorporated into what I'm working on.  My fear is eliminating the DBA entirely from the backend and as I mentioned before, giving too much control to the end user.

    Nonetheless....very good!  Thanks for posting this.

  • Thanks

    There is security as to which developer is allowed to do what (from which server he is allowed to copy and to where).

    Still like 20 devs will be able to request 20 databases from same server. There is no queue or something like this. Guess a pool on the source db server could identify certain sessions and have like 30% of hdd IOPS allocated to those just not to affect the prod too much.

     

     

Viewing 7 posts - 16 through 21 (of 21 total)

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