Skip to content
Home » Performance


Could SQL Injection be dangerous even when perfectly safe?

SQL Injection is something I would expect any reader of my blog to be familiar with. Despite being one of the oldest database attack methods, it still persists for decades on the OWASP Top Ten list of critical security risks to web applications.

In fact, instead of dying out, it only seems to be getting more clever and even automated. With “hacker bots” scouring the web and automatically probing for injection vulnerabilities to exploit. I know, as I’ve once been a victim of such attacks in the past.

But today I’m not actually going to talk about that. Today, I’m going to ask the question: When is SQL Injection dangerous, even if it’s perfectly safe?

Read More »Could SQL Injection be dangerous even when perfectly safe?

Performance Tuning Like a Pro – with Hypothetical Indexes

Every once in a while there comes an opportunity to “upgrade” your abilities with newly acquired knowledge that lets you “step up your game” and possibly add some “wow factor” to your work, leaving your peers awe-struck by your amazing new “magic trick”.

As a SQL Server consultant, one such opportunity that I had in my line of work, is when I learned about “Hypothetical Indexes” and how to use them.

Read More »Performance Tuning Like a Pro – with Hypothetical Indexes

Webinar: Performance Monitoring with Azure SQL Analytics

On November 19th, 2020, I delivered a short session about Azure SQL Analytics, as part of the MVP Days Israel 2020 event.

MVP Days Israel 2020 was a full-day event driven by the local (Israeli) MVP community to share knowledge on various Microsoft products across the board – Azure, GitHub, DevOps, Power Apps, AI, Data Platform and more.

We had a bunch of impressive talks given by very talented people. My session was delivered in Hebrew, and it was mostly based on what I wrote in one of my previous blog posts: Is Azure SQL Analytics all you need for SQL Server Monitoring?.

Read More »Webinar: Performance Monitoring with Azure SQL Analytics

T-SQL Tuesday #128 – Learn from Others

This month’s #tsql2sday is hosted by the @AirborneGeek (t|b), who asks us to take a lesson from something frequently done by pilots – learning from accidents and mistakes done by others. As a long-time SQL Server Consultant DBA, I have learned from quite a lot of mistakes done (mostly) by others, seeing as a significant part of my job description is to come over and fix such mistakes. So, today I’ll use this opportunity to talk about one such interesting incident.

Read More »T-SQL Tuesday #128 – Learn from Others
Science FTW!

Planning to Increase Cost Threshold for Parallelism – Like a Smart Person!

When administrating a SQL Server instance with multiple CPU cores and heavy workload, it’s common to see SQL Server creating and using execution plans with parallelism. The instance configuration “cost threshold for parallelism” is what determines for SQL Server the minimum sub-tree cost before it starts considering to create a parallelism plan. The default “out-of-the-box” value of this configuration is 5.

However, in some cases, we would want to increase the default configuration of “cost threshold for parallelism” to something higher than the Microsoft default of 5, thus decreasing the frequency in which SQL Server creates parallelism plans.

Read More »Planning to Increase Cost Threshold for Parallelism – Like a Smart Person!

Efficiently UPDATE and DELETE using TOP and ORDER BY

Since SQL Server 2005, Microsoft had a nice addition to the common DML statements, UPDATE and DELETE, by allowing the use of the TOP keyword. Well, SQL Server 2019 has just been released, and yet unfortunately for many of us, SQL Server still doesn’t support the use of the TOP keyword in direct combination with the ORDER BY clause. So when we do need to update or delete the top x rows in a table based on a specific order, we’re bound to use all kinds of workarounds.

However, many of the commonly used workarounds are not as efficient as they can be.

Read More »Efficiently UPDATE and DELETE using TOP and ORDER BY