MS SQL database Admin/IDE - mysql

I'm using MS SQL for a project, but have always used MySql in the past. MySql has a really nice interface which lets you build queries, offers help, backup etc.
What free programs are there for MS Sql that can do this. I'm currently a student so I have free access to MS Sql but the only interface I have for it right now is Visual Studio 2008.
Any suggestions?

The SQL Server Management Studio is available in an "Express" edition as well. It's a separate download from SQL Server Express, though.

SQL Server Management Studio should come with SQL Server and is quite a nice and easy to use administrator tool.
create DBs, tables etc.
control permissions
run queries
and much much more

Related

Add BIDS to free SQL Server 2008

I have installed the free version of SQL Server 2008 (without SPs) and I am looking for a way to add Business Intelligence Development System (BIDS). Can this be done or do I need to install a different free version? I am just trying to learn about SSIS, SSRS and SSAS.
I think you need SQL Server Express with Advanced Services which I believe includes BIDS (a limited version). You can find it here.

Create Database in SQL Server 2012, Script and Use in 2008?

If I create a database using 2012 and work and add that info to it, if I were to script the database after, would I be able to run the script in 2008 and have everything work A.O.K?
If you are using SQL Management Studio, you can right-click on the database name, then select Tasks → Generate Scripts.
Here you will be able to create scripts to script out the Schema, Data, or both Schema and Data, and if you click the Advanced button, you can specify which version of SQL Server you'd like to target.
So, simply choose SQL 2008 as the destination server and you should be good to go!
A script? Yes. Well, let me rephrase: it depends. As long as your objects don't use any 2012-specific features, you will be able to script out the schema using Management Studio or a variety of 3rd party tools (I blogged about some options here). Many of the tools also offer options (or companion tools) to also script the data.
The problem is there isn't a very easy way in SQL Server 2012 to identify all of the places where you might be using 2012-specific features. For example, I don't know of a tool that will inspect your database and point out that you are using the FORMAT() function, which is not available in SQL Server 2008 or 2008 R2.
Other means of copying the database over - backup/restore, attach/detach, mirroring/log shipping etc. will not work. You can go up (from 2005, 2008 or 2008 R2) to 2012, but you can't go backwards.
So in general I agree with John. Much safer to develop on a version <= deployment version. Why would you want to develop on 2012 to deploy to 2008? Seems quite risky to me.
If you have very large amounts of data to move (gigabytes) then the TSQL scripts that the SQL Management Studio will generate for you could give you problems because of the sheer size. A better alternative would be to use BCP (Bulk Copy Program). The downside is that this is a command line utility and requires more work than just using the wizard.
As luck would have it somebody has written something which looks remarkably like the wizard only using BCP. It is the SQL Database Migration Wizard and is freely available on Codeplex - http://sqlazuremw.codeplex.com/releases/view/32334. Originally intended as a database migration tool between SQL Server and Azure you can just as easily use it between SQL Server and SQL Server. The key is to go into the advanced options (similar to the Management Studio wizard) and pick SQL Server. Later when you are prompted for the target system choose your 2008 installation.
I had no 2012 specific artefacts in my database and it worked very smoothly for me.

Can I make SQL 2008 Management Studio validate code for SQL 2005?

We have a production database running on SQL 2005. We are using SQL 2008 Management Studio. The issue we are having is that some of the stored procedures/functions we write get code that is compatible with SQL 2008, but not with SQL 2005. The newer management studio doesn't flag this as an error, but when we try to deploy a version, we get a large amount of errors. Is there any way to get 2008 Management Studio to validate code for compatibility?
Thanks!
Even if you are using Management Studio 2008, you dev database should match the prod one. It is an extremely poor idea to develop against a 2008 databse when your prod database is 2005. You can still hook to 2005 databases in management studio 2008. Then you will find out immediately that the code doesn't work. In fact if you are attached to a 2005 database, it will only let you use 2005 syntax. We attached to 2000 database for a long time until we got all the servers upgraded and it wouldn't let us write 2008 specific code as long as the database we attached to was 2000.
If, for some reason (and I stringly recommend against it), you will continue to develop against a 2008 database, I also suggest you look in Book Online for the new features of 2008 and make sure all your devs know which features they should NEVER use. Make sure your code reviewers check code against the list.
You can set the Compatibility Level to SQL Server 2005 (90) under the Options section of the database properties.
Right click the database, select Properties, and then select Options.

Programming without a DB

I have a project to work on. The project requires SQL server. I am using LINQ. So since I dont have SQL server installed on my computer, is it possible I can just use the LINQ designer to create my classes? And then when I do publish my website to a online hosting company, I can use the LINQ to create the tables and stuff?
Is this overly complicated? I want to stay away from using SQLite, or SQL Server Express or SQL server compact because its hard to transfer stuff. Atleast for me. My one problem is also that I want to use ASP.NET Membership stuff. If I run the .exe tool to automatically create my tables, how would I accomplish this without using a db? I tried using SQL server compact (mdf file i think?) but apparently the tool does not support it.
So what are my options here. I'd like to being programming right away however paying for hosting online is just a waste of money for me right now until i have some of the project done.
I'd suggest installing SQL Server Express Edition on your computer and using that as your database during development. I know that there can be some confusion and difficulty when upgrading your development database from SQL Server Express Edition to the professional edition on the hosting company's database servers, but I'm confident that the time you will need to spend on that will be dwarfed by the time you'd need to spend to build and use a mock database layer, not to mention the extra testing you'd need to do once you moved to a real database.
Also, the challenge in moving from SQL Server Express Edition to the professional edition at the hosting company shouldn't be too bad if you choose a web host that has tools for importing your SQL Server Express Edition database into their database server. (Some have it so you can just upload your SQL Server Express .mdf file and it will automatically import it into their database server.)
Two things you can do
Install Sql Server Express on your development machine (or a server on your LAN). This way you will have a local database to develop and test on.
Not necessary, but you "could" try to use Entity Framework in place of LINQ, and use Code First mapping.
Also with Sql Server Express, you can do a lot of your database work right from Visual Studio (providing you're running VS Pro).
I want to stay away from using SQLite, or SQL Server Express or SQL server compact because its hard to transfer stuff. Atleast for me.
Upgrading shouldn't be too difficult.
My one problem is also that I want to use ASP.NET Membership stuff. If I run the .exe tool to automatically create my tables, how would I accomplish this without using a db? I tried using SQL server compact (mdf file i think?) but apparently the tool does not support it.
aspnet_regsql.exe works on Sql Server Express
Use SQL Server Express. It is free. Easy to install in your development environment. In SQL Server Management Studio (SSMS), you can right-click on a table and generate scripts to create the table if you did this from the graphical designer. All you have to do is run the script on the new server. There are free tools that can create/transfer data as well.
What are you going to do down the road when you need to test changes? I hope you don't plan on using the production database.
Just generate your entities by hand, later you would be able to easily attach SQL Server to all this stuff.
Create classes and mark them with required attributes (I don't remember their exact name,check MSDN)
P.S I just can't believe SQL Server Express is not enough for you )

advantages of sql management studio?

i just installed sql server 2008 express in order to learn microsoft sql.
why should i install sql management studio express? is it much easier to use this GUI?
If you installed SQL Server 2008 Express and got a GUI, that is the SQL Management Studio Express which was included in the installation.
They have a seperate installation fo the Management Studio Express, which will install just the client GUI without the database server, in case you want to use it to connect to a SQL Server database running on another machine.
The default GUI for SQL Server is Management Studio, so you should already have it. If not, it is a free download here.
It gives you visual access to tables, stored procedure and many of the other features of SQL Server. Not to mention a nice SQL editor with syntax highlighting which also works as a SQL console.