Author: sqlatspeed

T-SQL Tuesday #119: I Get By With A Little Help From My Friends

T-SQL Tuesday #119: I Get By With A Little Help From My Friends

Alex Yates (b | t) is hosting this T-SQL Tuesday (the 119th edition) and has given us a broad and interesting topic to work with this month. Alex has asked us to write about something in our IT career about which we’ve changed our mind. Several topics, both technical and non-technical, ran through my mind but I landed on something that’s quite a bit more personal and open than I’m inclined to be.

My path to a career in IT began as a Computer Information Systems major at Clemson University (go Tigers!). While the CIS program provided me an excellent computer science education, nearly all of the work in the program was individual development projects. This was fine for me because I was, as nearly all 18-year-olds are, sure that I was going to be a rock star developer and that I didn’t need help or assistance from anyone. My early CS grades were a clear indication that I was not nearly as smart as I thought I was, of course!

Nevertheless, as I began my professional career as a general IT person I was working on a lot of solo projects and, despite my GPA, still believing that I was pretty darn smart and didn’t need help from anybody. It wasn’t until I got into application support for a company in Greenville, SC – and was part of a strong team – that I realized what I had been missing.

What I had been missing was two-fold: 1) you learn much more much faster when you’re surrounded by smart people and 2) at some point in your life you will need the support of a team/community for professional and personal challenges that you will face. I was not wired to understand this at first, but with the benefit of hindsight and experience I’ve realized the value of making connections outside of yourself.

I’m wired to be shy. I’m an introvert. I used to stutter (and still do once in a while). For a long time, making connections to other people in social settings ranked just above “playing in traffic” on the list of things I wanted to do. My educational career and early professional career kept me in my individual comfort zone. As I started to progress in my career and was forced to be part of a team, though, I realized how much more information I was gathering when working as part of a group. As my career led me to data platform consulting, I began to realize how important it was to have a group of friends and a network with diverse interests and pursuits within the data community. I’ve learned a tremendous amount connecting with people far smarter than I am and I’d like to think I’ve helped some folks along the way as well.

My journey and my advice above is probably not earth-shattering and probably not unique with the community. What has been earth-shattering and unexpected, at least from my point of view, is the help I’ve received from the community that I never expected to get. As a few of my readers know, I’ve definitely struggled with my mental health over the last couple of years. Left to my own devices, I likely would have crawled into a figurative hole, tried to grind out enough work to not get fired, and done my best to maintain that status quo, such as it is/was.

However, I’ve been fortunate enough to make some friends within the Microsoft data platform community that were there for me to listen, to relate, to empathize, and to encourage. I am 100% not built to accept that kind of help but I am grateful for it and, truthfully, it has been essential. Obviously, like any community, our community has its share of bad apples and I’m not minimizing the negative experiences I know some folks have had. I do want to share, though, the positive experiences that I’ve had breaking out of my comfort zone on a personal level and working to make those connections.

Simply put, I’ve gotten by with a little help from my friends. Involving myself, personally and professionally, in this community represents a complete 180 degree mindset change from younger me but I’m thankful for it. I’d encourage you to also involve yourself in community initiatives and events at a level where you are comfortable and I sincerely hope your experiences are as positive as mine. Click here to link back to Alex’s original post – thanks for reading mine!

 

#DPS10: My Travels to India Inspired Me

#DPS10: My Travels to India Inspired Me

I set a personal goal for 2019 to push my boundaries travel-wise. I’ve been incredibly fortunate to speak at SQL Saturdays and data-related conferences in and around Europe over the past couple of years and, for 2019, I wanted to expand my travels to somewhere beyond North America and Europe. To that end, I was honored to be selected by the Data Platform Geeks team to present two regular sessions and a chalk talk at this year’s Data Platform Summit (known by its #DPS10 hashtag). I also appreciate the diversity of the topics, as I presented on high availability in Azure, Cognitive Services, and Azure Logic Apps.

As you may have noted, my motivation for speaking at this conference was fairly selfish. I’ve always wanted to travel to India and it’s always good to present to and meet with people within the Microsoft data platform community. That said, as soon as I arrived at #DPS10, I felt immediately grateful for the opportunity to be there and participate in the event. The enthusiasm of everyone involved, from pickup at the airport to the keynote to the sessions, was overwhelming. I’ve certainly had professional and personal challenges over the last year and change, and those can take a toll on you, but I was instantly invigorated by how motivated everyone involved in the conference was to expand their knowledge of all the areas of the Microsoft data platform.

Honestly, I’ve struggled to find the words for how positive an experience this was (thus the blog happens nearly 3 weeks after I returned). Simply put, the team behind Data Platform Summit does a first-class job making speakers feel welcome and engaging attendees. If you get the chance to participate in future Data Platform Summits in, don’t hesitate to accept that opportunity. I certainly hope to be back someday and hopefully I’ll see you there!

Gonna Blog Like It’s 1999 (Hello, Past Me)

Gonna Blog Like It’s 1999 (Hello, Past Me)

Fellow IDERA ACE Mohammad Darab (b | t) presents this month T-SQL Tuesday blog party and the topic is absolutely wonderful for an introspective introvert like me: “Dear 20 Year Old Self”. Seeing as I am 40 years of age as I write this, 20 year old me existed in 1999 which was, thankfully, referred to in the Prince song that the title of this post references (I was getting desperate for a title). 20 year old me thought he had it all figured out, so I thank Mohammad for the opportunity to set 1999 Matt straight. Without further ado, here’s the letter to 20 year old me…tsql2sday-150x150

Greetings, 1999 Matt! Congrats on the sweet 8 GB hard drive you just bought. In 20 years, even the free thumb drives you get at conferences where you’re speaking (crazy I know, but we’ll get to that) will be larger than that and you’ll have a phone with 32x that amount of storage. Also, Clemson will have won two national championships in college football but not with Tommy Bowden (who you are very excited Clemson just hired but wasn’t the answer to our championship drought). In some ways, the future is pretty cool. But I’m not here to damage the space time continuum or give you a leg up in the NCAA championship future pools in Vegas. I’m here to give you advice. Here it is in semi-bulleted form since I still like that format and know you like it too:

Don’t Be So Dogmatic

You think you have it all figured out right now. While that confidence can be healthy and may serve you well off and on in the future, you’re wrong about a lot of things. Your world is small. Most of the people you know look like you and have similar experiences to your own. That’s fine, but seek out people from different backgrounds who can broaden your horizons. They will enrich your life and make you a better person. You are capable of critical thinking – apply that ability to examine the world and people around you and make the choices that make sense to you. Those choices may not be preferred by the people and structures around you but as your horizons expand your self-confidence will come from your comfort with yourself and your place in the world and not what you think you know. Make an effort to be a good person and present in the lives of those around you – being “right” doesn’t matter nearly as much as you think.

Learn More About Data

You think you are going to be an application developer when you grow up. You’re currently working your way through Clemson as a part-time general IT person but you really have no exposure to a database at all. If somebody submits an Access or Oracle ticket to the help desk, take it and run with it. Before you know it, much of the technical world will revolve around data. Those with the ability to understand, visualize, and explain where that data came from, why it’s important, and the value it can add will be in high demand and compensated fairly decently for their knowledge and adaptability in a rapidly changing world. You already know about as much C and C++ as you will ever need in the future, but take every data-related course you can take even if you think it’s beyond you. All the knowledge you absorb about data and data structures will be very important to you in the future.

You will work with new languages and platforms nearly all the time 20 years from now. Learn how to learn and learn how to study now and you’ll be in a good position once you graduate (yes, you do graduate eventually). And, no, your GPA really doesn’t matter so don’t stress about the letter grades.

Trust Those That Believe In You

Those friends of yours that believed in you enough to put you in charge of a student newspaper saw something in you that you didn’t see in yourself. They saw somebody who could represent an organization not just in writing but in person. Sure, you may stutter or stumble over a sound or letter now and then – so what?

When you were paralyzed with fear to speak in front of any group of people, no matter how large, you needed to take that challenge head on instead of finding every excuse to hide in the corner and stay quiet. Fear of embarrassment held you back for a long time and cost you opportunities. Your friends believed in you despite the flaws you perceived in your “public persona”. You’ll eventually find people in your professional life who share the belief in you that those crazy college friends of yours had and those colleagues will change your life. They will set you on a path to work and speak to audiences all over the world about what you do with data and how you can help them in their work and it will be fantastic. Don’t wait 17 years to take to heart the belief that others have in you even when you may profoundly lack that belief in yourself.

Have a good one, 1999 Matt! The next twenty years contain some very cool things and do whatever you can to remember those things and share them with those around you. You’ll also end up really liking soccer, so be prepared for that.

Sincerely, 

Future Matt

Back to Back at #SQLSatJax

Back to Back at #SQLSatJax

Fresh off a wonderful weekend of #sqlfamily and data community time at Data in Devon in Exeter, England last weekend, I find myself in northeast Florida this weekend as opposed to southwest England. I’ll be presenting two sessions at SQL Saturday Jacksonville and spending a bit of time at the SQL Clinic as well. I was fortunate enough to be selected to speak here last year as well and it’s always fun to fun to come an event for the second year running – plus it allowed me to give this post a title that kinda sorta rhymes!

It means a lot to speak here in Jacksonville for a couple of reasons. Considering that I have never lived in the Jacksonville area, it’s a place that’s been oddly significant at a couple of points in my life. My wife and I went to Ponte Vedra Beach on our honeymoon and spent a wonderful few days in this area. Then, my first job as a data consultant was at Pragmatic Works, which is headquartered in metro Jacksonville. In fact, the first Pragmatic Works holiday party that my wife and I attended gave us a chance to head back for a quick lunch visit to the resort where we honeymooned and take the picture below that shows two things: 1) I have a beautiful and photogenic wife and 2) I am really not very good at taking selfies.

IMG_1520

Anyhow, I am guessing you did not click on this post to see pictures of me, you clicked through to get information on my sessions at SQL Saturday Jacksonville. My first session is at 10:15 in the Gamoor room (4-1705) and it’s entitled Azure-d Availability: Scaling SQL Server to the Cloud. This is a relatively new session of mine but I’ve received some good feedback so I’m looking forward to presenting it here in Florida tomorrow.

My second session is at 12:45 in the Fondor room (51-1209) and, in another bit of Jacksonville-related nostalgia for me, this session began life as the very first webinar and very first SQL Saturday talk that I ever delivered. The session is called Top 5 Tips to Keep Always On AGs Humming and Users Happy and it will help anybody who is learning how to administer Always On Availability Groups or anybody who needs a refresher on some of the ways AGs can bite you if you don’t feed and care for them properly. This session has changed a lot over the years, as I like to think I’ve gotten a little better at this speaking thing, but I’m always a little bit extra excited to deliver this session.

I’ll wrap up my day at the SQL Clinic from 1:45 – 2:15 so feel free to drop by there if you have questions about anything from my sessions or just any SQL Server or Microsoft Data Platform-related questions. I’m really thankful to be a part of this wonderful weekend of friends and #sqlfamily – register here if you’d like to be a part of it!

Downloadable Demos from Data In Devon

Downloadable Demos from Data In Devon

I am honored to be speaking at Data in Devon today presenting my “Where Should My Data Live (and Why)?” session here at the conference in Exeter, England. I’ve created this quick post just to give attendees the opportunity to download the steps for the demos I typically do during a longer session slot. I’ve also included a link to the presentation itself as well. If you’ve arrived at this page, welcome and thanks for attending my session!

Demo Steps

Slides

A Ye Olde Way to Break Stretch Database

A Ye Olde Way to Break Stretch Database

I’m really excited to be publishing a real live technical blog post! I have fun blogging about speaking, travel for speaking, and racing, but I’m looking forward to my new professional opportunities lending themselves to more technical blogs on a variety of data platform topics. I’m really looking forward to blogging on some more cutting-edge data platform topics as well, but for today I have a bit of a blog about a SQL Server feature that doesn’t get a lot of love. We can debate all the reasons for why stretch database hasn’t seen a lot of use, but it’s still there and still an interesting feature to play with.

Recently I had the pleasure of putting together a proof-of-concept for a customer who was looking into using Stretch Database to offload a large amount of archive data into Azure rather than their own datacenter(s). This particular application had some tables that were created nearly 15 years ago (a fact that will become relevant shortly). Enabling Stretch Database is covered well in the Microsoft document here so I’ll skip straight to the error I was getting.

I noticed when I enabled Stretch Database (via the wizard) some tables were starting to migrate completely normally and some were not. I began querying sys.dm_db_rda_migration_status (a DMV used for monitoring Stretch Database operations) and saw that all of the tables that were not moving were registering error 7320 in the error_number column of that DMV. A quick search on the error revealed the following text of the generic error: Cannot execute the query “%ls” against OLE DB provider “%ls” for linked server “%ls”. %ls. Not very helpful, is it? It was at this point we contacted Microsoft support because we thought we’d found a bug – some tables were migrating correctly and some weren’t, even though they’d all been configured for stretch the same way via the wizard. Our support ticket went between Azure SQL Database support and SQL Server support before we were connected with a solid engineer who assisted in troubleshooting but was unable to find anything incorrect in the tables or the way Stretch Database was configured.

We were at a loss but he recommended another review of the SQL Server error log to see if there was anything untoward there at all that we had missed in our previous reviews. What I noticed in that final review was that we were occasionally seeing errors relating to ANSI_NULLS settings in the error log. Cross-referencing that with the times the Stretch Database migration process was attempting to kick off on the erroring tables revealed that something to do with ANSI_NULLS was breaking Stretch Database migration. But what?

I relayed this information to the support engineer and he contacted the development team to ask what ANSI_NULLS had to do with Stretch Database migration throwing an error related to linked servers – an odd chain of errors. They replied and said that if a table was created with the ANSI_NULLS setting set to OFF then the Stretch Database migration process will throw that linked server error. These tables, due to their age I mentioned earlier, were created with that setting set to OFF. Problem solved! (Although changing the ANSI_NULLS setting for hundreds of related tables is its own set of challenges that should be its very own blog post). In better news, the support engineer submitted a request to the docs team to clearly document this previously undocumented issue.

I realize, given the minimal adoption of Stretch Database, this blog post may be targeted towards a limited audience. That said, if it helps just one person avoid the issues that I ran into and save hours or days of work to figure this out, it is a huge help to somebody! If that somebody is you, cheers!

As always, thanks for reading and come back soon – there will be much more content here as 2019 rolls on.

Speaking of Blogging…Here Is Where I’m Speaking Soon

Speaking of Blogging…Here Is Where I’m Speaking Soon

For the folks that follow my blog and have noticed it’s been a bit quiet around here – apologies. Personally and professionally, the last 3 months or so have been quite a whirlwind but I’m still here and the blog is too. Tomorrow there will be a real live technical post here on the site, but for today I wanted to get a post up noting my next three speaking engagements.

Saturday, March 30 I will be speaking at SQL Saturday Cincinnati. I will be presenting my fairly new session “Azure-d Availability: Scaling SQL Server to the Cloud” and I’m excited to be speaking at one of my local-ish SQL Saturdays. The link to my session is here and the registration button for the event is in upper right corner of that page.

Following that, I’ll be presenting to Midlands PASS in Columbia, SC at 5:30 PM on Tuesday night. I went to college at Clemson so, in some ways, Columbia is a bit like home. If you’re familiar with the Clemson/South Carolina rivalry, however, in some ways it’s not. 🙂 Either way I’m looking forward to speaking to the group about Azure Logic Apps, Azure SQL DB, and sentiment analysis using Azure Cognitive Services as long as they don’t boo me out of there! The session link is here for those interested and in the area.

Finally, I’ll be crossing the Atlantic once again to speak at Data in Devon in the southwest of England. This is the event formerly known as SQL Saturday Exeter and I’m thrilled to be presenting my “Where Should My Data Live (and Why)?” session to an international audience. If you are at all close to the area or fancy a weekend in southwest England with some excellent training (and my session), the registration link is here.

Thanks for reading and I hope I see you at one of these events. Thanks to IDERA Software for making some of this travel possible. I hope you’ll come back tomorrow (March 29th) for my first technical blog in a while.

T-SQL Tuesday #108 – Logic Apps & Cognitive Services

T-SQL Tuesday #108 – Logic Apps & Cognitive Services

For this 108th edition of T-SQL Tuesday, Malathi Mahadevan (b|t) has come up with a wonderful topic – non SQL Server technologies. As the Microsoft data platform continues to expand, our jobs as data professionals are requiring us to learn and embrace technologies outside of the traditional relational database platform. After spending last week at PASS Summit 2018 and being reminded again about the amazing diversity of the SQL Server/Microsoft Data Platform ecosystem, this topic seems especially well-timed. Nicely done, Mala!

The non SQL Server technologies that I’ve selected for this post are the pair of technologies that have been oddly involved in my life for the last year or so: Azure Logic Apps and the Cognitive Services API. I was fortunate enough to be selected to speak about these topics at PASS Summit this year and it’s been a strange journey from, in a little over a year, never having heard of Logic Apps and Cognitive Services to creating training for them and speaking in the community about them. Long story short, I heard a Men in Blazers podcast last October where they jokingly mused about ranking English Premier League teams by the supporters’ feelings rather than actual results on the pitch. I had recently read some logic apps blogs from Brad Ball (b|t) and thought I could take what I learned from those and turn it into the “mood table” that was discussed on the pod. If you’re interested in the technical details of what I did, click here and read my blog from last year about how I did it. That post also links to a deep dive post with even more detail.

That post, and the mood table’s weekly appearance on the podcast for months, set the table for me to begin presenting a logic app and Cognitive Services session at PASS community event and non-PASS technical meetups as well. That drove me to better understand the power of logic apps and what else I can do with them with or without wiring in Cognitive Services as well. I submitted that session for this year’s PASS Summit and it was selected so I dove into these topics even further in order to build a robust 75-minute session.

The story behind my initial effort for the podcast and how that turned into a session brings us to today. What are my plans for learning more about this? I’ve partnered with a company on some logic apps training and will release that information when the course is released. There is a possibility of building onto that course with a subsequent advance course. Creating that training content forced me to really dig into some concepts within logic apps and cognitive services that I was not very familiar with from just my “playing” with these technologies for the mood table. It’s also really opened my eyes to just how powerful logic apps are for coordinating workflows for real companies with real data flows (not silly soccer-related podcasts :-)). I’m looking forward to integrating Azure Logic Apps and Cognitive Services with customer work in 2019 so customers can see how useful Logic Apps can be when moving and transforming their data. Cognitive Services can offer huge value to customer-facing departments such as customer support and marketing. I can’t wait to begin talking more about these technologies with my customers and learning more about them as we work together.

Why Is Daddy Talking to the Wall?

Why Is Daddy Talking to the Wall?

This morning (October 18th, 2018) I had the opportunity to present my “New Features and New Speed in SQL 2016 (+) Always On Availability Groups” session remotely to the community of people registered at DataPlatformGeeks.com. DPG is the group behind the Data Platform Summit, which will be at the Radisson Blu in Bangalore from August 22-24, 2019 (pre-conference sessions offered August 19-21). While I certainly hope to submit to DPS in 2019, today was a lot of fun and good chance to speak to their community.

My session began at 5:30 AM Eastern (I’m based in Lexington, Kentucky, USA). That is 3 PM IST. My kids wake up around 6:30 AM to get ready for school. I presented the webinar from my home office and my kids were a bit confused as to why I had my headset on so early in the morning and appeared to be talking directly to my wall. I’ll never cease to be amazed at technology that allows us to share technical content to people halfway around the world – it’s awesome and I’m so fortunate to get opportunities to do this now and then.

I’m actually presenting another session to them on November 15th – I’ll be doing my “Where Should My Data Live (and Why)?” presentation that I gave at PASS Summit 2017. If you’d like to register for that, the link is here. If my session doesn’t interest you, though, go check out their events page to see all the good, free content that they make available throughout the year. For example, Bob Ward and Jonathan Kehayias are the last two sessions before I present on November 15th. Even if you think I’m a bit of a dodgy speaker, you can’t get any better than Bob and Jonathan! Til next time…

Weekday Speaking and Weekend Racing, MVP-style

Weekday Speaking and Weekend Racing, MVP-style

Greetings and thanks for dropping by! I have a couple speaking gigs to mention and a real racing gig to discuss and then I’ll leave you to your actual work instead of reading silly blogs.

I was supposed to head to North Carolina next week to present my “New Features and New Speed in SQL Server 2016 (and 2017) Always On Availability Groups” session to TriPASS in Raleigh. I was also going to use the trip to see some Triangle-area friends and some family in the Asheville area as well, but Hurricane Florence has other ideas and so I’ll be delivering the session remotely provided that the meeting still goes on. At this point, while I’m happy to present the session, I’m focused on the health and well being of all my friends and family in the Carolinas. While Florence’s winds have weakened, the forecasted rain looks quite significant and I’m definitely hoping for the best possible outcome there.

Mother Nature willing, I’ll be presenting my “Where Should My Data Live (and Why)?” session to the Atlanta Microsoft Database Forum on October 8th. I’m excited to speak to that group and looking forward to heading to another area where I have family and friends in the vicinity. If you’re Atlanta-based I encourage you to register here. As an aside, my mom lives north of Atlanta and has expressed an interest in seeing an Atlanta United soccer/football match so I’ll probably take her to the match on 10/6 at 3:30. If you’re an Atlanta United supporter I’d be happy to grab a pint with you pre-match. Feel free to comment below or tweet at me (@sqlatspeed) if you’d like.

Finally, I’m excited to talk about the opportunity I have to run a GTA-class Mustang (picture above) at the 2018 OVR Autumn Classic XXXVII at Mid-Ohio Sports Car Course October 13-14. If you’re around Central Ohio, let me know if you’d like to come out. I’d be happy to talk you around the circuit and walk you through the car as well. It’s been a while, but I’m happy to be able to live up to my @sqlatspeed Twitter handle. This is an introductory effort to a potential full-season opportunity next year. My sincere thanks to Win Smith Racing for the opportunity and to FGE Professional Sports Analytics for the support to make this happen.

That’s all the traveling news for now, but I’m proud to say I’ll be doing this traveling as a Microsoft Data Platform MVP. I’m honored to be awarded that designation and I’ll do my level best to maintain it and earn it in the coming year. Stay tuned to my blog for updates on the racing efforts (with in-car video) and an update on my recently announced PASS Summit session as well. Bye for now!