Ever since Microsoft introduced Query Store I’ve been working with
it, back to the CTPs in 2016. I started presenting on it because it
benefited my current company at the time. I heard there are low
adoptions rates and from a couple people implementations problems or
just not having time to implement it. After 3 years of presenting on it
and writing a book about it I’m curious as to adoption rate of Query
Store, but we won’t be writing about that.
For this T-SQL Tuesday, write about your experience adopting Query
Store, maybe something unique you have seen, or a how your configure you
databases, or any customization you done around it, or a story about
how it saved the day. Alternately, if you have not implemented yet blog
about why if you are using 2016 and above, we know why if aren’t on
2016. If you are unfortunate to be on below 2016 write about what in
Query Store you are looking forward to the most once you are able to
implement it. Basically, anything related to Query Store is in for
T-SQL Tuesday, hopefully everyone has read up on it and knows what it
So here we are, the first Tuesday of February. I personally always
find February to be the month where my motivation is a little low. I
live in the northern hemisphere so it can be a pretty dreary winter
month where it still feels like there is a long way to spring (I will
say this January I moved from Ohio back to England and the distinct lack
of piles of snow is helping this cause somewhat). This makes my topic
even more relevant as we need a little extra help to be productive and
get through the month.
My topic is looking for your favourite ‘life hack’, something you use
to make your day easier. This could be anything from a keyboard
shortcut in SSMS that runs ‘sp_whoisactive’, to a technique you use to
get and stay organised. It doesn’t have to be directly related to a
technology, just whatever you use to make your life easier.
Now, I’m personally a huge proponent of using keyboard shortcuts to
get things done faster. In the last year or so I’ve started using Visual
Studio Code as my editor of choice and the number of little ‘life
hacks’ I’ve found has grown incredibly. I’m going to share a couple that
I use often to get your ideas flowing.
Multiline Select – Ctrl + Alt+ Direction Key
This is something I love for formatting queries, among other things. I
know you can use T-SQL to generate some queries from the metadata but
if you have a list of tables you want to truncate, for example, you can
easily accomplish this. Select the start of each line by using Ctrl +
Alt + down direction key, add the TRUNCATE TABLE text and then press end to get to the end of each line, no matter the length, to add the semicolon.
The other use I have for this hack is to generate names and
descriptions of Active Directory groups for tickets to have them
created. At my previous job we created read and admin groups for
databases that users could then request access to. Multiline select made
this really easy to generate the required information.
You can use multiline select at the beginning of the row. Start by
selecting the first word and copying it (Ctrl+C), then you can type to
format your group name. For example, I put SqlDb- before the database name and then -Read
afterwards. Pressing enter at the end of the group name will create a
second line for all three groups where you can add the description.
Notice I can now use paste (Ctrl+V) to add the database name that we
copied from each line.
This ability to change multiple lines at once is really powerful and
once you get the hang of what you can do with it you’ll find so many
Change all occurrences – Ctrl + F2
A similar hack to my first, VS Code also lets you change multiple
occurrences of characters. I say characters because you can select whole
words, parts of words, or even punctuation. This is really handy, for
example, for formatting a comma separated list on one row into a list
with each value on a separate row.
Carrying on from my previous example, now that we have formatted the
group names and description. I can select the word ‘Read’ and replace
all with ‘Admin’. Just like that I have all I need to get the group
request off to the help desk for creation.
Command Palette – F1 or Ctrl+Shift+P
VS Code also has a really great Command Palette that offers a lot more for you to explore. A few of my favourites are: – Sort Lines Ascending/Descending – Select some lines in VS Code and easily alphabetise them.
– Git: Undo Last Commit – Rescue that last commit back from your source
control. Useful if you realised a second too late you committed to the
wrong branch. – File: Compare Active File With – This clearly highlights differences between two files.
Over to you
I hope my VS Code life hacks have got your ideas flowing, so now it’s over to you.
As we enter the new year, I’m sure many of us are setting goals,
resolutions, or perhaps beginning new challenges. Change can often be
terrifying, but that’s how we grow. With this in mind, the topic I’d
like us to write about this month is “Imposter Syndrome”.
I can assure you that if you have felt this way before, you are not
alone. People in the community who I would consider experts have stated
they felt (and sometimes still feel) imposter syndrome. These are people
with more experience than years I’ve existed on this planet and they
still feel this way. Coincidentally, this triggers my own imposter
syndrome when I think about that.
T-SQL Tuesday Topic
I want to read your stories about when you’ve experienced, seen, or
overcome imposter syndrome! Was there a job that you felt you were
ill-prepared for? Did you make a mistake or did someone say something
that made you question if you were a true data professional? Maybe there
was a particular task you ran into that made you question your
experience? Did you resolve your tasks and succeed in your job? How did
you overcome that feeling of being an imposter and solve your
challenges? Maybe you haven’t experienced it yourself but you saw
someone who was feeling imposter syndrome, were you able to help them?
You can be technical or non-technical with this post, the goal is to
share experiences to help those also experiencing imposter syndrome.
Maybe you are still feeling it, sometimes walking through your
challenges can help you brainstorm solutions.
It is December again. 2019 has gone by in a flash. I have the honor
of hosting the last TSQL Tuesday blog party of the year. This monthly
blog party started by SQL Guru Adam Machanic since 2009 has completed
121 months this year. I am the lucky host of event #121. If you are
participating in this month’s party (kindly coordinated by my dear
friend Steve Jones (b|t) – please be sure to read the housekeeping rules all the way below that are necessary for participation.
This is a time for material gift giving, for many of us. It might
also be a time to consider the many gifts we have received through the
year, and perhaps use this opportunity to appreciate people or
situations that we were blessed with. So my question would be – what are
a few things would you consider as gifts, and why? Some examples as
Getting to know someone in the community better,
Getting to speak at an event you always wanted to,
Attending a conference or training that you always wanted to attend,
Landing a job you never thought you would,
Published a book that you wrote,
Wrote for sqlservercentral/simpletalk/any of those cool websites
Got to play with a cool new technology that has you excited,
feature of SQL Server that you always wanted and eventually showed up
in 2019-I love lightweight query profiling to track query progress, for
A new cool feature that you never even thought
possible is now there (I was just oooh-ing about how easy it is to
script objects in Azure Data Studio, and how nice it is to have it store
my query history for me).
Ahh, November. The PASS Summit is kicking off tonight (with several great precons going on yesterday and today). Thanksgiving is right around the corner (for everyone in the United States). Right after Thanksgiving are the Black Friday and Cyber Monday sales. And since this is the first Tuesday of the month, it’s time for another T-SQL Tuesday. The brainchild of Adam Machanic (b|l|t), and designed to strengthen the SQL Server blogging community, T-SQL Tuesday gets a lot of bloggers posting about a specific theme, chosen by the host blogger (today, that’s me). And something that is really neat is that this month wraps up the 10th year of these T-SQL Tuesday posts. Wow!
Not too long ago, I ran across a situation where I was scratching my head, wondering why something had been implemented the way it had been (you can read about it here). And that gave me the idea for this T-SQL Tuesday topic.
In this month’s T-SQL Tuesday, I want to know about things that you’ve seen others do in SQL Server that have left you wondering “What were you thinking” (maybe even with a few #$%^& thrown in)? Tell us what you saw, why you thought it was so crazy, and what you did about it (if anything). And please… just tell us what you saw, not who you saw doing it.
I’m excited about DevOps. I first heard the term as a sales person at
an IT company. I recognised the gulf between the sales and tech silos
at my company and I could observe conflicts with many of my customers
between developers and DBAs. I had a lightbulb moment when I realised
the potential – if you could just get all these different people and
teams to work together effectively with a shared vision.
I’m also increasingly aware that we aren’t just conflicted in our
work lives. I live in the UK and my society is increasingly polarised. I
know the same is true in lots of other places. Our community tends to
communicate through social media, most commonly on Twitter, where we
create echo chambres for ourselves as we follow people who share our
views and we consciously or unconsciously unfollow or block anyone who
disagrees with us. Even if we try to avoid it, the algorithms tend to
show us the content we like to read anyway.
It seems to me that at work, online, and in society at large we are
becoming more stubborn and less open to exploring ideas that challenge
us. It’s my belief that if we were all (myself included) more open, not
just to talking, but to genuinely challenging our existing ideas, we
would all benefit. I believe that’s true both in our professional and
our personal lives.
I would like you to write about something in your IT career that you
have changed your mind about. What was your original opinion? Why did
you believe that? What do you believe now? Why did you change your mind?
You are welcome to discuss technical or non-technical topics. Feel
free to go as deeply technical or as personal and human as you like.
Brain-melting technical posts about the inner workings of the SQL engine
or effective machine learning architectures in Azure are great. SQL 101
posts or perspectives on age old debates such as tabs and spaces or
where to put your commas are great too. Human posts about effective
teamwork or diversity or wellbeing in tech are also great.
I hope that if we think hard about the ways we have changed our minds
in the past, and if we read about how and why other people have changed
their mands, it will help us to have better conversations in the
future. I hope this will help us to work together more effectively at
work – and maybe in other parts of our lives as well.
When Memory-Optimized Tables (MOT) were announced for SQL Server, there was a lot of excitement about the technology. After this was released on SQL Server 2014, feelings waned with a lot of restrictions and limitations for using the technology. I remember a panel at a conference years ago where most of the MVPs and experts recommended against using the technology for most users.
Today there have been improvements (2017, 2016) in the MOT features, restrictions have been removed, and all editions can use MOT tables. That’s not to say that this is suitable for every table or situation where a DBA or developer suspects performance issues.
This month I want to ask you about when you’ve made that decision. This can be to use MOT tables or NOT to use MOT tables. This could be a simple thought, a POC, or actual testing of the feature.
Some ideas for you to write about:
Performance analysis of MOT tables that affected a decision
Reading the limitations and knowing this would prevent their use
A scenario where MOT tables improved performance
A successful implementation of MOT tables and what needed to change in your app
A failed attempt at trying MOT tables
There might be other things that are related to MOT technology, but let us know this month what you think of the technology and how it has (or has not) impacted your application.
Ever since Microsoft said SQL would run on Linux, I was excited. Finally, all the Linux administrators I had worked with could be quiet and the Oracle DBAs that said they were multi-platform. I organized the PASS Linux Marathon back in December 2017 and started the website, WeSpeakLinux, in efforts to help people learn more Linux skills (including myself) as Linux is different than running Windows. While I know it takes a while to adopt new technologies; I was wondering what it would take for people to adopt SQL on Linux. Alternating I’m offering up for you to blog about what everyone should know when working with SQL on Linux or anything else related to SQL running on Linux.
Yesterday was my 41st birthday. Twenty years ago, I remember my best friend asking me, “Where do you see yourself when you’re 40?” My reply was something like, “I can’t see myself as a 40 year old.” For some weird reason my mind went blank at 40. It wasn’t like I thought I’d be dead by 40, but I remember thinking of 30 or 35, but not 40. Maybe because 40 was twice my age and just too “far into the future” to think about?! But in a “blink of an eye” here I am twenty-one years later. Funny enough, now I can see myself as an 80 year old. Weird.
Time sure does fly by.
This past weekend I presented at SQL Saturday Dallas. Unfortunately, I had lost my voice when I landed Thursday afternoon. I did all I could to get it back by Saturday morning by drinking lots of liquid and getting rest. I got enough of my voice back to do my session (which was first thing in the morning) but had to leave shortly after for some much needed rest. I spent the rest of Saturday in bed and some of Sunday before I had to head to the airport. To top it off, I had 5 flight delays and ended up spending 7 hours at Dallas airport.
During those long hours at the airport, I had some time to introspect. I went over my session. I noticed how over the past couple SQL Saturdays I’ve spoken at, the younger attendees approach me asking questions at the end. The elder attendees mainly say, “thanks!” and the young attendees stick around and ask questions. I absolutely admire and respect that. A lot their questions are very easy to answer. But it’s easy *now* since I have more years of experience.
That brings me to this month’s T-SQL Tuesday idea…
This is my invitation to you this T-SQL Tuesday: Write your 20 year old self a letter. If you could go back in time and give yourself advice, what would it be?
Here are a few potential ideas:
Things you would have done differently
Any words of encouragement
A “Do” and “Don’t Do” list
Obviously we cannot go back in time and live all over again. However, we can write down our advice so that way we have it ready for the next young aspiring technical professional (or any profession for that matter) who comes seeking advice.
As the saying goes, “learn from your mistakes.” I say, it would be even better to “learn from the mistakes of others so you don’t even have to make them.”
Remember to have fun during this process. I can’t wait to share my letter next week!