SQL for Developers with SQL Server Data Tools (SSDT)

by Ventsy Popov

Not so long ago, I took part as a speaker in an interesting event – SQL Saturday. It was the first time the event was initiated in Bulgaria and without trying to be definitive, I think I saw quite many people there. I also got the understanding that the organizers are planning to have it next year as well. If anyone is interested in more information, here is a link you can use to dig deeper: http://www.sqlsaturday.com/.

Now having some minutes (and desire), I am writing a few words to share the main highlights from the session I had. My hopes are that this would be beneficial to someone, who did not have a chance to attend SQL Saturday.

Top of mind issues
We started off by evaluating how “easy” or “hard” it is to deal with SQL development, especially if you are an application developer. And here are some conclusions:

·        Databases are stateful entities, i.e. every change should preserve existing data;

·        Moreover dependencies complicate state preservation;

·        Errors are often found at a late stage  - during execution;

·        Application to DB sync is hard;

·        Targeting more than one SQL version is pain.


Some ways out
Moving to some thoughts for a solution then…

·        If possible - be declarative, not imperative (“CREATE” vs “IF EXISTS”);

·        It will be good to have validation and verification in design time;

·        Nice to have same tools whether disconnected or connected;

·        Useful to compare and update different Schema Models;

·        Be able target more than one SQL version;

·        App and DB development into a single IDE;

·        Use Source Repository for DB as well.


How to achieve all this?

To get all of the above goodies you can try-out SQL Server Data Tools: http://msdn.microsoft.com/en-us/data/tools.aspx. For a developer using constantly Visual Studio it should be quite convenient to have T-SQL editing capabilities in daily heavy used IDE. On top of that some other cool features for DB development:

·        IntelliSense;

·        Validation (platform specific);

·        Code navigation;

·        Visual table designer;

·        Additional language support (i.e. resolving capabilities);

So, check it out if you are into DBs :). It’s worth it...