The IT industry moves fast and staying current is tough to do, especially when you have a full time job. Even for those who love their jobs or their positions, it is tough to set aside time to work on new skills. Or even brush up on old skills that haven’t been used in a while. It’s an exercise in time management skills. Technical training is especially difficult because of the focus it can require. Especially now that SQL 2017 is on the verge of being released with the option of running it on Linux, career minded DBAs will be stepping up their training.

Obstacles

Personally, some the obstacles for me are:

  • Physically tired of sitting in front of computer (maybe sick is a better word than tired)
  • Carving out time that doesn’t take away from family, friends, or health
  • Mentally drained after work
  • In some cases cost. Training materials cost money
Solutions

I’ll be honest, I struggle with trying to find solutions to these obstacles. I work full time, and after graduate school, I made a promise to my wife that I would spend less time focused on work. Additionally, I’m not just focused on getting better as DBA and Developer, I am also focused on getting healthier. So for me, sitting in front of a computer is presently driving me nuts. At work, I have a sit-stand setup which is nice. At home, well I haven’t made that transition yet but it’s coming. I still struggle with actually making it to the gym after work. Some days/weeks are better than others. The days where I get my exercise in, I find whatever I’m studying to be more readily absorbed as opposed to the days I don’t work out. On those days, I’m not very patient with problems.

Training

As I mentioned making sure I make the time to be healthier is a struggle for me, so not alienating family or friends is another struggle. I can easily sit down and get sucked into training, writing code, or some other thing. That being said, there are times where I’ll sit down to train and end up on Facebook, Twitter, YouTube, or some other internet rabbit hole I didn’t mean to find. What I have found that works, are short focused blocks of time where I focus on the training. No more than 45 minutes or so, then I go do something else. Plus the added benefit is I make my wife happy. On the mentally tough days, I just don’t bother.

Costs

The costs associated with training can be tough. Online resources like Pluralsight, Safari Books, and one off web training are great because they are modular, as well as easily available over the web. The downside to these resources are the monthly subs. Sure by themselves, they are reasonable but have a few of them together and suddenly you’re spending upwards of $100 a month. Depending on your budget, that maybe ok…..or it might not be. Check with your spousal unit to be sure.

Oh, want to go to SQL Pass Summit, SQL Cruise, or some other destination learning opportunity? Now we’re talking in the mid 4 figures, plus time off from work. So unless you are willing to sacrifice vacation time and the family can tag along, you’re probably not going. And if the family does come along, are you really going to be as focused in the conference? I’m still trying to crack the destination conference nut, so I don’t have an answer for this one.

I honestly wish more companies would include training in their compensation package. Something like 2-3 days off (without using PTO) and $2k towards the conference. I would happily pick up travel, hotel, and food for the trip. However, when I have mentioned this I have been shot down by more than one manager. I wonder if it’s possible to find a sponsor….hmm, something I’ll have to check into.

 

Recently came across a situation where reporting logins were interfering with nightly jobs due to blocking. After a number of attempts of trying to resolve the blocking, it was decided that a stored procedure that disabled the login and killed the user sessions was the most pragmatic solution. This is the code I came up with to resolve the issue.

SET NOCOUNT ON 
DECLARE @rowsToProcess INT;
DECLARE @CurrentRow INT; 
DECLARE @SelectSpid INT;
DECLARE @user VARCHAR(30); 
DECLARE @killString varchar(50); 
DECLARE @DisableLogin VARCHAR(100); 

SET @user = ''; -- add user 

-- disable login of user to prevent more logins 
SET @DisableLogin = 'Alter Login ' + @user + ' Disable;'; 
EXEC(@DisableLogin); 

-- Create Table variable to store the spid info 
Declare @BusinessObjectsTable Table
 ( 
 	rowid INT NOT NULL PRIMARY KEY IDENTITY(1,1),
	spid INT, 
	loginname VARCHAR(30), 
	spid_status VARCHAR(15)
 ); 
 
-- query for the SPID based on user and store it in the table variable 
INSERT INTO @ReportObjectsTable (spid, loginname, spid_status) 
SELECT spid, loginame, status FROM sys.sysprocesses 
	WHERE loginame = @user; 
	
-- set rows to process 
SET @rowsToProcess = @@ROWCOUNT; 

-- loop through SPIDs to kill 
SET @CurrentRow = 0; 
WHILE @CurrentRow < @rowsToProcess
 BEGIN 
 	SET @CurrentRow = @CurrentRow + 1; 
	SELECT @SelectSpid = spid FROM @ReportObjectsTable 
		WHERE rowid = @CurrentRow 
			
	SET @killString = 'Kill ' + CONVERT(VARCHAR, @SelectSpid); 
	
	-- verify spid still exits and belongs to correct user before killing 
	IF EXISTS(SELECT spid, loginame FROM sys.sysprocesses 
		WHERE spid = @SelectSpid AND loginame = @user) 
		
	BEGIN  
		PRINT @killString; -- verificatioin step I used to test against 
		EXEC (@killString) 
	END; 
	ELSE 
		PRINT 'No spid to kill'  
		WAITFOR DELAY '00:00:05'; -- add delay if needed 
END;

On the other side, I scripted out a job to re-enable that could be called from a separate stored procedure at the conclusion of the job.

data ampWOW. That’s all I have to say after watching Microsoft’s 4/19 Data AMP Presentation. SQL 2017 is the official name of SQL vNext, otherwise known as SQL on Linux. We knew about SQL on Linux last year, so this isn’t some new revelation. That is, until Microsoft announced Python and R support for SQL 2017. And not just support, but IN QUERY support. Then there was demo’s of a ton of other stuff geared towards data warehouse and business intelligence, as well as extended capabilities of Azure.

Did I mention Python support for SQL on Linux (sorry SQL 2017)? Ya, I’m a little too excited about that I think. You can’t blame me though. 20 years ago, it would have dismissed as a pipe dream because Linux was this cute little cousin to Unix. 10 years ago, it would have been heresy to mention SQL running on an open source technology. Today, it became reality. The little IT kid in me as all kinds of … well, giddy.

The landscape is changing

What else did I get out of this presentation? Well I could try to talk about PowerBI, the Data Lake stuff, the Data Warehouse capabilities, or Azure but I would be talking out my backside as I just don’t have much experience with those technologies. And I’m starting to realize that might just be a problem.

We all have our specialities, but I’m starting to wrap my mind around the idea that maybe dipping a toe into these other worlds isn’t a bad thing. At least from the sense that you’ll get a better understanding of the overall picture. Not to mention, you never know when knowing a little a bit about other areas of SQL might pay off or help you solve a problem quicker.

What did resonate pretty well with me though, is Azure is becoming a force. Maybe it has been for awhile and I just haven’t looked up long enough, or often enough to notice. If you can get access to the latest technology without the expense of the hardware, finding the expertise to run said hardware, and it scales quickly….just how are on premise data centers suppose to keep up? Not cheaply, that’s for sure.

SQL 2017 Enhancements
Highlights of some of SQL 2017’s enhancements

Career Path

Which brings me to my ultimate realization after today’s presentation. Career wise, DBAs have to evolve. I know it’s been said a thousand times, but the days of running backups, granting permissions, and the other daily dba tasks are riding off into the sunset for all but those who work in data centers such as Azure, Google, or AWS.

That means for the rest of the DBAs to continue to be employed as data professionals they have to learn new skills. Unless I am missing something, that means focusing on development skills. Not just SQL either. They are going to have to know things like R, Python, PowerShell, and probably some C#, including .NET framework. That might not be the only thing, as Thomas LaRock (b/t) thinks there might be other areas to invest in as well.

Thomas LaRock Tweet

I mean, you can’t ignore these areas any longer. Microsoft was demoing Data Lake enhancements against databases that were Petabytes in size. That’s plural Petabyte. I remember when they told us we’d never be able to fill a gigabyte drive. I was just getting accustomed to the handful of database that I support that are under 10TB.

On the upside, I think it has supplied me with some direction as to where I need to focus my energy.

 

 

t-sql-tuesday_FI

T-SQL Tuesday is a monthly blog party that is the brainchild of Adam Machanic (b/t). This month the blog party is being hosted by Koen Verbeeck (b/t) and is inspired by Kendra Little’s (b/t) recent blog post regarding the role of the DBA and The Cloud.


#tsql2sdayChange

Working in IT doesn’t have any guarantees except one, that things will change. Change is driven by the business, where they have to continue to innovate or die. In part, change in IT is also driven by better technology because who still wants to be using Windows 98 Second Edition with a SQL 7.0 on NT 4.0? Oh, and floppies because they were so awesome. As technology changes, so will the service offerings.

Does anyone remember ASPs (Application Service Providers)? For those who don’t, think “The Cloud”: the beta version, circa the early 2000s. After the fear and expense of the Y2K bug (I can’t believe I need to link this), ASPs showed up promising the businesses protection from crazy bugs like Y2K by hosting their apps. Great idea, except back then, bandwidth wasn’t as cheap, and the hosting platforming was nowhere near cheap enough for most businesses to use. Well, both problems have been resolved thanks to cheap bandwidth and virtual servers, making “The Cloud” possible.

Are DBAs endangered?

Yes and no. If, as a DBA, you sit idly by and do nothing to adapt to the changes in the industry, then yes, you would be endangered. On the other hand, if you are continually working on expanding your knowledge, forging new skills, and trying new things, then no, you will not be endangered. Oh sure critics, business types, and others who aren’t fond of IT are continually going to say stuff like “The Cloud,” automation, robots, AI (artificial intelligence, not a guy named AL), is going to replace IT. That is until the replacement for IT breaks, and someone needs to fix it. Even Skynet will need to be maintained. Of course, I guess by that time robots will be sentient but I digress.

Sure, a person could dogmatically hold on to the old role of database administration where you run backups, set permissions, etc. but, why would you want to? How many times can you get excited about installing SQL? These types of duties are the necessary parts of our job. The fun stuff is getting to troubleshoot new issues, tweak queries, or learn more about SQL in general. The significant portion of the job is applying that new knowledge to make everyday work life a little easier.

Evolution

My point here is this: If you have been in IT for any length of time, then you have changed. You have evolved. Take charge of your evolution, focus on new areas you know little about, chase a certification, do something that makes you uncomfortable. It doesn’t just have to be about SQL, either. Take the time to learn the business you support so you can figure out how to better support/serve that business. It’s so much easier to solve problems when you understand why.

Kendra said it best at the end of her podcast.

“You get one life. You may as well get to solve problems that you enjoy while you work.” – Kendra Little