In one of my previous posts I went over a scenario where an Auto restore job was logging Restore errors to a table and the error that was being inserted was '3013 - RESTORE LOG is terminating abnormally' and this was due to SQL Server only providing the Last most error produced which is stored... Continue Reading →
Secret Codes And SQL Server, Part 1: Writing Our Own Encryption Algorithm and Cracking it.
After my last post on The Arcane Science of Bitwise Logic and SQL Server I was asked a couple of questions on where it's used so I thought I'd write a follow up post. At first I was going to write something on bitmaps but then a thought of another area where bitwise logic is... Continue Reading →
The Arcane Science of Bitwise Logic and SQL Server
Bitwise logic, it seems is one of those ancient areas of computing that's only remembered by those old guys that have been kicking around for years. But what is it and how can we use it in SQL? Before we start looking at bitwise logic and the bitwise operators, we need to have a quick... Continue Reading →
Upgrading our Test lab from SQL 2016 to 2017 CTP with Always On Availability Groups
At SQLUndercover we decided it would be a good idea to not only upgrade our test lab but to treat it as if it were a live system carrying out an in place upgrade with minimal downtime, here's how we did it: Here is our very basic setup for this scenario, we have two availability... Continue Reading →
UNDERCOVER TOOLBOX: sp_RestoreScript – A Painless way to generate SQL Server database restore scripts.
(Latest Version 1.8 - 23 November 2020) I'm sure we've all been there, we need to restore a database to 11:34am, four days ago. What's the first step? To go off hunting down the relevant full and differential backups and then figure out what transaction logs we need to play in and in what order.... Continue Reading →
Joining Datasets Side by Side, in Their Natural Order When There’s No Common Key
Here's a little something that came up the other day, we've got a couple of tables which we need to join together but there's no common key to join on. How do we go about attacking this? As an example consider the following, we've got two comma delimited strings that we need to join together.... Continue Reading →
Generating Random Numbers For All Rows in a Query and Other Funky Stuff You Can Do With Them
UPDATE: Check out Generate a Random Number for Each Row in a Query {a better way} for an alternative method that I now use for generating random numbers using CRYPT_GEN_RANDOM Here's a lunchtime quickie for you all, this is something that I've seen asked on the forums plenty of times and always gets some quite... Continue Reading →
Using SQLCMD Mode for Always On Availability housekeeping.
One way i tend to query multiple servers in one go is to use Registered servers, but there are times when I might need to run something against a specific set of servers which i do not have a Registered servers group for, or maybe i need to select these servers dynamically. Maybe i do... Continue Reading →
UNDERCOVER TOOLBOX: Sp_FailedJobs the quick way to check for Failed Agent Jobs.
I know I know, Why not just use the GUI right? well that's ok but sometimes the GUI just takes too long for me...maybe I am a little impatient but sometimes I just need something to run that will give me the answers in just a couple of seconds with the touch of a button.... Continue Reading →
Database in ‘Recovery Pending’ After Transaction Log Backup
Here's a little issue that I came across last week and I thought I'd share my investigations with you. Users started to report that a database was inaccessible and when I had a look, sure enough the database was in 'recovery pending' state. That's odd, a database usually only goes into 'recovery pending' state at... Continue Reading →
