Many people believe that if you’re an experienced developer or DBA, you always use command line or script based tools. That’s how it worked in The Girl With the Dragon Tattoo, right? So graphical User Interfaces (GUIs) are for beginners– it’s code that the pros use.
I agree, to an extent. Code’s great for creating repeatable change scripts. It’s great for automation. It’s needed for source control (duh).
But don’t give up on the GUIs.
GUIs Help You MAKE Scripts
One of my favorite features of SQL Server Management Studio is that it helps you script things out. For most tasks, you can stage them in the GUI, then find a button that allows you to script the task out.
That’s great for helping you check that code in, record it in your change process, all that great stuff.
GUIs Make Some Things Easier
It pays to spend time with a GUI, because there’s all sorts of hidden goodies.
With SQL Server, it’s worth it to keep the latest and greatest installation of SQL Server Management Studio on your desktop machine. You can download it for free. You don’t have to update the version of your production server.
In SQL Server 2012, new GUI features help you do restores of damaged pages much more quickly, and streamline some steps.
Don’t Assume GUIs Are BabyProofed
One of the reasons I like to script out from a GUI is that it doesn’t always do exactly what I think it will. Examining the script it creates may help you notice things that are going wrong. In the worst case, the script will at least leave you a bread crumb trail to work out later what actually happened.
Those new GUI features for restores I mentioned in SQL Server 2012 are a case in point: if you don’t know exactly what you’re doing, you could accidentally take your database offline when trying to restore a copy– or even lose data.
Don’t Judge A User By Their GUI
I work with lots of clients, many of whom have used SQL Server for years. Some like using the GUI more than others.
It turns out, using the GUI for occasional tasks isn’t really an indicator of skill, intelligence, or speed. People who’ve written good automation still sometimes use the GUI to take care of a one time task quickly– and they are even fast at doing it! GUIs really do make some tasks quicker and easier, as long as you know what you’re doing.