I discuss an organization’s responsibility for protecting personal information.
For T-SQL Tuesday #158, I talk about a couple of justifiable worst practices.
The story behind new SQLBlog-branded clothing (with proceeds going to The Trevor Project and Black Lives Matter).
I talk about some of the pivotal criteria guiding how Stack Overflow will migrate to Azure.
I recognize this year's recipient of my Community Influence of the Year award.
I talk about my foray into mentoring, and how you should mentor for a career, not just for a role.
In part 3, I show how to automate creating new tables, dropping old tables, and adjusting the view.
In part 2, I look at general strategies for partitioning an archive table (even without Enterprise!) to reduce long-term data movement.
For T-SQL Tuesday #156, I talk about the qualities I expect in T-SQL code before I consider it "production quality."
In this series, I look at strategies for archiving data and how it can impact your entire infrastructure.
For October's T-SQL Tuesday, Steve Jones asks us to talk about ways we've used dynamic SQL to solve problems.
In this tip, I show how to simplify calculations involving nth weekday or non-weekday, with and without a calendar table.
For this month's T-SQL Tuesday, I talk about a not-quite-yet-announced feature in SQL Server 2022 that has the potential to function as a low-effort bad habit logger.
I look at DBA, DBRE, and SRE roles and share how they have differed in my experience.
I talk about ways to use wrapper functions to work around tedious syntax required by the new function, GENERATE_SERIES.
For this month's T-SQL Tuesday, I talk about the community event that had the most profound impact on my career and, more importantly, my life.
On the 10th anniversary of SQLPerformance.com, I look back on my favorite posts – one from each year.
For this month's T-SQL Tuesday, Deb Melkin asks us get up on our favorite soapbox. I have so many, but this time I picked a new one…
Logging tables get huge, and date range queries get more if they don't use the clustered index. Here's one way I've addressed the issue.
Using a fictitious future timeline, I explain how CUs and GDRs differ and why build number alone might not tell the whole story.
In this article, I discuss several advantages to maintaining a technical blog.
I talk about a few of the things I worked on in my first month as a DBRE at Stack Overflow.
In this tip, I show some real-life reasons why you may not want to create all the partitions you'll ever need up front.
I talk about why I prefer CONVERT over CAST to be consistent. Basically, if you sometimes HAVE to use only one, why not just ALWAYS use that one?
There are often multiple ways to express a query and get the same results, often without any change in performance. Learn about one example.
In this tip, I talk about the compatibility between major versions and SQL Server's internal database version.
I continue looking at some of the changes in SQL Server 2022 that aren't on the marketing slides.
I talk about some of the things I do to be more productive, and hopefully some of these can help you in your role, too.
I warn about a cumbersome change to setup, where something is checked by default when it shouldn't be.
The first public preview of SQL Server 2022 is here! Read about my favorite T-SQL enhancements.
I take a look at some of the underlying changes in SQL Server 2022, as reflected in system metadata.
Today I received a mind-blowing award for my 200th tip at MSSQLTips.com.
My first technical job was taking horse bets at an off-track bar when I was 17.
In 2015, I wrote about a stored procedure to find strings within all tables across all user databases. In this follow-up tip, I enhance the procedure to optionally include views and search within specific databases.
Some quick notes on how easy it was to take advantage of falling Ryzen prices and give my Windows PC a little boost.
I show how to piece together portions of SQL Server metadata to generate DBML (which is more useful than it sounds).
I wrote two tips around what you can do when a table that stores the same strings over and over again has grown to an unmanageable size: create a dimension table!
I talk about why every CTE I write starts with a semi-colon, and why you won't change my mind about it.
A recent documentation update raises questions about the love-it-or-hate-it READ UNCOMMITTED isolation level.
I recently sat down with long-time friend Kevin Kline, who grilled me a little about my new role at Stack Overflow, our industry in general, and why we sometimes stay in jobs we don't enjoy.
In this tip, I show how I combine GROUPING SETS and PIVOT to get crosstab-style reports without Excel.
In the second part of this series, I show two ways to shift expensive computations to write time.
I talk about progress in aggregating strings – both in the functionality offered by SQL Server and the quality of my own code samples.
In this tip I confirm that FORMAT is still a dog compared to even very complex expressions using CONCAT_WS, DATENAME, DATEPART, and CONVERT.
I was honored to be a guest on the most recent Mixed Extents podcast, along with my friend and colleague Andy Mallon, where we talked about patching SQL Server.
I harassed Erik Ejlskov Jensen enough to make a universal command-line version of SqlQueryStress. See how I set up a performance test between Intel and M1 MacBooks.
In this tip, I show how indirect checkpoints can help improve performance and stability, and conclude that you should proactively change this setting everywhere.
For T-SQL Tuesday #146, I talk about a couple of crazy ideas I had in my head about filtered indexes.