A few weeks ago, I joined a webinar. The webinar was about server quality and database design.
The presenter is one of the popular DBA presenters in the USA and works for a big software company. While presenting the scripts, one set did not work. He knew it but trudged on and explained it. At the end of the webinar, he suggested reaching out to him on social media. Well, I did just that!
I requested the scripts he was presenting about, and I offered to help get the T-SQL script working. Shockingly he took me up on the offer. What he sent via email contained several scripts. Looking the code over, it was clear it never worked or was completed. I replied to the email, telling him I would work on it over the weekend.
Saturday, I looked over the code. I ran a few tests on the queries to see what was happening. Trying to figure out the issue, I reviewed the references to Microsoft documents. Getting a concept of what he was attempting to do, I stopped there for the day. Let’s recap the day, 30 minutes total time spent.
What was not working was the queries were ganged together and shared some database recourses like tables and format. Most of the issues were in the table definition were completely missing. The concept gave me an idea to run with when I combine it with my T-SQL. From the documentation side, I saw many things missing and will have to correct that later.
Sunday, I went back to the Microsoft documents. Missing items in the Microsoft documentation is the issue I stated above. Making an update to fix this would be slow and require new code to be added. Over 100’s lines. Using the process of writing code in excel to generate several the code (a technique in a previous blog of mine) saved me hours. Then I started on fixing each query one by one. When I finished, the code was longer, about three times longer, but more complete, and functions more like the original design suggested. The total time today was 2 hours.
Next, I emailed the code back to the presenter. Thinking this over as I drove, I saw a flaw in my fix. The queries used union commands in the T-SQL query that were not necessary with a table variable present. But to leave it in the code would serve no actual purpose. When I got home, I emailed again about the unions, and he should remove them and copy the first insert at the top, breaking it into several groups in inserts. Both would function.
A week went by, and no reply from the presenter. I was a bit disappointed and expected a little dialog and hoping to make his relationship into a colleague. Guess not!
He accounting on this was:
- 5 hours of my time.
- Code set out
- A great idea that I will make use of
The satisfaction that I tried to convert him into a colleague
Knowledge of Microsoft’s internals
To me, this was successful. But if it took any longer, I should have stopped. Only because I was at the limit of what time I was willing to donate to a colleague as a test of where I stand. But if I did not learn anything, the 2.5 hours would have been more like 1/2 hour. At the end of the week, the presenter set out a notice for another webinar. I signed up by might not make that offer again. Ultimately, we work to do two things, make money and build relationships. And the relationships are the most important.
Next time, I will be more selective. I am looking for a more solid plan. Like when collaborator uses GitHub or if the specifications are detailed.
Can I help make your databases fast, secure, and more reliable? And maybe build a partnership between your company and mine.