views:

171

answers:

5

I'm a developer with over 10 years experience in vb5/6, C#, VB.NET, 3 years of WCF too, design and architecture. I consider myself to be pretty good and can usually solve anything given time (like most good developers). I worked for a company for 8 years and during that time used a database called IBM UniVerse, it's an old Pick style database (multivalue), but it's ok. My trouble is, I've used a multivalue database for such a long time of my career I haven't got a lot of major advanced skills in SQL Server. I know enough about ANSI SQL to get by, but usually consult the net for syntax here and there, whilst in the 8 year job we automated SQL commands so I didn't even write SQL for at least a few years. Now I've left and I'm looking for another job and most of them say not only do you need to be an absolute expert at C#/VB.NET (which is fine) but you also need to be an expert at SQL Server and have the ability to write complex stored procs in T-SQL and performance tune. Now, I could probably get by just fine and learn as I go as I generally do anyway, but when it comes to write T-SQL on a stupid piece of paper in front of 4 people in an interview I don't do too well. I do like SQL Server as it has a management GUI unlike IBM UniVerse with it's DOS like command prompt! So using the management studio is fairly easy, setting indexes, creating tables, creating relationships etc.

So my question is, how to I go about getting up to speed very quickly in all things SQL Server? Most jobs now seems to be "Software Developer / DBA". In my opinion they are separate jobs, but oh well, can't do anything about that.

A: 

SQL Server and T-SQL are not things you can learn quickly, they are large and complex subjects and you need to put the time in.

SQL Server books online is the best resource for SQL Server and T-SQL.

It includes examples and documentation and best of all, installs to your computer when you install SQL Server Management Studio.

Get the installer here.

Oded
-1 for response indecipherable from a spambot. It's a thoughtful question; leave a thoughtful reply.
D_N
@DN - Answer edited.
Oded
Ah, it was a 'shoe in the door' comment. Downvote rescinded.
D_N
+1  A: 

Buy a good book or two, and create a sample project to test your new skills.

I'd strongly suggest, in order:

Marcus
+2  A: 

It will take time. The main thing is being willing to put in the effort to use it/play around in your own time - SQL Server Express is free so download and install it at home.

If you can come up with a real-world project for yourself, that'd be ideal - gives you a challenge to develop a working system backed by an SQL Server database that you need to design and develop yourself from scratch. This will help build up the core skills and allow you to make mistakes which are very valuable to learn from and then see/research a better approach.

In other words "doing" is very important, supported by reading books/blogs/following SO questions that are relevant. You'll naturally come across scenarios that are common within SQL Server development.

AdaTheDev
A: 

I have a tip for you. I'm a student at college programming vb.NET, JAVA and c# in the 3 years i'm here, and have worked with ms access, mysql and sql server as database. We get the most different tasks here, where we need to set up databases and get fun programs to make. The advice i'm giving you is get in contact with students like myself, and make some sort of agreement: they provide u with their tasks, giving u something to work at and learn from and in return, u van provide that student with advice about how you would start with the task.

I'm not saying you should do the work for the student, but those tasks don't require that high skill of programming so it's basically good to start with and learn along the way.

Hope this helps

djerry
+1  A: 

I'd strongly suggest you try http://sqlzoo.net/ , it's how I got started with SQL.

It allows you to write queries against their databases (CIA World Fact Book, Movie Database etc), to hone your skills. It returns result sets, and you can always look at the answers if you get stuck.

Just make sure to change the syntax drop down to whatever platform you want to learn (sounds like MS SQL in this case).

Albert