Why doesn't Microsoft.SqlServer.Smo appear in the Add References dialog - sql-server

I have used Microsoft.SqlServer.Smo.dll and Microsoft.SqlServer.ConnectionInfo.dll in a number of VS2008 projects but they don't appear in the VS2010 Add Reference dialog. Why did they disappear and how can I add them to my VS2010 project?

I'm pretty sure when I've used those I've always added by browsing to the DLLs themselves (but we're restricted to 2005 at work).

As far as I know, those assemblies are installed if and when you install the SQL Server client-side tools. They should be visible in the .NET tab of your Add Reference dialog, for sure (if you installed those SQL Server client side tools).
You can also download those libraries separately directly from Microsoft and re-install them. That sometimes helps to "get them back" :-)
Go here: SQL Server 2008 Feature Pack and find the Microsoft SQL Server 2008 Management Objects about half way down on the page and download the package you need and install that.

Related

I have no option to create new sql server database in vs2013

I installed SQL server 2012 and I have been using it with vs2012. For some reason, now that I have installed vs2013, if I go to "Create New SQL server database...", the option is grayed out.
Just to clarify:
I go to the server explorer tag -> right click data connections. In that list of options the "Create New SQL Server Database..." option is on the list but it is grayed out. Is it necessary for me to link vs2013 to it in some way? I may have done this as part of the original SQL server 2012 installation but I do not want to mess up that setup inadvertently.
Edit: It may (or may not) be worth mentioning that I can actually create Databases for vs2013 projects with vs2012. It is mainly a matter of it being awkward and just incorrect.
An out-of-date of VS2012 SQL Server Data Tools can cause conflict with built in tools for VS2013. Download the latest version of Microsoft SQL Server Data Tools.

SQL Server management in VS2012

At university we have a server lab in which we do development using VS2012 for web modules such as ASP.NET. For such modules, we use Microsoft's SQL server.
My question is which extension in VS2012 would enable you to right click inside an 'open' table giving you options such as Check Constraints, Relationships etc.
I ask this because I have downloaded VS2012 to work on my own personal projects, but on opening a table and right clicking it, I receive an entirely different set of options, and I don't really want to write the SQL myself.
Any help would be very much appreciated. I have installed Sql Server 2012 with management tools etc on my machine here but not really sure what that's meant to achieve or how to integrate it into VS.

How to debug SQL Server T-SQL in Visual Studio 2012

How does one debug a T-SQL stored procedure in a multi-tier application in Visual Studio 2012?
To be clear, I want to set a breakpoint in a sproc in VS 2012, and hit it when the sproc is called from an ASP.NET WebForms app in the same debugging session.
When following the same steps as for VS 2010, the breakpoints aren't hit inside the sproc.
Debugging T-SQL in a sproc on a SQL Server 2008 R2 Express database works as expected in Visual Studio 2010.
To be sure everything was enabled properly, I went over the instructions for VS 2010 (here), but no such page exists for VS 2012 or .NET 4.5.
It seems the missing step is to enable "Application Debugging", but no such option exists in the Server Explorer > Data Connections context menu in VS 2012.
VS 2010 Application Debugging
VS 2012 No Application Debugging
You need to open "SQL Server Object Explorer. Not "Server Explorer". That is what is different between 2010 & 2012. Then right click on the server and select "Application Debugging".
This is for VS2012 and SQL2012. Yes things are somewhat different for other versions, but kinda follow similar setup. It is tricky because one has to have various settings just right or it won't work.
vanilla install of both VS and SQL with all correct options (how to do this is outside scope of this article)
full admin rights to entire environment and sysadmin rights to sql (fundamentally a development environment; you would not want to do this in a production environment)
i always debug .net web apps under full local IIS which is a windows feature installed from control panel
go .net project properties, web, use local iis web server (i also stick to default port 80)
while i develop my databases etc using VS sql server database project, i always work under full standalone local SQL; i use the schema compare to refresh that sql with changes made in VS (how to do this is outside scope of this article)
do not place your breakpoint on that copy of the sp; that version of the sp is only a blueprint and not the runtime version
go .net project properties, web, debuggers (at bottom) enabled for .net and sql server
view sql server object explorer (not server explorer)
click add sql server, add your full local sql server using sysadmin credentials (i always use sa for such work)
right click on your full local sql server and enable application debugging
there go find the sp and right click and view code, then add your breakpoint there; this is runtime version of sp (note that i never make changes to sp there, i go do these in my master copy under the database project)
rebuild solution, and execute .net web app in debug mode from within ide by clicking green arrow internet explorer
I hope I have not forgotten anything. If I have I'll come revised my post.
All this may sound complicated. It is. But with a little discipline and patience it is priceless.
Good luck.
I believe the easiest way to do this would be to add DB as a project to your solution. You can do this by right clicking on the DB in the SQL Server Object Explorer (SSOX). This is a really good way to develop and debug your DB's. After you have added the DB to your project, you can add breakpoints anywhere you want, and debug against LocalDB (or another target if you wish). The largest drawback to this approach is that your existing data will not migrate with you (although you will be able to easily publish any changes back to the SQL DB at will). See the documentation on SSDT on MSDN for further guidance.
The following in detail article explains exactly how to enable debugging of a Stored Procedure when a .Net application is executed.
http://www.sqlmag.com/content1/topic/debugging-stored-procedures-142054/catpath/sql-server

How to get Enterprise Manager installed in SQL Server 2008 Express?

I've installed Microsoft SQL Server 2008 Express twice now, and all the services work and I can create databases from Visual Studio 2010, but I don't have the Enterprise Manager (I learned it is now called Management Studio) available in the SQL Server 2008 program menu-- I do have other menu items like configuration manager, etc. but nothing for Management Studio / Enterprise Manager.
Is there a checkbox I've missed during installation?
I ran a search for all exes in the SQL Server root folder and nothing jumped out as belonging to the Enterprise Manager, but I'm not 100% sure what the executable would be named.
Primary question:
What is the procedure required to install the Management Studio client [for/with SQL 2008 Express] ?
Secondary question:
What is the name of this client's executable file ?
SQL Server Express doesn't come with SQL Server Management Studio (what you are really looking for when you say Enterprise Manager). You have to download it separately:
http://www.microsoft.com/download/en/details.aspx?id=7593
or with tools already as part of the download
http://www.microsoft.com/en-us/download/details.aspx?id=22973
It's kind of tricky installing Management Studio. This article walks you through it.
Here is an explanation of the situation:
The 2008 version of the Management Studio is not a stand alone installation and can only be installed as part of the SQL Server 2008 Express with Tools or Advanced installation.
Like many others, I spent countless hours trying to figure out how to
install the Management Studio for SQL Server 2008 Express - Advanced
installation (same should apply to the w/ Tools version). What
happened in my case was that I installed Visual Studio 2008 Express
and during that process a stripped down "Instance" of SQL Server 2008
was installed that did not include the Management Studio. Through
much pain and torture I learned that the Management Studio can only be
installed during installation of the first instance. To delete that
first instance, you must go to "Add or Remove Programs" and remove
"Microsoft SQL Server 2008". The removal process will only remove one
instance at a time and if you have installed more than one instance
you need to keep going until all instances have been removed and the
application completely disappears from the Add or Remove Programs"
dialog. Note: You do not need to uninstall any of the other SQL
Server 2008 applications that also appear in the "Add or Remove
Programs" dialog. Then go back through the install process as
follows: Double click on SQLEXPRADV_x86_ENU.exe to load the SQL Server
Installation Center and then go to Installation > New SQL Server
stand-alone installation. Then proceed through all of the
installation steps until you get to “Feature Selection” and click on
“Select All” to toggle on all of the Shared Features, which should
include Management Tools - Basic.Continue the process from there and
you should be good to go. Hopefully this will help others to avoid
much of the pain that many of us have already experienced.
The Management Studio exe is named ssms.exe.
The OP is not alone in his puzzlement about the "missing" management client!!! ;-)
The answers by DOK and CD Jorgensen found here were -collectively- among the most helpful I found while searching the web on this particular issue! At the risk of being redundant, I'm adding this answer with the goal of being more explicit and of safeguarding the key screenshots from Andrea Montanari's article referenced in DOK's answer.
Two things to know:
Not all installation packages for SQL Server 2008 Express Edition include the Management Studio.
You either need to ...
a) ... download the Install package for SQL Server 2008 Express with Tools (named something like SQLEXPRWT_cpu_language.exe: note the WT, short for With Tools) or an installer for an Edition of SQL Server other than Express.
or
b) ...download the Installer specific to Microsoft SQL Management Studio Express (same link as provided by CD Jorgensen). This installer only contains the Management Studio; it has none of the SQL Server per se.
[if you go with an a) install package]
The Management Studio (formerly Enterprise Manager) client remains a stand-alone, independent, component. However its installation is now triggered from a selection made as part of the "Install or Modify SQL Server" track.
It is not found in a separate "Install clients and Tools" menu item from the topmost dialog of the installer (as was the case with SQL 2005 and previous versions).
One should stress that it is stand-alone and the client can indeed be installed on hosts where the SQL Server [engine] is not, and will not be, installed at all. However the initial steps in the Installation Wizard give a strong impression that we will effectively install or re-install SQL Server. It is only on a subsequent step labelled Feature Selection that we have the ability to select Management Tools under Shared Features. On that same Feature Selection dialog we have the option of including or excluding, as desired, the installation of the SQL Server Engine and other Server supporting modules.
These are the two key dialogs of the wizard with regards to this issue:
The first one really appears to put you on track to install or mess with the SQL Server itself, the other dialog finally provides the opportunity of opting for the Client Tools (which include, mainly, the Management Studio). This same dialog also allows checking or un-checking the selection to install the Server per se.
Credits and more info:
The screenshots were taken from Andrea Montanari's article on the Insulin Power web site. This article referenced in DOK's answer provides a step-by-step description of the installation based on the "With Tools" installer.
As said in the introduction, I learned much from CD Jorgensen and DOK's answers; I'm merely making a few things more explicit, here, and correcting a few omissions (e.g. there are some installers which carry both the Server and the client, and it is not necessary to install the server).

Embedding SQL Server into a .NET application

Hey, I've just finished writing a VB.NET application. Now I want to package the executable and the database ofcourse into a single installer file. I tried using QSetup, InstallShield to make SQL Server embedded into the setup file, and finally after hours of try&fail I have no idea. Anyone?
You can do a rightmouse on the properties of your Visual Studio Setup Project, and then there is this button 'Prerequisites'. There you can tick 'SQL Server Express ...' Or the 'SQL Server Compact 3.5'
link to image
You're probably best off just to set the connection file directly to the mdf, and attach it when the program is run. This is easier as it doesn't require a custom setup script to install the database to the database directory itself.
Note: Consider using the Compact Version, it's smaller, people don't like a full blown engine on their computer :)
InstallShield has a concept called Setup Prerequisites where you can teach it how to install additional packages along with your own. In older versions this would happen before calling your MSI. In newer versions you can have a "Feature" prerequisite where the prereq can associated to a feature and only installed if that feature is selected to be installed and after it's been selected but still before the main activity of your MSI occurs during the install execute sequence.
InstallShield also has a pattern for executing SQL scripts against your database instance so that you can then load your database into your newly installed instance.
All of this is quite powerful but it does take a bit of digging to learn.
As far as I know, anything but the SQL Server Compact Edition (SQL Server CE) cannot be embedded into your setup, really. Microsoft doesn't want that - you need to have SQL Server Express installed separately - any other edition can't even be shipped with your software (the client must have a license and installation separately).
You can indeed distribute SQL server with your custom application:
http://msdn.microsoft.com/en-us/library/bb264562(SQL.90).aspx

Resources