Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

I do not understand what SSDT do as opposed to (or not?) SSMS and SQL Server Object Explorer

So all my searches, regardless of combinations of keywords, end up showing me articles that assume I know all about SSDT.

Can someone please explain to me...

  1. Where they can be found in VS2015 (or 2013) or elsewhere.
  2. Were they created specifically for VS - I thought I read that some time ago?
  3. Why use them instead of SSMS?
  4. Why use them instead of or what is the relationship to SQL Server Object Explorer?
like image 942
ThomasAJ Avatar asked Sep 19 '25 09:09

ThomasAJ


2 Answers

Basically there are different project types for SSDT, they are visual studio project types and so have been created specifically for visual studio.

If you are developing SSIS or SSAS then you need to use SSDT (or pay for something like the varigence mist product), now it seems like you are talking about SSDT for database projects which is a template that lets you create tables, views, stored procedures (and quite a few other types).

SSDT for database projects is normally what people talk about when they say "why should I use ssdt over ssms", what I normally say is that ssms is an administration tool, and ssdt is the developer tool.

If you have a simple database and it is not very complex then ssdt is probably an overhead you don't need. If you have a complex database where you need to make changes to - ssdt is great because it gives you:

  • Compile time verification (you know the code will deploy and run, in ssms if you mis-type a table name in a procedure you won't know until run time)
  • Find all references (to see where a table, column, procedure etc) is used you can right click it and find all the references. This makes it easy to see where an object is used and if you have create table a.a and create table b.a - it will only find references to the one you want, rather than a string search for tables called a
  • Refactoring, use ssdt to rename a table or column (refactor->rename) and when you deploy it will generate a sp_rename (correctly) rather than dropping and creating the table - this is great and means you can tiidy up your database as you go.

For a full rundown of why I think you should use ssdt see:

https://the.agilesql.club/blogs/ed-elliott/2016-01-05/What-Is-SSDT-Why-Should-I-Bother

Ed

like image 80
Ed Elliott Avatar answered Sep 20 '25 23:09

Ed Elliott


  1. As it is said already that it is Visual Studio plugin/extension. You can easily find it by googling "download SSDT";
  2. I did not get the question, but if as far as I understood then SSDT can be used with VS only;
  3. SSMS benefits: easier for Query writing and DB administration; SSDT benefits: Version controlling, offline development, object validation and reference check, automated builds/deployment, and many many more. In 2 words: SSDT for DB development, SSMS for adhoc queries and DB administration ( you can do many things with any of these tools, but at least for me it is easier to use them for these purposes)
  4. Did not get the question, maybe I already answered it in scope of 3)
like image 40
Dmitrij Kultasev Avatar answered Sep 20 '25 23:09

Dmitrij Kultasev