Ask Slashdot: Getting Exchange and SQL Experience?
First time accepted submitter william.meaney1 writes "I'm the sole network admin at a 25 person company. I was lucky enough to get the opportunity less than a year after getting a technical degree in IT. I've had some huge opportunities here (for a first time network admin). After my schooling, I went ahead and I'm now CompTIA A+, Network+, and CCNA certified. Now, being hired out of school, I was grateful for the job, and the boss hired me for peanuts (Less than $30,000/year) I've been living at home, using that money for loan payments, car payments, and certification expenses. I've started looking for other work, and I feel more than qualified for most of the requirements I'm seeing. The big hurdle I'm coming across that EVERYONE seems to want is experience with SQL databases, and Microsoft Exchange. I was wondering if anyone had any ideas for getting usable experience on a low budget. I have some SQL experience, I deployed a source control program here that uses a SQL express backend, but what else do you need to know for database maintenance?"
Install some critical app (without permission if necessary) on your current corp. network that uses SQL server -- Presto, instant experience.
Nothing beats hands-on experience, so get some on the cheap. Get an MSDN Technet subscription; for $199 a year, you'll get free personal/learning licenses of SQL Server, Exchange, and just about every other big Microsoft program. Play with them. Set them up. Try to break them, then fix them.
Nike would like to have a word with you.
Get free satoshi (Bitcoin) and Dogecoins
you need to know TSQL...and maybe some new stuff like MERGE.
do you know how to use SQL profiler? are you exposed to custers? Normalization? OLTP?
Work for a small IT company that provides services to small / medium businesses. Prove yourself there and get involved on as many projects as you can - You will get a ton of experience and learn more than you ever will sitting in corporate IT. It's not easy work if you are doing it right, but if experience is what you want - that is a good place to find it.
+++ATH0 NO CARRIER
> what else do you need to know for database maintenance?
Learn to create and edit maintenance plans. You can do it using SQL Server Mangler Studio connected to a real SQL Server. I do not believe you can create maintenance plans on SQL Server Express.
I'll see your senator, and I'll raise you two judges.
Everything you could need for free, just google.
Two links below explain how to set up maint. plans, add user/logins, import/export data, etc.
http://www.mssqltips.com/sqlservertutorial/2210/maintenance-tasks-for-sql-server/
http://www.databasedesign-resource.com/sql-server-dba.html
... ... ...
The big hurdle I'm coming across that EVERYONE seems to want is experience with SQL databases, and Microsoft Exchange.
program here that uses a SQL express backend, but what else do you need to know for database maintenance?"
You're conflating knowledge with experience.
Having experience with SQL means being responsible if something breaks, and successfully fixing it. Not just knowing how it works.
Hire a fresh grad as a network admin ....!? This only happens on MS shop.
Offtopic, but I'd drop the A+ certification from your resume. When we get applicants with A+ listed, then we assume that they don't know enough to know that it means nothing and we bin them.
Honestly, if you're looking to learn them, there are plenty of resources out there. If you want the cert, I would suggest a certification specific class, as the cert tests contain many, many things you will never ever do in real life.
You could get info here http://www.microsoft.com/exchange/en-us/learning-resources.aspx
or there are a few books.
If you just want working knowledge, The issue is that its fairly common knowledge, at this point. You may want to look into a specialization around one of those programs? Maybe DR, cloud infrastructure? Administration is too commonplace to make a dent in your future, IMHO.
Learn other, better, software completely free, hack them yourself, play with them. set them up. try to break them, then fix them.
Or give Microsoft more $$$, your choice..
Sadly, getting in the door is the hard part as HR and recruiters don't give a shit about any experience you may have outside of a corporate environment.
First, you need to look at what skills the jobs will really require. If they are looking for an experienced DBA, you're a long way from qualified. If the postings you're looking at are with SMBs looking for some general IT staff, then you can probably already handle most of their needs.
Database administration is a discipline all its own. It takes a long time to learn databases at that level, and that's probably not what you want to do. Most of the shops looking for someone experienced with Exchange and SQL Server are looking for someone who can handle basic installation, configuration and, most importantly, troubleshooting. You can learn those skills pretty easily by just playing around with the software and using Google and maybe a few books. As others have already recommended, a TechNet subscription will be helpful here. SQL Express will get you started nicely. Don't consider yourself ready until you've managed to break things a few times and figure out the fixes on your own. I strongly encourage you to get familiar with Exchange 2012 and PowerShell, even if the job descriptions don't mention them - they're the way things in the MSFT world are going, and you'd need to deal with them sooner or later.
Sounds like you have been watching too much gay porn. Wrong hole.
I have been developing .NET apps for a long time and prior to that I was using LAMP. If you want to learn SQL you can get a free copy of Microsoft's development tools, specifically Sql Server Express 2012, and Visual Studio Express 2012. If you have zero sql experience I recommend picking up a book and learning that way to get started.
As far as Exchange you should get some computers / servers to practice on, or a really good one and use Hyper-V for lab setups. Spin up several of their eval licenses and configure the eval version of Exchange on Active Directory. I also recommend going through the features / roles of Windows server. Basically jump in, get books where you need the deep knowledge, but nothing beats hands on experience. Learn to talk the talk and walk the walk.
If you want a good practice server I recommend getting a Dell XS23-SB on eBay, I paid about $300 for mine, it has four "blades" that you can use. Or like I said get a kick-butt system and use Hyper-V.
I see this as a three step process:
(1) Use the other resources mentioned above to teach yourself SQL server and Exchange.
(2) Find a nonprofit agency in your area who needs help with their computing environment. Offer to help them on a volunteer (ie, unpaid) basis. Be sure this help includes working with SQL Server and Exchange. Be picky about this. Do not get involved with an agency where the work will not help you build your practical skill set. Also be sure that there is someone at the nonprofit agency who is willing to act as a reference for you at some point in the future. You don't have to explicitly ask this upfront, just be sure that the senior most person you can find knows enough about who you are to say nice things about you.
(3) Use this real life experience to help you land the next job on your way up the ladder.
(4) Optional: Continue working with the nonprofit agency if it makes you happy.
BTW... you can do steps 1 & 2 in parallel, ie start looking for a nonprofit while you are learning SQL Server and Exchange. Both steps might take a little time.
Employers want a "jack of all trades / swiss army knife" IT guy.
Rarely do you actually get that. apply anyway, you might have enough experience to get the job.
Don't try and "fake" SQL experience. Especially do not try to "fake" Exchange experience. Exchange = Outlook = Users. Any half decent exchange admin will trash you in an interview and you'll leave with a prayer of getting the job.
Do what everybody else does: get a buddy to lie, saying you have experience. I'm not condoning it, only reporting what I've seen others do that "works". Conscience optional.
Table-ized A.I.
You may be out of luck with Exchange if your employer isn't using it, but you certainly have the leverage for SQL server. First off, what are you doing to be a good sys admin? Basics would be to set up monitoring for drive space, CPU and running services. You really only need to know cursory SQL and the rest is account security.
Then you would be able to truthfully say "I have experience installing and maintaining SQL Server. This includes initial setup, configuring users, databases, running vendor installation procedures and applying monitoring. I have automation checking my servers to make sure they are running, not out of space and have enough CPU to get get the job done."
If someone pushes you on knowing SQL the bottom line is a SQL developer position is going to make substantially more than the system administrator.
Start at the beginning. Too many SQL users (including developers!) haven't a clue how to properly use it. As a DBA, you'll be called upon to provide that, among other things. So start with the theory and practice of SQL. Especially since it actually is founded upon fairly solid theory, meaning that if you know the theory the practice suddenly becomes a lot smoother. The rest will follow from that.
See db-class.org for a MOOC intro. If you've worked your way through that you'll know where to start looking for learning about the DBA-type things you'll need to do: Schemata, indices, query tuning, and then the subtler tuning like moving tables and indices around on disk or solid state or in-memory or what-have-you. And the basic knowledge will be useful any time a user asks for your DBA-hatted help.
As to exchange, it's crap, and you'll be better off knowing less about its internals. It's hairy and quirky and apt to eat your mail. In fact, it's not even a proper mail server: It's a suitable server for outlook, just as outlook is not a proper email client, but a suitable client to exchange. The combination means a lot of interop trouble that could've easily been avoided.
Since you'll be called upon to make it play ("nicely" is not in the books) with the rest of the world, again, start from principles. Learn how to set up an MTA, know how SMTP and IMAP work. Send yourself an email by telnet. Know what the various headers do. That MTA set up with matching IMAP server, don't have to be exchange at first, in fact it's better not to. Once you know how the rest of the world does it, you can learn how exchange fscks it all up, and how to keep the thing on a leash.
For bonus points, learn how to provide everything that exchange purports to provide ("collaboration" and calendaring and "syncing" and so on, as well as half-assed not-entirely-unlike-email type "messaging") using open-source software. Get that down smoothly (there are several ways and alternatives available these days) and you have another selling point: Providing a better experience with less cost.
That was what you're looking for, right? Points to sell yourself with?
The best experience is hands on, but in place of that Microsoft has virtual labs that allow you to setup and build whatever you want. It's been awhile since I've done any but I believe you get an hour to play around with whatever you want. They also have some guided labs.
http://technet.microsoft.com/en-US/virtuallabs
Get permission from your company if you want, but call M$ and say you are thinking about switching to exchange and want to know if they can help with a trail run. MSDN is great, but not free, and this way you have access to M$ support during your inital setup. Run it a few months, play with it, break it (on purpose if you have to), have M$ help you fix it again, then make sure you thank the sales agent profusely as you uninstall and decide not to buy...
An I.T. motto in the hands of an idiot is a dangerous thing...
Go learn a programming language and build something. Grab some decent books on the subjects necessary (PHP, MySQL, RDBMS architecture in general, CSS, HTML, Javascript, design); online tutorials are great but personally I find books to pack more valuable data in one place. I suggest (and I'm going to get attacked for this, but oh well) PHP and MySQL, and that you go build a forum (with user registration, threads, posts, profiles, etc.). I think that's about the right scope to be able to put on your resume while still being possible to do in your spare time. I should know, I built one about a decade ago, and I'm now a professional web developer with a great startup, about to release a mobile app for several clients nationwide.
If you want to stay with Microsoft, you could do the same thing in ASP.NET and SQL Server in place of PHP and MySQL (though I find that using Microsoft technology stacks tends to silo you from the rest of the development world). Or you could go all new-age and use Rails or other frameworks.
Even if you don't want to be a developer, this will give you a thing to point to on your resume / cover letter to say "see, I have experience with these methodologies" even if you've never worked with them professionally.
It's better to vote for what you want and not get it than to vote for what you don't want and get it.
- E. Debs
> what else do you need to know for database maintenance?
A Lot more! I've been a DBA / SQL Engineer for 11 years. I learn new things about SQL Server and its tools all the time. The problem for you is that it is easy to cause problems or performance issues with a SQL instance and companies don't want you to break their websites and applications. If you really want to go in the direction of being a SQL Server DBA here are some things you should learn or complete:
1) Learn to program. T-SQL is a programming language just like any other (and while the GUI for Management Studio is nice you won't use it for everything.)
2) Programming will also help you when performance tuning queries and jobs. (Honestly, the best DBAs come from development backgrounds not Admin ones)
3) Get the MS certification exam study guides and go through the examples (It comes with a CD with SQL Enterprise 180 Day license to play with)
4) Work with the DBA developers at your current job on any SQL projects even if it is shadowing them just to see what is involved (You will learn something even if you don't get to practice it yourself).
5) Consider taking a Junior DBA position making less money where they will mentor you and get you the real world experience you need (Even if it means making less money to start off with)
5) Pickup the basic MCTS: SQL 2008 Database Administration Certification (Or 2012 if you want to start out ahead of the curve)
- You will want to continue this as you get experience till you have your MCITP or one of the new 2012 certs.
Honestly with your resume (network+, CCNA) you may want to consider becoming a network administrator instead since you have all the certifications you need already. Good Luck either way!
Run.
Ask any seasoned exchange admin.... your life will become hell for not filtering the spam, or, because you filtered not-spam.
It's vastly easier to just install something that minimally works, than it is to maintain said system when you run into mysterious problems.
If you don't know all about the dark corners of SQL backups and imports, manually doing SQL queries, navigating around schema, looking for inconsistencies, manually truncating log files, the implications of all of the above actions, and more, you don't actually have any SQL experience. That's not DBA stuff, that's just basic admin stuff.
IMHO, there's no better experience than breaking shit. When some major service, with crazy service interdependencies just won't damn well start up, you'll quickly learn everything there is to know about that system, as you're tracking down the problem, step by step. Of course for some people in IT, sacrificing a goat, and just clicking random buttons, and doing a google search for the error messages they're getting is the only thing they can think to do, and they don't really get much benefit out of it. But for me, hammering on a system until it breaks in weird ways (even just filling-up a file system) and then figuring out how to systematically track down the problem, and going through the fixes, really is by far the most valuable IT knowledge.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
Rats usually 'leave' the sinking ship, not flock towards it.
Did occur to you that there are also jobs that don't require experience with SQL databases, and Microsoft Exchange, and they just might be better for your future in the long run?
If you're successful with your current plan to bring SQL and Exchange into your current job, you'll be forever remembered as that 'A hole who infected our company with SQL and Exchange'. That won't help your references any either.
Over the last 15 years at my company, I have upgraded to Exchange 5.5, 2003 and 2010 by researching online. No experience with any other than reading books\online posts on how to install and configure. Of course I did have to call MS support once or twice, but even the best admin needs help sometimes.
Just find a server and install the programs. If you do not have them, see if your company can purchase a Microsoft Action Pack Subscription. Its ~$400\year and gives you full version of their software to run your company. Eventually you will need to purchase them, but for that price you get LOTS of software to learn.
I work as a SQL DBA and Developer and I can say 90% of my learning at first was digital ebooks and certification exams, my first DBA job was over a 15K bump in pay from the Win Server Admin job I was working at the time. It always helps to have the 1 or 2 years of Windows Admin before going into SQL so there is a base understanding of the operating system and hardware.
The simplest and cheapest method would be to get the SQL developer edition (Amazon, $43), it has all of the features that the Enterprise version of SQL includes, it just cannot be used for production just development.
With this version you can learn the DBA role: Administration, logins/users, backup/restores, troubleshooting, T-SQL, managing jobs, writing stored procedures, triggers and automation. Kindle eBooks can be had for under $50 on amazon, there's even a free one called "Introducing Microsoft® SQL Server® 2012".
The SQL developer version also includes the SSIS and SSRS which is the ETL and Reporting Services part of SQL Server. (moving data and reporting on data) There is a growing need for people who can develop SSIS packages or convert old SQL 2000 DTS, create dynamic reports in SSRS and handling Business Intelligence requests and Datawarehouse needs (this usually includes SSIS and SSRS).
Try looking for jobs with SSRS and SSIS and check salary.com to get ideas for a career path and also doa google search for "sqlauthority interview questions" to get an idea of what a DBA is expected to understand.
Good Luck!
The description from the post makes me think of some company with a cable modem coming in from the outside with some crappy SOHO router branching off into a couple dusty old 10/100 switches from the late 90's scattered across the office somewhere in closets that only the guy that was there three or four techs ago know about. Then the office 'servers' are probably a few tower PC's underneath someones desk (if they are luckly otherwise they are strewen around on the floor in some back storage area). Daily tasks probably include helping Sally in accounting find the ANY key and replacing the DVD drive in Dan the boss' son computer after he uses it as a cup holder.
As far as for a help desk level persons depth of knowledge that they are looking for when they say knowledge with SQL Server is basically to know how to use the Admin too to go in and do import and exports of certian tables and maybe if you are lucky light knowledge of SQL. I'm sure everything will be prescripted for you in some SOP anyway so all you have to do is just read what the DB wrote and do that. You aren't going to know how to create table, triggers, sequences, indexes and all of that kind of stuff.
As far as helpdesk knowledge of exchange basically they are looking for someone who can set up mailboxes.
As the job descriptions are written by some HR twit who doesn't know jack anyway.
get you some exchange, sql, server 2003/8 (to setup Active Directory) and sharepoint, find and RTM on setup. Enjoy your very own Sharepoint site. Just dont use the software for enterprise use or commercial gain
Microsoft Virtual Academy and a trial account on Azure
If you want to make yourself valuable with Exchange, start learning PowerShell. A huge bulk of the administration is command line through PowerShell scripts now. For SQL, start working towards a MCDBA. Check and see if there is a MSSQL user group near your area. They usually have training sessions during meeting and it would prove to be very valuable for networking with people in the industry when you start looking for a position. One of the best suggestions (as mentioned before) is pound the virtual labs.
not a RDBMS ... Microsofties refer to MS Sql Server as "SQL" ...
Has always bugged me. My estimation of a person's SQL Skills gets taken down a notch when I hear them refer to SQL and I realize they mean SQLServer .. ... Fecal Server
Or as some of refer to it
I know, I think they are garbage too, but it will at least lend a a bit of credibility to your resume if you have the MS certs for SQL server and Exchange. As for experience or with a non-profit (and these are two technologies that are not usually found in your local church or such unfortunately), if you can't get it through work then build yourself a lab. Grab the free VMware ESX edition and build up a virtual lab environment. You can do this for under a grand easy: case, PS, Intel desktop board, i7 proc, 32 gigs of RAM, extra Intel 1Gb NIC, and a couple of 2TB drives will allow you to run around a dozen VMs (assuming most are not doing much after they boot, usually the case). This will allow you to practice things like clustering, mirroring, etc. When the evals expire, build new boxes and start over. Added bonus: this will get your feet wet with virtualization.
I browse on +1 so AC's need not respond, I won't see it.
this why IT need more trades / apprenticeships that have ways to letter people learn. The trades schools are nice but should be more drop in to learn X skill.
Microsoft often has "second chance" deals on certification tests.
Buy the book, study, run samples on SQL Express, then take the test. If you fail, you'll know what the test looks for and can re-take the test.
Is this:
"Network Admin" as in switches, routers, firewalls, etc.;
"Network Admin" as in the often used anachronism dating from the 80s for novell admins but actually referring to what's presently known as "Windows Admin," or generically "Server Admin"; or
"Network Admin" as in "Jack of all Trades IT guy" in smaller organizations?
If you meant the first one, which maybe you did given that you have a CCNA, then you don't need to learn Exchange and SQL server. It won't hurt, but it sure won't help as much as going for your CCNP will.
Also, consider this a branching-off point. It sounds like you might presently have a job in the "jack of all trades" category, which can give you a high-level perspective of many of the areas of specialization. Pick the one you like the most, and start learning your new specialty. Cross-training on the basics can be very valuable. Learning how to do basic scripting (perl, python, lua, whatever..) will save you much more time over the years than you spend learning it. If you encounter a repeatable process then automate it. If you don't know how, then learn how, and automate it. Sorry if I'm drifting away from your question, and into general advice for someone starting out. :-)
I also have to agree with some of the other posters, even if it seems like they're trolling. Get that A+ and Network+ crap off your resume! Nobody respects it, and it only serves to accentuate your inexperience. Start cramming and replace it with something better -- schedule your exam today if you need motivation to pick up the books!
Oh, and lastly.. Don't hang out posting on slashdot. Big waste of time!
Literally the first result on google - Free 180 day trial and exchange download
Seriously. It's 2013. If you want to go the Microsoft way, you're one or two decades late, every moron out there who ever inserted a Windows Server CD in a PC calls himself a Windows Engineer, and they work for even less. Just don't. Try to find a junior-level network engineering/operating job (already worth a lot more than 30k) and get CCNP or CCIE certified while working.
I head the more certs the better or at least don't drop ones you have so if some has A+ as well other ones you drop them as well?
Write up a business plan as to why using exchange would be best for the company your at and get your boss's approval to install it. When I was a sysadmin for a company a little smaller than yours (it was a side business I had going) they were using windows server small business edition so it came with a dumbed down version of exchange and the cost was pretty low for what you get. I don't recalled if sql server is included in that as well, but as was stated before there are free versions. You can set one up and write a small app for tracking tickets and hardware to justify it.
I'd suggest finding your local SQL Server user's group or a virtual chapter on administration. Start by looking at www.sqlpass.org, the Professional Association for SQL Server. It's a nonprofit that runs a bunch of user groups and chapters and various free training events nationwide (SQL Saturday for example).
For specifics on SQL Server admin, the true path to mastery starts with understanding transaction logs, backups, and restores. Paul Randal (http://www.sqlskills.com/blogs/paul/) is the foremost expert on teaching such things, since he wrote a lot of it when he worked for Microsoft. He covers backups, recovery, transaction logs, troubleshooting, and general storage-end stuff. I've been doing SQL Server DBA work for almost 19 years, and his blog still teaches me things regularly.
As for Exchange, learn the basics of how Active Directory authentication works, how SMTP and IMAP work, and most importantly for any mail administration, how spam filters work and which ones are good and which aren't. Exchange is a complex system and I'm not as familiar with it as I used to be.
People (especially here) will tell you that Exchange is crap, which totally explains why millions of companies that are profitable use it, because it's crap. Oh wait. That's right, they use it because it works and provides value to their businesses. Perhaps they have logging requirements imposed on them by various regulations (SOX, for example) and they'd like to share the liability if something doesn't go right, have off-the-shelf commercially supported and legally recognized tools for discovery, and having that security blanket provides them with value for their business. If you go into an interview situation and they ask you about your Exchange experience and you start with "Exchange is crap, use Sendmail instead!" they'll thank you politely and walk you out.
As for anyone starting out in the tech field, especially on the admin side, I'll offer a few little bits of advice:
Keep things as simple as possible. It's usually cheaper in the short and long run to throw hardware at a problem than it is to build something elegant and hard to manage.
"Robust" doesn't mean it works all the time. Robust means it fails in predictable ways.
Centralized Logging + Morning Coffee means never having to tell your boss you don't know what broke overnight.
Checklists. Build them, use them, every time. Server builds. Software deployments. Backup procedures. Restore procedures.
Don't plan backups. Plan restores. Figure out how you want to recover from a backup, and then figure out how to do backups to support that.
You young whippersnapper get on the front page of SlashDot with questions on how to get job experience as a junior Windows admin. When I was your age I just installed the product and played a bit with it, asked some questions on usenet and then did an exam. Shortly after that, I discovered that once you had the certifications, there wasn't much of a career left to make with MicroSoft products so I switched to better paying operating systems and gigs. Look around you, plenty of jobs in IT don't even require knowledge of even a single MicroSoft product. You're just looking for jobs that require your skill set and find out that they also want MSSQL and MS-Exchange. They all want the world and are happy with a few countries, delighted with a whole continent. Just apply to the job and state that you've learned the rest of your CV's skills in relatively short time and have no doubt that you'll pick up exchange and sql quickly. That's what experience will teach you, not how to admin an Outlook frontend box....
I was promised a flying car. Where is my flying car?
It makes me really sad to see the CompTIA certified people absolutely beaming with pride. All the while I'm thinking; yea that and a couple years experience will get you a job answering phones for level 1 tech support.
Step 1: Open script to page 1
Step 2: Thank you for calling...
If you can't get a raise, then look for other work.
Given you know nothing of either Exchange or SQL... what do you do right now for websites, databases and e-mail? Get a handle on your own environment first, know how it works down to the detail.
Exchange and MSSQL Server are just implementations of an MTA and a database server. You've got to understand the principles first. I had minimal experience with MSSQL but when I moved from a hosting company using primarily MySQL to a manufacturing company using MSSQL, I had no issues understanding that it was slow because the tables didn't have any indexes or that it was unsafe to use in-code SQL statements.
Custom electronics and digital signage for your business: www.evcircuits.com
I had this problem too. I found a way around it...first, you need to have 2-3 IT friends that are on the same level as you. One of you needs to go post a few "jobs" to something like ExpertsExchange or such, with requirements like these jobs are looking for. Something along the lines of a single server or two, IIS, SQL, Exchange, OWA, AD, etc, and maybe 5-10 workstations. Have the "contract" on EE spelled out clearly, use all the PM jargon you can. Then post it, build it, and do part of it...build the server however you can (warez if you need to), get it stable and running so you actually know what your doing. Pay yourself, rate yourself. Boom, resume fodder. Your not lying, it's just a...misdirection of sorts. If you say the client is overseas, have an email address they can email to check up on...your the one answering the emails, or your buddy. Use gvoice if you have to to get an out-of-town phone number to trick the HR drones. Say you did the work as an Independent Contractor, but now you want to go corp to get insurance or something. This will work, we did it quite a bit. After the first time your done and you have real experience you can just drop this off your resume.
Its okay, he's a technical school grad, not College CS grad.
Get a job at another company that uses that stuff. You can do helpdesk or junior network admin with the experience you have now. Offer to help out the database team with basic tasks, if their workload is anything like our team's is, they will not turn you down. After you build up some experience there is often room for career advancement.
I could probably almost double my salary if I moved to an app development or dba role, but the headaches those guys have to put up with just makes it not worth it to me. At least at our company. Engineering just seems to be a lot more by the book.
My advice is to start reading the best practices documentation for SQL, and hit MS first. Dont play with the other stuff till you feel realy comfortable with MS SQL Server. It will give you the most bang for the buck (or time) that you spend this early in your career. I wouldnt worry about exchange beyoned a basic maintnence level. With 365, most companies will start moving to that model. Its cheaper than spending 100k + every couple years upgrading, re tuning, all that bs when MS comes out with a new Exchange version. Virtulization has moved to the point where its almost a deriment no knowing it, and you can learn that so you can then sandbox MSSQL. Good luck, and welcome to the Lions den, hope you brought your sheild and spear..
Learn on your own and create a project that you would need it. Then put it on your resume as having done it at work. Too many people lie. I don't and I'm a fool not to.
There are plenty of those who know SQL. So learn about database clusters. How to set them up, how to backup them, how to replace a node on fly, how to debug slow queries etc. Learn a little also about NoSQL, at least enough that you know what it is about. I would not bother with Exchange at all, e.g. our company is currently in a process of getting rid of it and moving to gmail. The future seems to be in clouds and clouds are build from clusters that can do dynamic load balancing.
I wanted to say something like; get an older textbook that covers drawing schemes visually, and learn to redesign into various "normal forms". Learn about integrity constraints etc; All your initial points relate to actual understanding of SQL which is transferable to all most any DBMS.
At the end though I think you laid the sarcasm on too thickly. Perhaps you want your message to be selectively communicated?
But, I started out long ago. Here is how it rolled.
Started by accident. Foot in the door was someone I knew needed an AS/400 night operator. This job basically entailed loading tapes at given times, and handling print runs and batch jobs, and escalating where needed to 2nd line. That job ran for a while..
That place decided to downsize and change, but the AS/400 stuff gave me enough to go look for more. I ended up in a place with AS/400 and Novell. They moved across adding Win 3.1 and 3.11 and NT4 with MS mail.
This worked through 95 and 95b (at the same time at home at this stage I was running a mob of stuff, a Cyrix IBM 5x68 and some mixed Amiga gear. The office was moving through 286, 386, and 486 gear.
Carried on as AS/400 and PC support continued to cross over, with growing aspect on PCs and support.
Moved to London, carried on, the AS/400 stuff faded and I ended up full on covering PCs, Networks, Servers.
I've been through the whole MS family and I started on Exchange 5 through to the current 2010 release.
Cutting to the chase.
1. Get Technet. I don't know if current circumstances allow MSDN, but get a technet account. Anyone, and I mean anyone working with MS software, PC stuff in their job aspect should have a Technet account. No discussion. No If's, no But's.
2. One of the short comments above was one of the best. Get an MS virtual academy account, and get a trial of Azure.
3. I'll assume you already use virtualisation. If yes, hit 4. If no. Stop everything else. Now go explore Hyper V. Learn it. Learn how to set it up on domain (easier) - and off domain (who made this shit) - and go find a tool called coreconfig from codeplex.
4. Check 3 carefully. Check it again. Anything you are going to build in MS-SQL or with Exchange going forward will likely sit on Hyper V.
5. The requirements of single handedly working on a large scale MS structure of AD, MS-SQL, and Exchange - have basically gotten pretty huge. So large in fact you'll then need to become expert in System Centre. So, slow down. Start to work this carefully. If you plan to do this, and you really mean it, start with some core parts, like Hyper V, and build an exam path and qualify what you can as you go.
6. 5 is an enormous workload today in 2013. If anyone claims otherwise, I think they are talking shit. You are likely to end up majoring in parts, and being laymen in others. My suggestion is that if you choose to do Exchange, and you like it, then built it, test it, exam on it, and make the cert grade. If likewise you work on MS-SQL - and you like it, commit to a focus.
7. The world is full of laymen. Then numbers of people who know enough to be laymen is legion. There are way too few people who really know their shit. In the near future, the laymen are the ones who are heading out of this, don't be one of them.
8. IMHO, although I have said stuff in the above, I believe the above is an environment Microsoft are actively looking to kill, damage, reduce, and replace. As such, be exceptionally aware that you may take the above path and be heading for oblivion. Microsoft are buying more servers than anyone else at this time, and have done this for an extended period of time. Their sole intention to a greater degree is to make cloud their business, and make everyone else out there run their business on the MS cloud. And by MS cloud, I mean a non user serviceable cloud run by Jeffrey Snover level powershelling autobots, because the size and scale by intention is to make what I do now, and what I think you seek to do in near future - too expensive, too slow, and legacy. AD, PC management, Mail, and SQL won't be staying on our Local Lan's, and our users are already mobile. Areas like backup and system management will get automated out, or reduced. So, go look at point 2 carefully. The trial azure account, and learning azure to a level you were considering for Exchange and MS-SQL may be your first step along with Hyper V - and then you may take modifed roads on handling Exchange and MS-SQL azure versio
We`re all equal
Technical skills can be obtained but they are something that anyone can get.
The soft skills are important too. I have managed Exchange in the past and I'm currently training for my first SQL Server qualification after a year of optimising and improving the maintenance of some business critical databases. (About 10 years of SQL/Access experience from before that)
Both require the ability to maintain uptime, schedule appropriate and timely maintenance and the ability to fall back should your "easy" upgrade go completely wrong. (This is often not your fault!). Have you set up WSUS to roll out Windows Updates to computers for you? Do you vet updates and roll them out to small subset of PCs before allowing the update to go out across the network to make sure that there isn't an issue? One rogue update can cause a day of grief if you have to manually uninstall it.
Do you maintain backups? Do you test them regularly?
Do you produce good, well written documentation? You may be replacing somebody who has been sacked as something has gone wrong and their documentation consists of post-its on servers saying "reboot me every Thursday at 5pm, managers in a meeting then.".
Things like this are probably more encouraging to an employer who has critical services (and all services become critical if they go offline!). Eager people can learn fast, they can also make critical mistakes very quickly if they make quick assumptions.
I have only recently started with the SQL Server books and—to my surprise Microsoft—I have been pleasantly surprised. They acknowledge that they cannot teach a fixed solution. The books teach that "X, Y and Z are solutions", but also ask you know the reasons WHY you would pick one above another in a given situation.
I second the idea of helping a voluntary organisation as well then are often in need of expertise and going into a real world scenario and being able to fix issues and improve systems is valuable experience.
To be honest, you'd be better off applying for strictly networking jobs where you can show your experience with what you have done so far. Find a good networking job that will use all of the skills you have learned and that will pay you the same or better than the low-ballers that want to hire one person to wear many hats (i.e. do 5 jobs for the price of 1). They are out there, especially at academic institutions and network appliance vendors. Network appliance vendors, specifically firewall and traffic screening, will also get you experience in network security, which would be more closely related to what you do now, versus learning a different career path of application server management. Network security is extremely lucrative right now and would be the better direction for you if you want a long career. MS Exchange and database storage is rapidly moving to the cloud, and on premise management is declining or moving towards managed services. The database people still in the office are more programmers than server/application technicians. I'm not saying there isn't a need for DBAs or SQL Database administrators right now, but the scene is quickly consolidating and moving in other directions. If you really want to learn all those apps, by all means take more Microsoft training classes and join a consulting company, you'll get the experience you want, while it lasts.
One way to get such experience is through a company looking to hire and mold candidates. I run an intensive training program for incoming folks at our hosting company which includes SQL server, IIS, and AD. We're hiring some folks to start in July so email me if you are interested, d d rem u n d@ gmail.
You have a CCNA and you are only getting paid 30k? UH I hate to tell you this but you should be in the 60k Range. If you are not MOVE to where the jobs are.
You are exactly right you are getting paid peanuts. Let me impart my IT wisdom upon you. You work 40 hours a week and they pay you for 40 hours a week.
That is called an even. You worked you got paid.
Don't waste your life at a company who doesn't value your talents. Sure money isn't everything but make sure you are getting maximum benefit for your output.
Don't work at companies who don't upgrade their equipment. You will fall behind and your skills will be less marketable.
Don't work for companies who don't value IT. That's most of them
Don't work for companies who have old tired equipment. You don't want the 2:00am phone calls.
Don't work for companies where you are the entire IT dept. You become the angry IT guy who is still doing Desktop support work for dumb users.
You sir need to move now!
Firstly, you certainly do have some balls asking something involving MS on slashdot that doesn't involve shitting on them in some way... But really, you should find a local SQL Server user group and attend the meetings, they usually have some decent presentations and a good chance to network and likely find people looking to fill positions from Jr-Sr level, also attend any local SQL Saturdays. It's a full day of training for free or 10 bucks(for lunch) and usually has really useful sessions from 100-400 level. You can pick up a Developer edition of SQL Server, it's relatively cheap (50$) and has all the features of Enterprise, to mess with. Set it up and start using the features.. Alternatively you can check out several blogs about SQL that walk you through setting up a lab, complete with AD, DCs, SQL Servers etc all for free. That will let you try all features you could ask for in almost any configuration You may want to pursue one or more of the certs available just to get through the HR filters as well..
So many injustices..so little time..
ways to letter people learn
You should try using that preview button properly. You might catch some of your own errors and eventually learn to post something that isn't utter gibberish.
The easiest way to learn SQL is to get Microsoft Access, get MYSQL server, setup a server, use Access as the front end and then build an app for... I dunno, recipees or something.
After a quick perusal of the comments I haven't seen this mentioned yet.
Dude, you have a CCNA.
You aren't exactly clear what your experience has entailed so far, but, (if you enjoy networking) you should try to continue down that path.
You're already a considerable way down the networking road with the CCNA. If you have been getting hands-on experience with Cisco gear at your current job, I would definitely leverage that to try and get a more networking-intensive position somewhere, where SQL experience would be superfluous.
And a foreign key is just a copy of a primary key in another table, plus constraints. Learn that one :-)
If you want to give your employer a bit of value in your SQL experiments, show him an Iron Speed demo. Ain't free, but it's cheap, and you can pump out a lot of web-based reports for them quickly (Bosses love reports, and they love quickly). You'll also learn your way around IIS (yes all you out there, Apache rocks, I know, I've heard it, I've supported it. Give the guy a break, ok?) which means you can learn about Exchange's outlook web access at the same time, if they're running Exchange - and most businesses will, for a while longer anyway.
Also, if you're on an intranet (not talking about DMZ here) you definitely want to specify Active Directory security integration, and don't muck with the default collating order unless you really know you want it.
And don't use auto-shrink. At all.
I've found SQL Server Central to be useful sometimes http://www.sqlservercentral.com/ -- go there and start reading.
Do not mock my vision of impractical footwear
Get an MSDN subscription from Microsoft. The subscription will provide you with access to fully functional copies of all Microsoft back office server software (Exchange, SQL, SharePoint, etc). Setup a VMware ESX server, or use Microsoft Hyper-V. You can build your own lab environment and tinker away.
The road block you will eventually hit is that running SQL and Exchange in a small lab is nothing like running it at scale. There are massive differences in storage architectures and performance when you start trying to scale the technologies.
VMware has some good tech books on virtualization best practices for SQL and Exchange. Follow those. After 15 years in IT, it still amazes me how many jokers neglect to follow vendor best practices and just do whatever they feel like when it comes to deploying production systems. It is good for me, because I get paid well to fix other people's messes. It is not good for the economy, because money is unnecessarily wasted cleaning up problems that should have not been allowed to manifest in the first place.
I don't know for your region, but here (Montreal Canada), Being a MS admin does not means high salary, in fact MS certification may be bad in a CV (most people will think you are only good to check and uncheck boxes). Best job are for Unix/Linux admins, Net admin (mostly CISCO) or VM admin. Easily 20 000$ to 30 000$ difference in salary between MS and Linux admin.
Go consult for small to midsize businesses. Sysadmin skills less useful as automation becomes more prevalent/affordable throughout everything tech. You can learn more in 1 year of consulting than 5 of general sysadmin.
Learn basic Exchange/SQL setup/admin on your own first in a home lab. Realize that the difference between single-server/site Exchange (really no single server anymore with 2010 due to DAG) is wholly different that multi-site/server/large DAG setups BUT the basics are very helpful. If you want to go nuts, setup a multisite AD environment in your home lab and setup Exchange in both sites. Separate as many of the Exchange roles as you can to learn more about how they talk to another another within/between sites. Read MSFT forums concerning Exchange troubleshooting to see what kinds of problems people are having.
Offer to help out for free on after-hours/weekend work involving Exchange (or whatever else).
Just remember that Microsoft is pushing Office 365 heavily, especially for mail. Onsite e-mail will become rarer and rarer unless a business explicitly needs it (TCO for any enterprise class e-mail solution can get expensive). With Exchange no longer doing single instance storage you either need lots of DAS on your server or lots of array space, both of which can get costly.
Suggestions: OpenStack (open source virtualization), Puppet or Chef (automation), and VMware if possible. VMware is the most useful of those, but the other three are only getting bigger.
Ever feel like you are driving the getaway car?
Build a Core i7 maxed out with RAM (32GB) and install the evaluation of Windows Server and Exchange in a VM. Experiment with various scenarios, and try hosting your own domain at home (you may need to upgrade to a business internet account to get port 25 unblocked)
The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
Read through your original question and everyone is suddenly trying to show you how you can learn SQL. The thing is what do you want to do? someone once said "find what you like doing and get someone to pay you for it". Ask yourself what you want to focus on and then go do it, living at home? IT can take you anywhere on the planet so if you are only looking at something close to home then you will be limited.
The simple answer is the one stated above EXPERIENCE is everything, and not a home lab setup, get out there, if you ""want"" to do SQL / DB fine, set a target say 3 / 5 years maybe taking on contracts which is the quickest way for you to cover the most ground, this may not be right for you it's your choice, if it is just cover everything you can, MSSQL, MySQL, Oracle, Postgresql. MongoDB.. etc etc
If you "love" -- key word !!! Networks stick with them, ignore the certifications and get EXPERIENCE then certify in what you LOVE to do. IF you want to be an FTE then it is a slower road to broad experience unless you wind up in a consultancy of course, choice is yours buddy, find what you enjoy doing and if it was me.. get out of home, travel from job to job and then ... just make sure you put your heart into what ever your doing, the rest will all fall into place after that ;-)
More jobs .. more experience .. more defined projects .. more deliveries .. their is only one secret to moving from job to job and that is love what you do, then they will not want to let you go .. that is when you can say "hay I really enjoyed doing X, and they want me to stay full time to do X" then .. it's all down to you .. have fun out there
Dude cut the crap! Eat bash for breakfast and you will be rewarded with steak dinner!
It's like $150 a year and gives you pretty much anything you want, legit. Download and start hacking.
Ignore the CCNA weenies. Most Cisco admins are putzes who are glorified cable pullers.
I want to delete my account but Slashdot doesn't allow it.
http://www.microsoft.com/en-us/sqlserver/learning-center/virtual-labs.aspx
this why IT need more trades / apprenticeships that have ways to letter people learn. The trades schools are nice but should be more drop in to learn X skill.
IT moves way too fast for that.
I didn't learn SQL until I was 5 years into my career. Virtualisation didn't start to take off until late last decade, now it's everywhere. The versions of Windows and Linux I would have done my apprenticeship on would have been obsolete a year after I finished. A carpenter almost never needs to update their skills after their apprenticeship, sysadmins always needs to be updating theirs.
IT education needs to be more focused on how things work, then extrapolate what you need to do, not how to do things by rote memorisation. In this regard it's more suited for the university style of education as opposed to an apprenticeship.
That being said, more companies need to offer paid internship (as opposed to an apprenticeship) for new sysadmins to get experience. Taking on juniors and giving them enough real world experience to turn them into seniors in a few years. This is the way it works in Australia where unpaid internships are illegal (The ATO and FWA will nail you to the wall for not paying staff).
Calling someone a "hater" only means you can not rationally rebut their argument.
For the Migthy$hit products, get a Technet subscription, to get access to most of their current software, look for 35% off coupons on the net. Then you have the software legally.
Then do like the other suckers, read a book, get certified in your book knowledge (or buy examn questions from one of the webpages, I can pass most examns after studying for a day or 2 with those). Lots of places wants to hire unqualified staff as long as they are M$ certified.
The workplaces requiring the good staff knows that almost all of the best people don't have the certifications anyway, as their workplace can't live with them long enough for them to go on a week training for the sole purpose of some worthless paper.
After a few years at a company where certification is more important than knowledge and experience, you might have been in enough shite hits the fan situations to have recevied experience points enough to move on to a better job. In those companies, anyone is is more intelligent than certified has a chance to raise above the rest.
Many companies are now moving to Office 365, the new Migthy$hit product with random limitations that really makes it of limited use for companies (30MB per mail, limited number of mails per user per day ...). To go there, you should be well versed in SAML (implemented as ADFS in the M$ world) as well. Companies are also moving their $hitepoint sites to the cloud. So less and less Exchange and SQL is needed in the company.
"SQL" is an industry standard. "Microsoft SQL Server" is a database product. Using "SQL" to refer to "Microsoft SQL Server" is confusing.
peanuts (Less than $30,000/year)
That's over twice what I got paid on my first full time IT job, and it wasn't all that long ago. It might not buy you fancy cars or a mansion but it is not peanuts.
My advise is to read a lot and get some old systems and play with them at home. Or setup some cheap virtual servers and play with them.
Don't drink too much of the Microsoft cool-aid!
Here is a way of building up your SQL Server experience in a corporate setting.
1. Create a SQL Server to store information about your network, such as servers, users, hardware, performance monitoring, etc.
This will entail the following: Creating tables, creating keys, ODBC connections, stored procedures, backups (so they do not grow too large), SQL security. In addition, you can learn SQL at the same time using SQL Management Studio.
2. Create the SQL scripts to update this information using powershell and/or vbscript.
3. Now that you have the information, you can use SQL to pull reports from this that you can use as well as pass on to your management. This will enable you to learn SQL syntax and to use SQL Report Builder or Excel to generate reports.
4. You can take this a step further and build a web front end on IIS to pull this information from your SQL Server.
This will enable you to learn the SQL in a corporate environment. In addition, this can be justified since you are saving the company money by creating an inventory system using SQL Server. this can be used in an interview that you saved your company money by taking the initiative on your own to build a maintain an inventory, performance gathering SQL Server based environment.
Me Exchange is different because usually a corporate site already has email in place. I am not sure how the company has setup email.
IT moves way too fast for that.
and that why 2-4 years pure class room is way to much even more so if it mostly theory.
That being said, more companies need to offer paid internship not only that it needs to be real work no coffee boy / office boy / copy boy / janitor internship as well.
It always bothers me - a lot - when people claim to have 'SQL' experience, when all they have really done is install the server package and tweak a couple of configuration parameters. That doesn't indicate any actual database know-how whatsoever, and database know-how matters - a lot. Even if you never design or develop databases directly, if you don't understand relational database concepts you have a giant hole in your understanding of how to efficiently organize and manipulate information, which is 90% of what almost any computer application does, whether it's actually using a SQL database or it's own internal data structures.
Coming into this a bit late, and scanned the comments. What I am about to suggest may have already been brought up . . . The TechNet idea is a great one to load and play with at home. You might also seek out small orgs that cannot pay for admin work, like churches, charities, etc. and volunteer to do their admin work for them. You will probably need to load and support open source products, which is a minus for the experience part. But, you can draw parallels between your work at home and the experiences at these other places. Not that you will convince a corp recruiter. But, it might get you into a medium sized place where you can gain the experience the big boys want. And keep up with the certs. That will also smooth the road. Play the long game.
this why IT need more trades / apprenticeships that have ways to letter people learn. The trades schools are nice but should be more drop in to learn X skill.
We have internships in IT. I did 3 of them before having graduated college.
Anyway, when you're in IT, you almost always wind up doing something beyond what you were hired for because a situation always arises where someone needs something done, like, yesterday, and there's no time to hire anyone.
In IT, you're hired for your experience, but you're paid for your brains and agility. Get a job that you're qualified for, excel in it, and expand your skills that way.
They don't grade fathers, but if your daughter's a stripper, you fucked up. --Chris Rock
I'm probably going to sound like a shill but I'm not. I've been in the Microsoft World my entire life. They have a lot of tools (in a lot of cases free) to help people learn it's just that you have to find them.
go to http://borntolearn.mslearn.net/
To learn about not only classes and books to get certified but also free videos on what the exams use.
And the FREE tools. Some are time limited from 90 or 180 days. You can get free copies of Hyper-V ( http://blogs.technet.com/b/keithmayer/archive/2013/04/05/getting-started-with-hyper-v-server-2012-hyperv-virtualization-itpro.aspx#.UbH21efI58E ) , Free Copies of Windows 8 (90 days), Server 2012 (180 days http://www.microsoft.com/en-us/server-cloud/evaluate/trial-software.aspx ), Free copies of SQL Server 2012 ( http://www.microsoft.com/en-us/sqlserver/get-sql-server/try-it.aspx ), and so on. All you need to do is provide a machine to run them on. I have the free Hyper-V running free copies of windows 8, server 2012, and Sql server for my learning environment. Sure they are timed and you have to start over every so often but who cares it just gets easer sinc eyou know what you are doign the secord/thrid time around or you can also use the free virtual labs at http://technet.microsoft.com/en-US/virtuallabs
Other resoruces Microsoft DreamSpark if you want to go that route https://www.dreamspark.com/
Channel 9 http://channel9.msdn.com/
Microsoft Virtual Academy https://www.microsoftvirtualacademy.com/
Microsoft Springboard series that covers new topics for ITs. http://technet.microsoft.com/en-US/springboard
If you can go the Hypter-V route microsoft will soemtimes have preloaded virtual machines that have everything configured and ready to learn off of. can't find my links for the ones in the past I've used but once you keep up to date with the other resources you see.
Paul: Father... father, the sleeper has awakened! - Dune
I hear where you're coming from, I struggled to get into my field for years. Now I'm a Sr SQL DBA at a fortune 500 co. I can say that at larger companies you will be more silo'ed into one specific technology (although you have to know how it plays with the enterprise) so decide if you want a smaller co where you'll get to do more stuff, or a larger co where you'll go more in-depth with one technology.
How I got in:
Had a good general tech background
got my certs (MCDBA/SQL 2k at the time) and then went to work for $15/hr at the training center where I had gotten my certs
There, I learned a LOT of troubleshooting, as it's amazing how people can F something up. That probably taught me the most.
Finally, with the certs and a reference I managed to squeak in at this co as a Jr DBA making about what you are now. As soon as I started I realized I really didn't know jack.
Busted my butt and asked a LOT of questions, took on any project I could get my hands on, annoyed my Srs by looking over their shoulders constantly, and learning on my own
Now I hire the entry-level DBAs, and am making 6 figures (took 5 years to get to this; it's totally doable).
What I look for: :))
Certs (shows you know the very basics)
Posting on forums (troubleshooting is a great teacher!)
Passion for the product, through a CBTNuggets acct (I have licenses for my entire team, affordable learning platform) or other such training like local PASS events
Ability to see how things interconnect. (Yes your disk alignment will affect your performance, as well as your HBAs, indexes, NUMA configuration, load balancers, network latency, database normalization, MAXDOP, query hints, encryption settings, power settings on the server (yup!), LPIM setting...obviously there are many more but it's really quite crazy how much goes into tuning SQL in a large enterprise. Personally, I love it
So I think the takeaway is decide if you want to be silo'ed into one technology or want to stay broad (more money in specializing IMHO), try cbtnuggets or another online tech 'school' to get your certs (they offer more than just SQL btw), post on forums to get a feel for real-world problems, then, as others have suggested, help a non-profit so you can get real-world experience. Yes doing an install at home and messing with it helps too, but there's only so much you can learn w/o knowing the questions to ask (which you'll get in the forums)
Get into linux instead, and all the awesome free tech in that world. MySql, Hadoop, Cassandra, all these nosql databases are where it's at. That tech is on the upswing, MicroSoft's tech is on the downswing.
--- wad
All of the theory that I learned in class-room has been valid since the 60s. The same basic patterns keep showing up, just with different names and market buzz.
SQL!! awesome!.. oh, you mean set theory
NoSQL!!! awesome!!. ohh, you mean hash tables?
More marketing hype about new tech!!! ohh, that again? What is it's name thing time?
Nothing is new, just new ways of implementing the old. Not to detract from a better way of using the old idea.
If your boss is paying you $30,000 per year. I am willing to bet that he will have 3 fits when you leave. If you don't feel that you are going to get a good recommendation then leave them to stew in their own waste. Basically write down the passwords and leave. In the IT world you are in an abusive relationship. If there is a gap between your old job and your next one and they want you to come in with the "transition" then charge them a consultant's fee of $500-$1,000 per day. They will pay at least that much to have someone new come in and figure out what the heck is going on.
learnitfirst.com has excellent MSSQL 2008 training videos $99 ( I have not used the SQL 2012 products, but I'm sure they are as good as the 2008 products) and joes2pros.com have highly rated MSSQL books. Also, hit ebay and find a copy of SQL Developer. After digesting some the previous listed resources, the advice given on finding local non-profits that need help is sound. I would also be a regular face at SQL user group meetings. Also, I suggest using VirtualBox on your work PC (if it will not get you fired) and setup a dev copy there. Once installed in VirtualBox, start working with SSRS. Once you create some interesting looking reports (even if you just use faux data) , show those to your boss. If he likes what he is seeing, pitch to him using SQL in your work environment. BI gets and keeps SQL in lots of shops.