SQLServerCentral sends out a daily email and today had an interesting offer to take a survey from redgate. They were asking questions of Visual Studio developers that heavily use/interact with databases.
If you fit into this crowd help out by taking their survey here.
Initially I really distrust the idea of having SSMS like functionality within VS. I know it is already there but I just have really avoided them, though I try to use them from time to time just to give them the benefit of the doubt.
For some reason Microsoft tends to like to dumb down anything in VS that’s not strictly developer oriented. This is a huge separation from their current “give the power to the programmer” mentality when it comes to features like VS Add-Ins, NuGet, T4 templates, EF4 Code First, etc. For some reason DBA tools have fallen into this “black magic, we’ll hide it for you” dark side of VS. So, since VS 2003 and probably a little before, any database interaction was kept at a very high level. You simply couldn’t dive right into necessary tools like T-SQL easily.
Consequently I’ve always developed with VS and SSMS side by side. So, I’m in that old school stick in the mud crowd waiving my cane in the air shouting, “I’ll give you my SSMS when you pry it from my cold, dead hands!” Call me old fashioned.
As SSMS just continues to improve (throw SSMS Tools and other indispensible add-ons in the mix) I have had no desire to even attempt DBA functions within VS. Honestly, SSMS is becoming so nice to use it is pretty much on par with my respect of VS 2010 as the developers IDE. SSMS is the DBA’s tool of choice for me and quite happily so.
If they literally took SSMS and put it into VS I think I’d still avoid it. The need to Alt-Tab between the two really creates a mental context switch in my head that helps my productivity. Read my post on Alt-Tab Aids My Mental Context-Switching for more info on this, but it is a real productivity asset to think about.
If switching between SSMS and VS tools (literally and mentally) all inside the IDE were any more complicated than a simple Alt-Tab I would not be inclined to switch.
It would need to offer enough extra "can’t live without" features to overcome the current simplicity of Alt-Tabbing between VS and SSMS. For instance, I would love the idea of being able to code against a dev database and having the IDE help generate a change script, all which would be kept in source control. The entire database design should be kept in my source control as well, so that when I add a column or an index the change script and create script are entered on the next commit.