Visual Studio vs. SQL Server Management Studio - Your Pick - sql-server

Just to preface: I work in a small company that does ASP.NET development and uses SQL Server 2005 for all of our database needs.
I was curious as to what were the pros and cons of using Visual Studio or SQL Server Management Studio for our development on the database side (i.e. table creation, stored procedure writing, etc.).
Right now we perform all of our database tasks inside Management Studio and I was wondering if there was some benefit to using Visual Studio instead. Would it make it easier to keep track of procedure changes and other modifications to the database (whether that is through Visual Studio itself or through some type of source control (planning on implementing subversion soon).
I don't personally have problems working with Management Studio but if it would be more efficient and more controllable through Visual Studio in ways that I am just not familiar with I would love to hear about it.
EDIT: I just wanted to note that my specific development environments are SQL Sever 2005, Visual Studio 2005 Professional Edition, and Visual Studio Team System 2008 Development Edition. We do not have team foundation server or any other extras running or installed.

My personal method is to use SQL MS for all the design-related stuff (schema design, diagrams, keys, indexes, etc.), but to craft all my stored procedures, functions and the like in Visual Studio in a "Database" project attached to my solution -- mainly because it lets me keep the procs better version-controlled that way (as I find they generally change more often than the schema), and I find it's particularly handy using the context menus in VS to run the procs on my test and staging machines directly, since I do that so often.

IMHO one big advantage to using the management studio is "script as". To my knowledge there is no equivalent in VS.

Visual Studio 2010 has made some pretty nice upgrades to the SQL Server projects and solutions. Read more here:
https://web.archive.org/web/20160407003056/http://leonardwoody.com/2011/08/27/introduction-to-visual-studio-database-management/

I used Management Studio for all of the SQL work earlier, but of late I've found that the in-house SQL manager of Visual Studio is pretty good too. I am using it more and more for running quick query checks, and modifications to the database scheme.
It's got a great feature of SQL indenting, and I've found it pretty helpful. In my view it beats SQL coloring of Management studio.

That's a difficult question. I guess it would depend on exactly what you're doing. If you're building DALs and stuff, it would probably be easier to use VS, since there's some nice integration (drag-and-drop, etc.). VS is probably adequate for 95% of your daily db activity.
But as someone already mentioned, you don't get the "Script As" helpers (which I use all of the time). You also won't get much (if anything) in the way of user management tools (logons, etc.). And as far as I know, there is no way to manage indexes via Visual Studio. You don't get anything with regard to importing/exporting data either.

For me Data Dude (aka Database Edition of Visual Studio 2008 Team System) has been a big game changer in terms of doing the very things your question addresses: keeping "track of procedure changes and other modifications to the database." Not only can your team as a whole keep track of changes between various shared-environments, but through source control each team member can track his or her own differences relative to all of the shared environments. This makes database code truly code, with all of the attendant benefits.
Further, it's a snap to reconcile differences between databases and have the tool automatically generate the code that would reconcile those differences. Ideally database code would be released right out of source control, just as ASP.NET code would typically be done. Data Dude greatly lessens the effort to achieve this parity.
The one negative is the cost: Data Dude requires an upgrade to Team System for those on Visual Studio Pro. Fortunately, evidently Microsoft is going to roll this functionality into the "Developer" edition of Visual Studio 2010, which presumably will have similar pricing to Visual Studio 2008 Pro.

Related

SSDT download guidance

I have SQL Server Management Studio. I've imported an excel file and learned how to write queries on the database. I'm interested in a report templates. I read about SSDT and assume that would be useful to me. When I click on File > New > Project, my options don't include the "Business Intelligence" menu items (i.e. Reporting Services).
The Microsoft page: https://learn.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt
Where I downloaded SSDT, specifically refers to "Visual Studio." Is that different than Microsoft SQL Server Management Studio? Will SSDT work with SS Management Studio, or do I need to downoad "Visual Studio" as well, or are they one in the same... a bit confused. Thanks for any guidance on this.
Cheers.
Visual Studio and SQL Server Management Studio (SSMS) are not the same thing. SQL Server Data Tools (SSDT) only works within Visual Studio, and has nothing to do with SSMS. If you want to use what SSDT offers, you will need a compatible version of Visual Studio to do so.
Updated per request:
SSMS is used to do development around the SQL Server stack, where VS is an all around development tool that you can use to build applications in many programming languages.
Is used to be that SSDT was called Business Intelligence Development Studio (BIDS), and was more of a stand-alone thing; it was really off to the side of the SQL Server stack that business intelligence pros needed to get their work done. Now, with SSDT, MS has made is fit a little more with VS project templates, although you still have to download it separately.
You need SSDT to develop SSRS reports, SSAS cubes and SSIS packages, and it includes tools to help you deploy those things to the appropriate location when you are done with development.
Hope this helps you out!
Actually SSDT will include a scaled back version of Visual Studio that will allow you to create Integration Services packages, including an IDE to create and edit Script Components.
Read about it here: https://learn.microsoft.com/en-us/sql/ssdt/download-sql-server-data-tools-ssdt#installing-ssdt-without-visual-studio-pre-installed

Can Visual Studio replace MS Sql Server Manager?

I've been using Dreamweaver and MS SQL Server Management tool. I've recently got Visual Studio 12. I would like to only use Visual Studio.
When I right click on a table in the db I don't get the Script Table As options.
No, and it's not intended to. SSMS has a lot of functionality which Visual Studio's Server Explorer doesn't, and shouldn't, attempt to reproduce.
For certain use cases, you may only need the functionality exposed within Visual Studio. But I wouldn't want to be without SSMS and all of the tools it includes. Trying to limit your usage to only VS sounds like cutting off your nose to spite your face.
If you want to have a complete administration of your database I would recommend you to use MS SQL Server Management tool, because you can to do tasks like:
Administrator privileges
Security
Maintenance plans
(Only mentioning a couple of tasks. There are more.)
If you want to create a fast DB with the basic tasks with VStudio will be enough.
I will write a couple of links that you can visit, I hope this can help you more:
SQL Server- video tutorials
MsSQL - Tutorials

Can SSMS be replaced by VS2010 Express for SQL Development?

I'm wondering if I can utilize VS2010 Express to create tables, manage/design, and complete queries, or if SSMS will still need to be the go to for this type of work? My googling hasn't provided much detail on utilization of VS2010 for SQL Development alone.
I would still use SSMS. While you can do some table management from Visual Studio 2010, SSMS will contain a lot more features. Another disadvantage of managing your tables from Visual Studio is the UI is much slower than using SSMS, especially when you have a large project.

Can Visual Studio 2008 provide any of the functionality that Query Analyzer and Enterprise Manager provide?

I'm currently using MSSQL Server 2000 and to design tables, create and alter stored procedures as well as manage users and permissions I'm using Query Analyzer and Enterprise Manager. I also spend an awful lot of time in Visual Studio 2008 and rather jump out to other applications I was wondering if Visual Studio could help me do at least some of the things that Query Analyzer and Enterprise Manager let me do. And if so, what specifically?
Mainly I'm looking to:
Check the database schema
Edit stored procedures (with Intellisense available)
Change object permissions
Look at the Server Explorer in Visual Studio. Server Explorer allows you to create/modify/drop/whatever procedures, tables, views, etc, though I can't see any way to modify security settings (users, roles, etc) through the UI. I recommend SQL Management Studio before using the integrated Server Explorer.
I've also just noticed a feature in the context menu for a data connection in Server Explorer called "allow sql/clr debugging." Haven't tried that but sounds like it may allow breakpoints, etc in SQL code. How cool would that be?
Edit: It seems that the Server Explorer may only be available in Pro or better versions of Visual Studio - ie, not in Express editions. Yet another reason to get the full version.
Can you install SQL Server Management Studio? This is far more useful than VS, I think.
I don't like the VS interface and it's not good for query plans, results and tuning. However, some folk I work with appear happy with VS but mostly the c# guys. The SQL heads use SQL tools.

Is is possible to write MS SQL Server add-in?

Is is possible to write MS SQL Server add-in? I'm thinking of some application integrated with database server available form SQL Server Enterprise Manager.
Have you looked into using extended stored procedures to provide add-in like functionality?
The only hang up would be to see it in the Enterprise Manager, but you can probably use Martin's post as a way to do that.
http://support.microsoft.com/kb/190987
You might consider researching extended stored procedures. They are a way to integrated C++ logic into SQLServer. It appears that they are being phased out in favor of CLR integration but there might be some really good ideas to be found is seeing what people have done with them.
The one thing that always scared me off of extended stored procedures is that if your code crashed the entire database goes down. They run in the SQL Server process and there is limited protection.
MSDN link:
Database Engine Extended Stored Procedure Programming
I'm not sure if this is too late but here are some links that I've used to get started in writing SSMS plug-ins.
http://jcooney.net/archive/2007/11/26/55358.aspx
http://www.karpach.com/ViewArticle.aspx?ArticleFileName=SQL-Server-Managment-Studio-Object-Explorer-Search-Add-In.htm
http://sqlblogcasts.com/blogs/jonsayce/archive/2008/01/15/building-a-sql-server-management-studio-addin.aspx
http://aspalliance.com/1374_Extend_Functionality_in_SQL_Server_2005_Management_Studio_with_Addins.all
I hope this helps
You can include a lot into MS SQL server 2005 and 2008 database. Including .Net code.
But there is no real way to extend (create plugin for) the Management Studio. (Formerly Enterprise Manager.)
However there are database management addins for Visual Studio (especially in Team System). Maybe there you can implement what you need.
Nothing directly that I know of. In SQL Server Management Studio (for 2005 and later) at least there's a pretty simple system for adding external tools to the menu. Enterprise Manager probably has something similar. So you could build an application that does whatever you want and add it to your menu.
The trick is deployment. There's almost certainly a way to add your app to the menu as part of an install package, but I haven't had to mess with it myself. Additionally, it sounds like what you really want to do is have the system deployed into the database itsefl, and have Enterprise Manager automatically detect it. I'm pretty sure you can't do that.
SQL Server Enterprise Manager is just an instance of Microsoft Management Console. If you look at the shorcut its command line is this:
C:\WINDOWS\system32\mmc.exe /32 "C:\WINDOWS\system32\SQLServerManager.msc"
You should be able to create a new Snap In that sits beside SQL Server in the tree hierachy.
Take a look at http://msdn.microsoft.com/en-us/library/ms692755(VS.85).aspx to see how this is done.

Resources