On a new installation of a SQL Server instance, by default, SQL Agent will automatically manage the job history retention, however this may not work the way you expect it to. This post explains why, and how you should set this up for best results.
First Fix and Second Fix
When DBAs are troubleshooting issues, solutions are sometimes applied in the heat of a critical incident which solve the problem, which are then walked away from because the issue has been “fixed”. With experience and a better understanding of the broader issue of long-term solutions, you realise..
The (real) difference between the 'SELECT ... INTO' and 'INSERT ... SELECT' statements
In this blog post I will explore the difference between the ‘SELECT … INTO’ and ‘INSERT … SELECT’ statements. I recently moved some data for a customer to a brand-new table due to the bad design of the source table. First, I created the destination table and then I ran the ‘INSERT … SELECT’..
Understanding COPY_ONLY backups
When you have a database which has just been created and is in the FULL recovery model, or you have an existing database you are changing from SIMPLE to FULL, you need to take a full backup before you are able to take log backups, as there needs to be a starting point for the log chain. There is a..
What happens when TempDB grows?
The TempDB database is special in many ways, but an interesting aspect is that when its files automatically grow when they become full, this growth is not persisted and will be undone on the next restart of the SQL Server service. We can see how this works by looking at two system tables:..
You Must Upgrade SQL Server to Stay Secure
A whole series of “speculative execution side-channel attacks” were disclosed in the first week of 2018, as detailed in this Microsoft article: https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/ADV180002
Major security events like this highlight the severe risk companies are taking..
PowerShell (PoSH) and SQL Server automation
Automating SQL Server with PowerShell
If you perform the same task more than once, you're probably asking yourself "how can I automate this?" PowerShell provides the tooling to automate monotonous tasks that require manual effort.
Securing connections to SQL Server with TLS
Following one of my earlier blog posts about Always Encrypted, I thought I'd stick with the security theme for my latest one. With the General Data Protection Regulation (GDPR) on the horizon, encrypting connections is one of the most common discussion points that comes up during customer..
How to prevent Robocopy from hiding your files and how to fix it when it does
I recently had a scary moment at a customer when I was testing to see how long it would take to copy a data file between two of their disks using Robocopy and an old and relatively small backup file. If you haven't heard of Robocopy, then you should look into it as a command line (cmd) tool for..
Corruption detected when attaching/restoring master database
Recently, while working with a customer to help restore their SQL services, I came across an issue I hadn’t seen before and more interestingly, one where little information can be found within the community.