8 Months ago, I suggested that "BI" would help put you in demand because it's always a hot topic. What have you actually done in that area? For example, have you been able to do predictive analysis?
Have you been able to use SQL (T-SQL, actually) to augment your skills in SSRS, SSIS, SSAS? Do you know how to do things such as Dynamic Cross Tabs? Can you use a Tally or Numbers table in your sleep to encode or decode things like Luhn Mod 10 Checksums and UccEan checksums. Do you know how to resolve the problem of overlapping dates to come up with a single start and end date to represent the total range? Do you know how to properly solve "Catch All" queries without introducing possibilities for SQL Injection? Do you know why you might want to make another index that has the identical keys as the Clustered Index? Do you know how to make, use, and maintain Partitioned Tables and Partitioned Views and why you might want to use one over the other? Do you think any form of partitioning should be done for performance of code Do you know the difference between an mTVF and an iTVF and why you should prefer one over the other? Do you know how to build an inline Scalar Function and why you would want to do so? Do you know how to import a horizontally based spreadsheet with an unknown number of columns and column names and normalize the data in a table? Do you know how to do running totals and "data smears" to fill in missing data from an import? In the absence of production data, do you know how to make a million rows of random but constrained test data without using a While Loop or Recursive CTE and why you want to avoid both? Do you know how to do a "Last Name" search on a "Full Name" column and still use a SARGable predicate? Do you know what a "blocking operation" in a cascading CTE is and why you'd want to use such a thing especially when "Divide'n'Conquer" methods for pre-aggregation? Have you read Grant Fritchey's book on execution plans or any of Itzik Ben-Gan's books? And do all of that with nasty fast performance in mind? (And all that's just scratching the surface).
The bottom line question would be... after 5 years of experience in T-SQL, what do you actually know to do with it?
And, no... I'm NOT making fun of you for any reason. If I did, I'd be making fun of myself because, at the 5 year mark in my career, I had very successfully written a World Wide Call Accounting system that imported data from multiple disparate sources across the world and exported to more and it was all done in T-SQL I was thinking that I actually knew T-SQL after that and I was dead wrong. All of that had only qualified me to learn more about the tool and, after 23 years of using the tool, I still learn something new almost every day.
There are a whole lot of bright shiny tools out there that you could learn and many will come and go just like most of the older ones have (certain tools, such as Python, are likely going to stay around for a very, very, long time). The one thing that hasn't changed is the need to store and access data in an accurate, secure, and high performance manner. It's not going to go away.
So my suggestion for the implied "What's Next" question is similar to what Gail suggested above except that I'll also suggest the tool to do a much deeper dive on. Learn T-SQL and all that's related to it. Understand (and I certainly didn't at my 5 year mark) that there's a whole lot to know that you may not even know about right now. SSIS, SSRS, and SSAS and all tools like them can all seriously be benefitted by a deep knowledge of T-SQL and the tools available in it and some of the tricks of the trade.
is pronounced "ree-bar
" and is a "Modenism
" for R
First step towards the paradigm shift of writing Set Based code:
________Stop thinking about what you want to do to a row... think, instead, of what you want to do to a column.
"If you think its expensive to hire a professional to do the job, wait until you hire an amateur."--Red Adair
"Change is inevitable... change for the better is not."
When you put the right degree of spin on it, the number 3|8
is also a glyph that describes the nature of a DBAs job. 😉
How to post code problems
Create a Tally Function (fnTally)