T-SQL Tuesday Participation Over the Years

Comments: No Comments
Published on: December 19, 2018

Loads of TSQL Tuesdays

TSQL2sDay150x150

Years ago the TSQL Tuesday party was started by Adam Machanic (b|t). The premise of the monthly event is to get people a topic each month to try and ease some of the difficulty with writing (figuring out what to write) and to get more involved in the community. The party started in December 2009 and is now embarking on the 10th year. The party is running strong and will likely continue for many years to come.

I have personally participated in quite a large number of these events. I am far from a perfect participation record like Rob Farley (b | t) but I do participate when I can. Every now and again I think about what I might have participated in or what I have written in the past for a TSQL Tuesday. This post will serve as a table of contents for all of those articles. This is to help make it easier to find for me (as well as give me a chance to review and fix problems from really old posts). This post will provide a quick synopsis of my article (if one exists) along with topic and links to original invite and roundups for the monthly party.

T-SQL Tuesday #001: Date/Time Tricks (Dec. 2009)

Invite and roundup

My Article: N/A

T-SQL Tuesday #002: A Puzzling Situation (January 2010)

Invite and roundup

My Article: TSQL Tuesday – But I was late

This was the first time I participated in TSQL Tuesday. I was very new to the blogging concept – and it shows. The puzzling problem I encountered in the article was a fun little job that kept giving different results than running the same code from SSMS. Check it out!

T-SQL Tuesday #003: RELATIONSHIPS (February 2010)

Invitation and summary

My Article: Relationships

I covered all sorts of different relationships that affect SQL Server from work, to marital, to table relationships in a database. It all ties together in requiring an individual to constantly tune the different types of relationships.

T-SQL Tuesday #004: IO (March 2010)

Invitation and roundup.

My Article: IO IO IO

What if we could create a numbers table without IO?  What if we could perform several different kinds of queries without IO?  Itzik Ben Gan proposed a cascading CTE solution that does this sort of thing. This article shows that method in use to help improve certain IO conditions.

T-SQL Tuesday #005: Reporting (April 2010)

Invitation and roundup.

My ArticleIP and Default Trace…T-SQL Tuesday #005

Having been introduced to a requirement to report on IP addresses of connections, I dive into a solution that will help show hostname, ip address and a few more tidbits.

When it is necessary to provide reports on activity occurring on the server, it pays to do a little prep work.  Be Prepared.  It is not an easy task to be able to go back in time and report on data that isn’t captured.  The little prep work that one may need to do is well worth the effort in the end.

My 2nd ArticleBLOB Report T-SQL Tuesday #005- Reporting

Learning how to decrypt the individual object sizes broken down into type and filegroup. Then report on the data that was retrieved from the DMOs.

T-SQL Tuesday #006: “What About BLOB?” (May 2010)

Invitation and roundup.

My ArticleT-SQL Tuesday #006: A Blobbing We Will Go

In the DMVs for SQL 2005 and SQL 2008 there is more than one place you can find the information about the size of your LOB data?  And it goes without saying that there is more than one way to find information about LOBs in your database.

T-SQL Tuesday #007 – Summertime in the SQL (June 2010)

Invitation and roundup.

My Article: Data Compression

I see database compression, as offered with SQL 2008, to be more like these file compression utilities than DriveSpace.  Data compression in SQL 2008 is not an all or none implementation.  You get to pick and choose what gets compressed.  That is a big time bonus for me.

T-SQL Tuesday #008: Gettin’ Schooled

Invitation and roundup.

My ArticleGettin’ Skewled

I am learning that learning is not just formalized education in a classroom or in specific settings.  There are things to be learned from all aspects of life.  This can be learned if only a little observation is used.

T-SQL Tuesday #009: Beach Time (August 2010)

Invitation and roundup.

I hosted this particular event.

My ArticleR & R

I find it completely useless to go on vacation if I am going to be checking email or project statuses every 10 minutes.  There is no rest or relaxation in doing those things while I am supposed to be doing something else.  Vacation should be fun and enjoyable.  Thus, if I am to enjoy vacation, I need to do a few extra things in the office prior to leaving.

T-SQL Tuesday #010 – Indexes (September 2010)

Invitation and roundup.

My ArticleTSQL Tuesday Indexes and Blobs

How does one find what columns were LOB columns in the database.  I knew I had some past blog posts about various aspects of LOBs, but I had never broken it down to find the columns in the LOB.  Even better was that I wanted to know what columns were in what index that were also a BLOB.

T-SQL Tuesday #011 – Misconceptions in SQL Server (October 2010)

Invitation and roundup.

My ArticleA Haunting TSQL Tuesday Tale

I chose the myth that truncate is unrecoverable. Check it out and see how a truncate is most certainly capable of a rollback or being recoverable.

T-SQL Tuesday #012 – Why are DBA skills necessary? (November 2010)

Invitation and roundup.

My ArticleT-SQL Tuesday #012 – Skills

As a DBA, we occasionally have the opportunity of attracting a new client or a new job or a new database.  It seems that more often than not, some of the skills requisite (at least they should be) of owning a database are missing. (Nunchuku skills could come in handy from time to time too!)

T-SQL Tuesday #13 – What the Business Says Is Not What the Business Wants (December 2010)

Invitation and roundup.

My ArticleT-SQL Tuesday #13 – Business Requirements

I think a common area that is easily overlooked when it comes to requirements and interpretation of requirements is report creation.  A common problem is that there are no defined or written requirements for the creation of a report.

T-SQL Tuesday #014 – RESOLUTIONS (January 2011)

Invitation and roundup.

My ArticleTSQL Tuesday 14: Committed

This month was all about resolutions and goals. My list of goals were pretty good and entirely profession based.

T-SQL Tuesday #015 – Automation in SQL Server (February 2011)

Invitation and roundup.

My ArticleT-SQL Tuesday #15 DBA Automaton

I shared a script that will load a sample of data from every table in every database for every column and give you the length of the pertinent columns (I have excluded obvious columns such as numeric types and certain LOB types).

T-SQL Tuesday #016 – Aggregate Functions (March 2011)

Invitation and roundup.

My ArticleT-SQL Tuesday #016: Aggregates and Statistics

Super geeky article on stats, quartiles and the like. For my data analysis and trending, I wanted to find a simple distribution across quartiles.

T-SQL Tuesday #017 – APPLY Knowledge (April 2011)

Invitation and roundup – unavailable on origin site.

My ArticleT-SQL Tuesday #17 – APPLY Knowledge

In this article I take an unexpected twist in my application of the APPLY operator. In that twist, I show a quick and simple script to grab role members.

T-SQL Tuesday #018 – CTEs (May 2011)

Invitation and roundup.

My ArticleT-SQL Tuesday #18 – CTEs

I shared a rather complex series of CTEs that are used in the same way a hierarchy and ancestry tree would be generated – except for Foreign Key relationships. That script was a load of fun.

T-SQL Tuesday #019 – Disasters and Recovery (June 2011)

Invitation and roundup.

My ArticleT-SQL Tuesday #19 – Disasters & Recovery

Who needs a single disaster when you can enjoy multiple disasters in a single sitting? I share three different types of disasters. I am sure many have had experiences with all three and probably many more types of disasters.

T-SQL Tuesday #020 – T-SQL Best Practices (July 2011)

Invitation and roundup.

My Article: N/A

I missed the announcement or something like that.

T-SQL Tuesday #021 – A Day Late and Totally Full Of It. (Aug. 2011)

Invitation and roundup.

My ArticleTSQL Tuesday 21 – FAIL FAIL FAIL

I don’t hide much as I share my feelings about crap code and then show my own crap code followed by a little bit of explanation on an improved version of the same code.

T-SQL Tuesday #022 – Data Presentation (September 2011)

Invitation and roundup

My ArticleT-SQL Tuesday #22 – Data Presentation

I chose to touch on several aspects of data presentation – Performance, Accuracy, Display, and Business Requirements.

T-SQL Tuesday #023 – Joins (October 2011)

Invitation and roundup.

My Article: N/A

D’oh – missed another one in 2011.

T-SQL Tuesday #024 – Prox ‘n’ Funx (November 2011)

Invitation and roundup.

My ArticleT-SQL Tuesday #024: Prox ‘n’ Funx

Big takeaway from this month was the value of a very good string splitter.

T-SQL Tuesday #025 – Invitation to Share Your Tricks (Dec. 2011)

Invitation and roundup.

My ArticleT-SQL Tuesday #025 – Holiday Gifts

In the spirit of the Holidays, I wanted to share some tricks and tips.  They can be my gifts to you during the holidays.  And maybe they can help you give to somebody else.

T-SQL Tuesday #026 – Second Chances (January 2012)

Invitation and roundup. (Original site toasted).

My ArticleTSQL Tuesday #26 or #23 – Identity Crisis

Having missing TSQLTuesday 23 and the topic being about Second Chances, I chose to write about JOINs and sort of fulfilling the requirements for both TSQL Tuesdays in one shot.

T-SQL Tuesday #027 – Invitation to The Big Data Valentine’s Edition (February 2012)

Invitation and roundup.

My Article: N/A

After that second chance I blew it the very next month. Luckily I have a good reason – Valentines Day!

T-SQL Tuesday #028 – Jack of All Trades or Master of None (March 2012)

Invitation and no roundup.

My ArticleT-SQL Tuesday #028 – Jack of All Trades, Master of None?

This one brings up bad memories of when as the DBA it was also required to be the janitor.

 

More updates coming soon!

What is T-SQL Tuesday?

T-SQL Tuesday is a monthly blog party hosted by a different blogger each month. This blog party was started by Adam Machanic (blog|twitter). You can take part by posting your own participating post that fits the topic of the month and follows the requirements below. Additionally, if you are interested in hosting a future T-SQL Tuesday, contact Steve Jones via the tsqltuesday website – here.

How to Participate

  • Your post must be published between 00:00 GMT Tuesday and 00:00 GMT Wednesday.
  • Your post must contain the T-SQL Tuesday logo from above and the image should link back to this blog post.
  • Trackbacks should work. But, please do add a link to your post in the comments section below so everyone can see your work.
  • Tweet about your post using the hash tag #TSQL2sDay.

T-SQL Tuesday 109: Influence Somebody Recap

Comments: No Comments
Published on: December 18, 2018

How have you impacted somebody in the community?

This month I am in charge of the topic for TSQLTuesday. The invite was published here a couple of weeks ago. I knew I was picking something rather difficult for people in general and probably more difficult for technologists due to the notion of jumping head first into a discussion with somebody about yourself. I have been asked by previous employers to do my own personal annual job review. This idea is very much like that – but more personal.

Some say it eats at the core of being prideful to discuss this topic or to broach the “review” with others. I like to take a different angle on it. I see it as a means to personal growth and has nothing to do with bragging. I tend to find that people gifted with humility will ask others how they could improve professionally or personally. Being able to find where you are doing well or not so well is key to progress. I would hope those that participated found this difficult exercise helpful in uncovering a new angle on personal and/or professional improvement.

 

Discomfort

There is no hiding from the fact that this task provided a great deal of discomfort and probably angst as demonstrated from this tweet.

 

Multiple participants, as you will see as you read their articles, shared their feelings on the level of discomfort and difficulty they had with the topic. I expected the discomfort, I felt it too.

As I read the articles, I could feel the discomfort alongside the author. I get it – it’s hard because none of us want to come off as bragging about ourselves. Take into account that discomfort and then the message that each of these people has to share with you!

WHO?

Steve Jones (b | t) – Influence. Steve is not comfortable writing about this topic as he dives in to share with us. As he does he hits a very strong note for me. We, the SQL Community, give a lot of ourselves and that giving grows exponentially. We give of ourselves and many times we end up the recipient of this exponential experience.

It can be scary and intimidating to share knowledge with others publicly, but it is also immensely rewarding! -Steve Jones

I believe the same can be said of sharing a personal review publicly.

Wayne Sheffield (b | t) – Influence Somebody. I personally know that Wayne had a hard time with this topic and sharing an article. Wayne shares a couple of stories outlining some very small actions on his part. He was largely unaware of his influence and in turn ended up dumbfounded and awestruck at what his influence meant to other people.

Small actions. That’s all it takes to make a positive difference in a person’s life. Be interested, and encouraging. You never know what kind of effect you are truly having on people. And when you do find out, prepare to be astonished. – Wayne Sheffield

Malathi Mahadevan (b | t) – To Influence and be Influenced. Mala is a very humble person. Mala shares a personal experience about her influence several other people as she worked on her very first book project this past year. The really cool part is the joy she got from seeing many people filled with the joy of having the opportunity to be in the book.

It is a positive way to end the year on a tone of gratitude to people who have influenced you – and it is doubly positive/uplifting to see/hear of what you have done to other people too. – Mala

I am grateful for the friendship I have with Mala, she is a genuine and good person.

Shane O’Neill (b | t) – Influence Somebody. Shane shares how difficult this task was going in and even stumbles on a bit of writers block. Shane doesn’t go out daily to try and find somebody to profoundly impact. He goes about his day in an unassuming way as he just does what he does – shares knowledge just because it needs to be shared. Shane is aware of the impact as people have met him and thanked him personally for his contributions to the community. That’s a win win!

I’ve had some great surprises from people in the community about stuff they’ve seen on here.

It’s nice to know that when you’re shouting into the void, that the void sometimes shouts back.

Each token of appreciation, each expression of gratitude is a replenishment to my morale.

Just a way to say that all efforts put in, while not showing straight away, build up. – Shane O’Neill

I am sure many of us have felt that replenishment to morale from the various tokens of gratitude. The sincere and personal sharing of appreciation carries so much more weight and replenishes the morale so much more completely.

Rob Farley (b | t) – People I Influence. Rob is a humble kind and caring person! He struggled with the topic as he illustrated on twitter. All of that aside, he hit on a note I was hoping somebody would hit on – employees and coworkers. Employees are a reflection of leadership. If the leader is a class act, s/he will impact the employees in a positive manner for the better of the company and the employee.

That aside, Rob is hopeful of being an influence to other people outside of work. Rob is not comfortable with thinking about whether he is influential or not and I get it. I don’t think many of us think regularly about our sphere of influence – until somebody gives us that token of gratitude for some small action we performed.

For a while now, I’ve thought that I would rather employ MVPs than be one myself (although I hope this doesn’t actually cause me to lose my status), and I have often looked for opportunity to get my team in front of people.

As an employer who encourages his staff to be community minded and on the path to being MVPs like Rob is, I think this an outstanding level of influence that is merely demonstrative of the humility that resonates within Rob.

Jason Brimhall (me) – To Influence or be Influenced. I share a couple of experiences in my entry for the month. More important than the stories is the message that as one gives of themselves, there is a gain that will be returned to that person at some point that is likely exponential in nature to the little token of giving that happened in the first place. Give and you will receive! Steve hit on that same note.

And in case you are still curious what this TSQL Tuesday thing is, here are the details…

What is T-SQL Tuesday?

TSQL2sDay150x150T-SQL Tuesday is a monthly blog party hosted by a different blogger each month. This blog party was started by Adam Machanic (blog|twitter). You can take part by posting your own participating post that fits the topic of the month and follows the requirements below. Additionally, if you are interested in hosting a future T-SQL Tuesday, contact Steve Jones via the tsqltuesday website – here.

How to Participate

  • Your post must be published between 00:00 GMT Tuesday, December 11e, 2018, and 00:00 GMT Wednesday December 12e, 2018.
  • Your post must contain the T-SQL Tuesday logo from above and the image should link back to this blog post.
  • Trackbacks should work. But, please do add a link to your post in the comments section below so everyone can see your work.
  • Tweet about your post using the hash tag #TSQL2sDay.

To Influence or Be Influenced?

Comments: No Comments
Published on: December 11, 2018

How have you impacted somebody in the community?

Well, have I come up with a doozy of a topic for this month for the TSQLTuesday party. Its not easy to step out of ones own comfort zone. Its even more difficult to fathom the thought and action of performing a self review. That is in essence the task at hand – self review or have somebody else review your personal contributions to the community.

In the invite, I mentioned how many of us have been able to come up with lists of people that have impacted us personally. Using that previous exercise would be a pretty good resource for some to maybe find out more how it was they influenced another person in the community.

To be candid, the invite is not just for those who have influenced others but also for those who have been influenced. If somebody had an impact on your career or your personal identity, take a minute to chat with them and let them know!

Surprises

How great is it to provide a service to somebody and then to receive a legitimate and meaningful thank you? The SQL community gives and gives and gives and all too often there is no personal note of gratitude for the help given. Every once in a blue moon, that thank you comes and a really cool calming feeling may just overwhelm you. That is when you know you have done good and have meant something to somebody in their life or career.

I am not talking about the flippant thumbs ups, or likes as you may see in social media. Granted, seeing those likes and retweets is probably nice to see on occasion. It just doesn’t bring a real valid connection to the people you are trying to help.

These kind of personal connections are the types of things that build friendships, networks, and long lasting relationships. Someday, this relationship may turn into a client or co-worker or even future mentor (we all can learn something new from other people).

I have had this kinds of conversations more than a few times with the most recent just occurring today from a client. The latest opportunity came as a candid conversation after taking a week long vacation. The client asked me over for a quick chat and reminded me of how thankful they are for the effort and long hours I have given them. The stability they now see with the environment has brought peace of mind and comfort knowing the database will be up when they need them. It has been a culture shift in how databases are viewed there and it has been a good and meaningful shift. This organization is now setup to bring on more talent to a database team.

Just as meaningful is the opportunity I had to chat with another MVP. This person pulled me aside at a very popular conference. I must admit this one blew me away because I had no idea. This person proceeded to tell me how thankful he was that I was a good example as a friend and mentor. He was also appreciative of the time I would take to answer his technical or non-technical questions. Unbeknownst to me, this was happening while he was hitting a rough patch (his words).

This second experience was extremely humbling to me. I share this because I was unaware of the profound impact I was having on this person who later became an MVP. I didn’t do anything super special. I just did what I felt was right. The experience reminded me of why I do the things I do in the community. While extremely gratifying to give and help, it is also very humbling to be able to give, help and be reminded of how a little effort can have a profound effect.

For me, this reminder came when I was personally getting a little down. I needed the reminder to keep it humble and continue to give. I enjoy helping in various ways in the SQL community and I was getting a little sidetracked from doing those things I enjoy. So by these people pulling me aside and telling me about the influence I had on them, they unwittingly also had an impact on me. As I have said multiple times, when you give, you also get something in return. That is the nature of service.

 

 

 

Circling Back

TSQL2sDay150x150Just because you give to the community doesn’t mean you can’t also receive. It also doesn’t mean that it has to be done without ever knowing the true impact of your giving. You simply cannot improve yourself if you have no clue how well you are doing.

Getting feedback from others is that little check that is needed to help progress and move in the right direction. When allowing time and opportunity for feedback from others, you are doing yourself a service as well as them. As I noted, these people that gave me this feedback not only told me about how much I helped them, but they also impacted me at the right moment to help me remember the reasons behind why I like to help. Give a little and you will also get a little!

T-SQL Tuesday 109: Influence Somebody Invite

Comments: 7 Comments
Published on: December 4, 2018

How have you impacted somebody in the community?

It has now been 28 months since the last time I hosted a TSQL Tuesday, that was TSQL Tuesday 81. I recapped that event here with the original invite here. It continues to amaze me how quickly time flies and how easily years can blow by in between hosting this awesome party!

The last time I hosted, I issued a difficult task. I dare say this one might be just a touch more difficult. First, I want to jump back into the time machine and visit a few of  TSQLTuesday topics that might be relevant to this month’s challenge.

In November 2017, Ewald Cress (b | t) invited everybody to talk about and basically give thanks to people that have helped impact their careers or lives. Check out the roundup here.

In December 2017, Mala Mahadevan (b | t) invited everybody to set goals for themselves. These goals were supposed to be about learning. But when you get down to the nitty gritty, anything that helps build character and career really comes from something that must be learned. It all starts with a bit of introspection. It is this introspection that I ask you to use as a building block for the party this month.

Lastly, in May 2018, Riley Major (b | t) asked everybody to reflect a bit on the theme from Ewald. This time though, the task was to give back to the community. Pay it forward, if you will, given that you had previously benefited from the kindness of somebody else.

Invitation

Building on the work of these three fine individuals, here comes the difficult task. You have been the benefactor of some awesome help from somebody else. You even wrote about it and in a way, told that person how they impacted you, your career, or both. You have set goals for yourself to become a better you after some personal reflection, meditation, introspection. Then you have given back to the community in some way.

I am not asking you to be braggy, just aware and cognizant. What have you done to impact somebody else in the last 13 months?

How do you know you have impacted them? This is really the hard question. I want stories of how you impacted somebody else for the better. This may mean you will need to talk to some people and have a little retrospective with them.

Why?

This past year we lost some real juggernauts in the SQL Community such as Robert Davis (blog). We all know he impacted many people. We can also assume that he knew he impacted peoples lives. How great would it have been to sit down and have a personal discussion with him to let him know for certain how he impacted your career?

At PASS Summit, I had the opportunity to have such a discussion with somebody completely out of the blue. I know how much that meant to me. I also know that I was rather unaware of the influence I had on this individual.

How?

If you have not already had the opportunity to discuss your influence, make the opportunity. If you have mentored somebody, have a chat with them. If you work with somebody that you might have influenced, have a candid chat. Ask them directly if you have been able to be a good influence to them. Ask them how you might be able to better help them.

I know, this gets us all out of our comfort zones – but we need to do things like this. It is a method of both giving thanks as well as just giving (it is the season).

If you are reading this and don’t feel you have influenced somebody, then talk to somebody that has influenced you. Let them know how you influenced them.

Then, after having this candid chat, please write about both the experience (even the awkwardness), anything you learned from the conversation, as well as some details around what it is you did that impacted said individual.

Doing this little exercise will not only help you to become a more involved team member, community member, and leader it will also help you improve on some of the interpersonal skills used for networking as well as public speaking.

What is T-SQL Tuesday?

TSQL2sDay150x150T-SQL Tuesday is a monthly blog party hosted by a different blogger each month. This blog party was started by Adam Machanic (blog|twitter). You can take part by posting your own participating post that fits the topic of the month and follows the requirements below. Additionally, if you are interested in hosting a future T-SQL Tuesday, contact Steve Jones via the tsqltuesday website – here.

How to Participate

  • Your post must be published between 00:00 GMT Tuesday, December 11e, 2018, and 00:00 GMT Wednesday December 12e, 2018.
  • Your post must contain the T-SQL Tuesday logo from above and the image should link back to this blog post.
  • Trackbacks should work. But, please do add a link to your post in the comments section below so everyone can see your work.
  • Tweet about your post using the hash tag #TSQL2sDay.

T-SQL Tuesday #108: New Horizons Beyond SQL Server

Comments: 1 Comment
Published on: November 13, 2018

There comes a point in one’s career when a change is requisite. Big or small there always seems to be a tipping point that mandates some sort of change. Maybe the change is an entirely new career field. Maybe the change is adapting to the ever improving features of a specific software or product. Maybe, that change means learning a tangential technology.

This is precisely the goal Malathi Mahadevan (b | t) seems to have envisioned for the 108th installment of TSQL Tuesday.

If you are interested in reading the original invite, you can find that here.

So the challenge for this T-SQL Tuesday is – pick one thing you want to learn that is not SQL Server. Write down ways and means to learn it and add it as another skill to your resume. If you are already learning it or know it – explain how you got there and how it has helped you. Your experience may help many others looking for guidance on this.”

Personally, I am not one to settle, so learning and improving are important. New technologies, changes in technologies, new features, tangential technologies – they are ways to continue to learn and improve – most of the time. Sometimes, a new technology offers a good change of pace and offers an exit from something that is becoming too standard, while providing an entrance to something different, difficult, exciting and expanding.

Through the year (2018), I created a few goals for myself around some of these new or different technologies:

  1. Become proficient at MySQL (maybe even certify who knows)
  2. Become proficient at PowerShell
  3. Work towards the TCM (I got to busy with 1 and 2 to even accord any time towards this one)

Proficient is sort of a vague term because it can have a different meaning to different people. For me, I will describe what I have been doing to become proficient in both PoSh and MySQL.

PowerShell

A shout out is absolutely necessary for Adam Machanic (twitter) for picking the right blog meme that has been able to survive so long in the SQLFamily. This party has helped many people figure out fresh topics as well as enabled them to continue to learn.

I have dabbled in PowerShell over the years – just enough to “be dangerous” as some may say. I wouldn’t call it proficient and probably not even dangerous really. I was able to muddle my way through being able to create some basic scripts to perform certain tasks.

This rudimentary ability just isn’t enough to be able to put the skill on a resume (imho). It certainly wasn’t enough skill to be able to manage a large group of servers and perform various enterprise type tasks. My objective was to be able to create a set of tools for myself that I could use and have repeatable success at great ease.

I sat down with my first set of various tasks I wanted to be able to perform and worked on them as I set time aside to learn PoSh better – every day. It took several weeks and by no means am I on the same level as Rob Sewell (b | t) or Chrissy LeMaire (b | t) or Sean McCown (b | t). That said, I do feel I am far more capable in PoSh now than I was last year.

This is a skill that I plan to continue to hone. I am learning every time I pick it up and try to do something different. It is good that I am able to keep learning. Next year, I plan on being able to say I am more proficient than I am now. I am also hopeful to be able to be good enough to properly contribute to the dbaChecks project. I do also hope to share some of the scripts I have created on my blog as well.

Here are some of my first dabbles with powershell that I have integrated into other blog posts. Yes, they are very rudimentary.

MySQL

Learning MySQL is probably not too big of a stretch to be honest. I certainly think it is far more similar to SQL Server in many regards than PoSh. After all, it is just another little DBMS and does happen to be rather popular.

I wanted to pick up MySQL so I could support clients that have it installed here there and everywhere in their environments. Many clients have more than one DBMS platform and it is good to understand and be able to administer multiple platforms with a high level of competence. Unfortunately, MySQL comes with a fair amount of gotchas. There are serious limitations depending on version and flavor. Some clients may be stuck on a rather old version of MariaDB (akin to SQL 2000). This means developing a broad set of scripts and skills quickly and on the fly.

I have a ways to go in my learning due to the varied flavors of MySQL but I am getting there. I do feel pretty comfortable hopping in and troubleshooting performance issues and doing a quick health assessment at this point. I would call that proficient. Similar to what I said about PoSh, I plan on being able to say next year that I am more proficient. More opportunity with this platform is what lends itself to better proficiency.

TSQL2sDay150x150The Wrap

I believe in continuous integration / improvement when it comes to personal growth and development. It is necessary to keep your personal skills sharp as well as keep yourself marketable.

Oh, and if you are interested in some of my community contributions (which according to Jens Vestargaard is an awesome contribution), read this series I have published.

T-SQL Tuesday #104: Just Can’t Cut That Cord

We all have our favorite scripts, tools or utilities. Those are the things that help make our jobs easier. Some of us may have an unhealthy relationship with some of those scripts (similar in nature to the relationship many have with their phone). Whether or not the need to cut that proverbial cord exists, today we are not discussing the health of that dependence. Suffice it to say, sometimes we simply need to upgrade our scripts. How else can we get better scripts or make our scripts better – by sharing them.

This is precisely the goal Bert Wagner (b | t) seems to have envisioned for the 104th installment of TSQL Tuesday.

If you are interested in reading the original invite, you can find that here.

For this month’s T-SQL Tuesday, I want you to write about code you’ve written that you would hate to live without.

Maybe you built a maintenance script to free up disk space, wrote a query to gather system stats for monitoring, or coded some PowerShell to clean up string data.  Your work doesn’t need to be completely original either – maybe you’ve improved the code in some open source project to better solve the problem for your particular situation.”

There is a high probability that through the sharing of your script, somebody out there can benefit from that script. In addition, it is very likely that somebody will make a suggestion to help make your script better. Worst case (emphasis on worst case here), you have the script stored somewhere with half decent instructions on what it does and making it easily accessible for you to use again and again. Just in case you forget you have it out there – you can google for it again and find it on your own blog ;).

Personally, I have been able to find and re-use some of my older scripts. Not only do I get to re-discover them, but I also get to re-imagine a new use or improvement for the script.

Brief Intermission

A shout out is absolutely necessary for Adam Machanic (twitter) for picking the right blog meme that has been able to survive so long in the SQLFamily. This party has helped many people figure out fresh topics as well as enabled them to continue to learn.

Easy Access

While pondering the topic for today, I had the thought occur about how frequently I post a script on my blog already anyway. An easy out for this topic would have been to re-share one of those old scripts. For instance, I could easily redo a recent article about server access that has a couple scripts demonstrated in it. Or I could go back a few years to my articles about foreign keys (here or here) and space use (here or here). Even more intriguing could be to re-envision some of my articles on Extended Events. But where would the fun in that be?

Rather than take the easy road and rehash something, I have something different. This one goes hand in hand with the numerous articles and scripts I have previously provided on auditing – yet it is different.

Not every shop can afford third party software or even Enterprise edition and so they have to come up with a different way to audit their database instances. One of the problems with a home grown solution is to ensure the data is not stored local to the server (lots of good reasons for that). Here is an example of what I did for one client that happened to have a developer that found a back door that was giving him SA access to the SQL Server Instance and was changing things and trying to cover his tracks – even after being warned.

First the query

This query will be run from a job on a different server that is restricted in access to just a select few people. I do rely on the use of the default trace in this query. I am also reliant upon a little bit of sneaky behavior. If I run this from a separate server, prying eyes are usually unlikely to find that it is running and thus makes it easier to catch them red-handed. In addition, if they discover via some sort of trace and by a lot of luck that it is running, then they have no access to the remote server to alter anything that was captured.

The query does go out to the default trace and pull back any changes to permissions or principals on the server in question. The captured data is then stored in a database that is also restricted to a select few people. Lastly, the captured data can be routinely queried, or automated reports can be created to send email notifications of changes encountered.

The second part of the trickery here is that I am using a linked server to perform the queries (a slight change and I could also do this via powershell which will be shown in a future article). The linked server query uses the openquery format and sends the default trace query to the remote server. Since I am running this from a job on an administrative server that pulls a limited data set, I am not overly concerned with the linked server setup here.

Storing It

Once I query the data, I need to put it somewhere on my administrative server. The table setup for that is very straight forward.

After creating this table, I am ready to store the data. All I need to do is throw the audit query into an agent job and schedule it to run on a regular schedule. For my purposes, I usually only run it once a day.

TSQL2sDay150x150The Wrap

This has been my diatribe about service and giving back to the community. When done properly, there is a natural born effect of enhancing one’s personal life equal in some way to the amount of effort given towards the community.

Oh, and if you are interested in some of my community contributions (which according to Jens Vestargaard is an awesome contribution), read this series I have published.

Summiting that Technical Challenge Part II

Comments: No Comments
Published on: July 6, 2018

Conquering Challenges

Months ago, I posted an article about some of the challenges encountered while migrating from one service level to another for my blog.

As it turns out, I had some long lingering effects that I was delaying fixing because I didn’t want to have an apparent flood of republished posts.

What could possibly be wrong after fixing everything I listed in the aforementioned article? Good thing you asked. Every occurrence of a percent symbol was changed to a new string – “{529e71a51265b45c1f7f96357a70e3116ccf61cf0135f67b2aa293699de35170}”.

Things that make you go huh?

As you can see, this string is hardly useful. I started noticing this string in several articles and it took a while to figure out what the heck was going on. It wasn’t until I was reviewing an old post that had a SQL Script in the post that contained a “LIKE” keyword. An example of one such article is this one about SQL Trace. At that point, the lightbulb went off and I decided to give it a try. Lo and behold, that string truly did represent a percent symbol. I made the appropriate changes and voila, the post looking perfect all over again.

That was one measly little post. I have ~100 articles affected by this problem. Obviously that becomes tedious to change over and over and over. In addition, if I do change them manually one by one, I end up with ~100 articles triggering social media alerts that makes it look like I am re-publishing a bunch of stuff when really it is just editing and fixing the articles. What to do? What to do?

Thank goodness I have half an idea how to update data in a database and my blog is stored in a database. I can run a mass update to replace that string properly wherever it occurs. Let’s try it.

First, just one article to validate…

And if I look at the post after the update, I can confirm that the update succeeded (in my staging database first and foremost). Next, I roll that change to my production database and test again.

After I can confirm that it worked there (you can also see that it worked via this link), then I can work on the mass update.

Now, when I check my blog for that string, I find that there is no more residue left and all seems to be back to being correct.

To fix the string problem, I did use the replace function. Since this is a MySQL database, I had to use that version of it. Notice it isn’t terribly different from the TSQL replace function.

The Wrap

I did not enjoy this journey much at all. Much of the experience was due to outside forces. I can’t do much to control them, but I can do something to fix the net effect of what they caused. I am sure that with all of the problems encountered in that migration, I will find something further that needs to be fixed.

 

T-SQL Tuesday #102: Giving Back

Comments: 1 Comment
Published on: May 8, 2018

bleeding heartLast month we had the opportunity to discuss some of the most important tools for a data professional. I took that opportunity to discuss how it is important to blog. As it turns out, that article correlates fairly strongly to today’s article.

These are maybe some of the questions that Riley Major (b | t) would like for us to examine about our own deep dark secrets and psychological makeup:

  • Why do we give back?
  • How do we help give back?
  • What do we plan to do to give back?

in this, the 102nd, installment of TSQL Tuesday.

If you are interested in reading the original invite, you can find that here.

“Now I will give you an opportunity to give back. Everyone reading this has benefited from their fellow data professionals. And that benefit puts you in a position to share alike. You’ve learned something, so you can teach. You’ve been supported, so you can help. You’ve been led, so you can lead. But you don’t have to do it alone. We’re all going to do it together.

So here is my call. Pick some way you can help our community. “

Brief Intermission

A shout out is absolutely necessary for Adam Machanic (twitter) for picking the right blog meme that has been able to survive so long in the SQLFamily. This party has helped many people figure out fresh topics as well as enabled them to continue to learn.

Reality Check

Very much related to my blog post about blogging, I have to echo the sentiment about how “Blogging helps you become a better technical person.” A lot of what I do for my blog is there to help the community, but it has a self-serving purpose. It helps me become a better technical person. It also helps me to improve my communications and writing skills.

There are some side effects of blogging as well. Each of us has a finite number of keystrokes in our lifetime. That said, it makes sense to write certain technical things down in a blog post rather than retyping the same information over and over for various different email or forum responses. Make sense? If nothing else, it just seems more efficient to write a long technical explanation once rather than 12 times.

So there we have a couple of self-serving reasons to blog. Those same self-serving reasons also frequently apply to being involved in the community. For example, the more you exert yourself to help answer forum questions, the more you learn. You become a more experienced technical person. In addition, you learn how to communicate better and write better (hopefully). You are practicing your craft in a public forum where people can easily shred you (and they often do), when you are wrong – even minutely wrong. This potential for being blasted in the forums typically makes one work harder at getting everything just about perfect.

If you opt to speak in front of technical people, guess what? You are doing the same things I just wrote about in regards to forum responses as well as with blogging. The big difference is that you are now doing it in person, live, on stage, and verbally! You have really put yourself out there in a big way to go speaking in front of people. You will likely double down even more with regards to ensuring your material is very near perfect and bullet proof. In addition, you will probably practice a few (hundred) times to make sure you don’t fumble with your words. What does this mean? You are becoming a more solid technical person and honing your communication skills. Again, very self serving!

Or is it? The one final aspect of being a community visible person is the drive behind what you do. I like to share what I learn. I also like to share my time. I believe in serving others with a charitable demeanor. Giving of yourself will always enhance your life more than you can imagine – when you do it with the attitude of putting others first. There is no selfish intent to those that really want to help the community.

It doesn’t matter if you are helping the sqlfamily, your local Scouting organization, boys and girls clubs, sports teams, or volunteering at the local schools etc; if you are doing it with the intent to serve and do good – you will enhance your life in some way. If you are doing it for some accolade or truly self-serving reason, you may get the accolade but you will find yourself stunted in the growth potential.

People that give of themselves freely is such an awesome characteristic. There are many in the SQL community that truly give of themselves freely – like SQLSoldier. When it is a part of your identity, it comes naturally and there isn’t a lot that needs to be done to plan for it. Sometimes, maybe it would be nice to be able to have more time to be able to do more – sure. And that is the beauty of this characteristic. If you are giving of yourself freely, you often find that you want to give more. That is great! Do what you can, when you can. Sometimes, it will be more. Sometimes, it will be less. It is all good as long as the heart is in the right place.

TSQL2sDay150x150The Wrap

This has been my diatribe about service and giving back to the community. When done properly, there is a natural born effect of enhancing one’s personal life equal in some way to the amount of effort given towards the community.

Oh, and if you are interested in some of my community contributions (which according to Jens Vestargaard is an awesome contribution), read this series I have published.

T-SQL Tuesday #101: Essential Tools

Comments: No Comments
Published on: April 10, 2018

What are the tools you love to use? What are the tools that maybe need a little sharpening? What tools do you have that maybe you wish were the same caliber as somebody else’s tools? And lastly, which tools do you not possess that you wish you possessed?

This are maybe some of the questions that Jens Vestergaard (b | t) would like for us to examine as we take an introspective look into our tool belts this month for the 101st installment of TSQL Tuesday.

If you are interested in reading the original invite, you can find that here.

“Besides SQL Server Management Studio and Visual Studio Data Tools we all have our own set of tools that we use for everyday chores and tasks. But how do we get to know which tools are out there, if not for other professionals telling us about them? Does it have to a fully fledged with certification and all? Certainly not! If there’s some github project out there, that is helping you be double as productive, let us know about it. You can even boast about something you’ve built yourself – if you think others will benefit from using it.”

That is the invite. I am going to not adhere very closely to that invite. You see, I take a rather open ended definition to the meaning of “tools” this time around. You see, there are many general tools that just about everybody will use. But what about the tools that help to refine your abilities as a DBA?

Brief Intermission

A shout out is absolutely necessary for Adam Machanic (twitter)for picking the right blog meme that has been able to survive so long in the SQLFamily. This party has helped many people figure out fresh topics as well as enabled them to continue to learn.

Refinery

There are two tools I would like to throw out there as essential to the DBA tool belt. These are not your traditional tools by any means but they are easily some of the most essential tools you could employ in your trade craft. These tools are Google-FU and blogging.

Yes, I am taking a liberal definition to the term “tools” and I warned you of that already. These are seriously some of the most important tools anybody could acquire. These are the tools that allow you to sharpen your skills and become an overall better professional. Let’s start with google-fu.

Google-fu is the ability to employ internet searches to find answers to your current questions as well as your current problems. 15 years ago, this skill was much more difficult to acquire and frankly quite a bit more important. In the present world, algorithms are running in the background and profiling you to help you find the answer you are looking for a little more easily. You do more searches, Google learns you better and you get better more accurate results over time. This is a good thing. Every data professional should be able to employ a good Google search to find the appropriate answers to their current problems.

Blogging on the other hand also gets easier over time but for different reasons. Where Google has evolved to help you improve your google-fu, the only way for you to improve your blogging ability is through more and more practice.

Why is blogging so important? Blogging is not there just to help you become a better writer. That is a nice benefit because every data professional needs to be able to write to some extent depending on business needs, requirements, documentation etc. Blogging helps you become a better technical person.

What is often overlooked about blogging is that it requires the writer (if they truly care), to research, practice, and test what it is they happen to be writing about. Why do people do this when blogging? Well, the truth is simple. You are putting a piece of yourself out there for public consumption and people will nitpick it. You will want to be as accurate as possible with whatever you put out there for the world to see. This also becomes a bit of your resume and future employers may see it. You will want them to see your value and not something littered with mistakes.

Over time, your writing will also tend to serve as a personal knowledge base. How cool is that? You will forget the fixes for things over time. You will forget some of the cool solutions over time. That is natural. If you have it written somewhere, you will be able to find it and use it again and again.

 

TSQL2sDay150x150The Wrap

These are a couple of the tools that I highly recommend for all data professionals. Sure they are non-traditional tools, but that does not diminish their importance. I recommend you try to polish these particular tools as frequently as plausible.

Oh, and if you are interested in some other SQL Server specific tools, read this series I have published.

Summiting that Technical Challenge

Comments: 1 Comment
Published on: January 9, 2018

Conquering Challenges

I really like the topic of the TSQLTuesday party today. Today we have been instructed in no uncertain terms to share a technical challenge with the world with which we were confronted. Ideally we will have conquered that challenge. Sometimes, we may not have conquered the technical challenge. We seldom like to share those stories though. That said, whether or not we conquer the technical challenge, there is another equally important part of the challenge – the journey.

Before getting too far astray with stories and challenges, it is important to note that the host of the party this month is Arun Sirpal (blog | twitter). Arun has posted the invite for the party here. Go ahead and check it out in all of its original glory!

Now back to the challenge at hand – conquering that technical problem and getting that high associated with the metaphorical high of summiting a tough task.

Summits

My technical challenge is not so much of a SQL Server challenge, and is minutely related to a database issue. Let’s start with the broad brushstrokes.

My blog was being hosted on an aging platform. The platform was old enough that it was several versions behind on php. Certain plugins were at a point that I could no longer use the full functionality. In addition, I just needed to ensure that it was updated. Because of this, I was informed that I had to migrate to a different platform provided by the same hosting provider. This is where the fun began.

The migration to the new platform was a simple button click. Unfortunately, despite the promise of a complete site migration – it was not. 99% of everything migrated. Little things like security and my domain name did not migrate. Ok – easy enough, I can update the site to use the domain name for my blog but I had to release it from the old platform first. Upon releasing the domain name from the old platform the “pageok” page error showed for a while until the change was fully propagated. This was a bit of a nuisance and somewhat bothersome for visitors. Believe me – it was a nuisance for me too!

After getting the site to start rendering pages properly, I soon found that there was no longer the appropriate security in place for various things. As I started to go through and try to fix the security, I found I no longer had the ability to manage any of the permissions on my site. In addition, the hosting company could not make the appropriate permissions changes either. What was the recommendation at this point? Another migration to another platform. Commence steam shooting from ears at this point. As I saw it, I had two choices go back to the old dying platform or go to this third platform. I opted for the new trendy flashy shiny platform.

Ruh Roh

At this point, I think it is a good idea to mention that all of this happened just as the new year turned. In addition, I was trying to get last minute edits made for a blog series I had running. This was all on January 2-3, 2018. What a way to kick off the New Year from a blogging point of view. Yeehaw!

I was assured I would have greater control over the new platform. In addition, I was assured it would not take very long. The process was straightforward as long as I had my backups. Believe me, I had my backups. They were even on two sites at this point.

What I did not know was that the hosting company had decided to come in behind me on my original site and decided to make changes. These were changes that complicated the whole process substantially. I only discovered they had made changes after I tried to go back to the original site and access my backups. Guess what? I could no longer access it due to the changes the hosting company had made. Steam is getting hotter now.

In the meantime, I had already started the transition of my domain name to the new platform. Given the new circumstances, this was a mistake. I should have waited to do this until the very end to ensure the site was at least accessible in the meantime.

Once the domain migration finally completed and all of my site files were transferred, users were at least greeted with something new.

Ok, this is in part due to a missing database. That took a while to finally get access back to the original site so I could grab my current backup (which was taken right before the migration). Once finally restored, I started getting this next one.

Lucky for me, this only took a bunch of google-fu to find exactly what I could do to fix it. It seems there was an issue in a config file and I was able to correct the database connection string. Yay – small victory, right? Well, sort of. The blog was fine as long as no links were clicked. You see, there was another change made that caused all of my permalinks to update to one of my alternate domains (again done by the hosting company). Any time I clicked a link I was stumped by why the link was trying to forward to the alternate domain. So because of this link issue, I was back to getting the constant 404 error from a few paragraphs back. (Pretty much straight flames shooting from the ears now.)

Again, more google-fu and I was able to find another fix. This one was part database related and part admin console. Having made the updates in all the requisite places, I was able to now click on most links and the site was at 90% functionality.

This was a full day of working on trying to fix this problem. At this point with the site up, I was able to confirm that I could enact the security policies I wanted/needed. I was also able to confirm most links were working. I did not that some plugins were working intermittently. That was an issue to save for the next day.

On the following day, I went back to work trying to fix various plugin issues that I or visitors had reported. In the end, I had to make some changes to tools I was using because they would no longer work. In addition, there was one specific plugin that was many other plugins to fail (depending on page load order). Once I removed that plugin, it was safe to say that the site was back up and running as expected.

 

The Wrap

TSQL2sDay150x150I did not enjoy this journey much at all. Much of the experience was due to outside forces. I can’t do much to control them, but I can do something to fix the net effect of what they caused. While the journey was rather unpleasant, I did finally achieve that Nirvana moment that comes from having conquered the problem.

I didn’t go into extreme technical details because there were many fixes along the path and my focus was on getting it working though I should have been documenting it all along the way. Despite the heat, steam and fire of the experience, I did rather enjoy being able to use some new mysql skills to alter data and fix various problems in the site.

 

«page 2 of 9»

Calendar
February 2020
M T W T F S S
« Jan    
 12
3456789
10111213141516
17181920212223
242526272829  

Welcome , today is Saturday, February 22, 2020