Intent locks, one of those things in SQL Server that seem to be very often misunderstood. They're something that I've found myself explaining time and time again, I've even been on calls with customer DBAs who don't fully understand why they're there and what they're doing. So what exactly is an intent lock and why... Continue Reading →
sp_RestoreScript v1.4 – It’s Now Compatible with Case Sensitive Collations, Accepts Wild Cards in DB Names and Fixes A bug
sp_RestoreScript 1.4 is now out and ready for download from our GitHub, https://github.com/SQLUndercover/UndercoverToolbox/blob/master/sp_restorescript.sql Full documentation on sp_RestoreScript can be found at https://sqlundercover.com/2017/06/29/undercover-toolbox-sp_restorescript-a-painless-way-to-generate-sql-server-database-restore-scripts/ New Features Compatible with case sensitive collations Now accepts wild cards in the @DatabaseName string, ('Database1,Database2,SQL%') would now be a valid option with % treated as a wildcard. Bug Fixes An issue when... Continue Reading →
Error: ‘misaligned log IOs which required falling back to synchronous IO’ And Slow AG Synchronisation
I recently hit this rather interesting issue when migrating a bunch of SQL Servers onto a nice, shiny new SAN. The plan was simple enough, take the secondary servers in the four node cluster, migrate those over to the new SAN provided to me by the lovely storage guys. Once they were done, fail the... Continue Reading →
sp_drivespace – See How Much Space You Have On Your Disks, Including Mount Points
We love xp_fixeddrives here, it's a quick and simple way to see how much space you've got available on your drives. But there are just a couple of things that I really wish it would do better. Firstly, I'd love to see the total size of the drive and possibly even a percentage of free... Continue Reading →
Undercover Catalogue 0.2 Hox Fix 2 to Fix Breaking Changes with dbatools 1.0.0 & SQL2008r2/2008 Compatibility Patch RELEASED
Some breaking changes were introduced with dbatools 1.0.0, please make sure that you've got the latest version of hotfix 2 installed as well as the lastest Interrogation script runningThe minimum version of dbatools that we now support is 1.0.0 Undercover Catalogue 0.2.2 It looks like a bug has crept it's way into the Undercover Catalogue.... Continue Reading →
sp_restorescript 1.3 Released
sp_restorescript v1.3 is now available. We had found instances where backups consisting of multiple backup files were causing the length of the restore command to exceed the maximum character limit. 1.3 deals with this problems. Please visit https://sqlundercover.com/2017/06/29/undercover-toolbox-sp_restorescript-a-painless-way-to-generate-sql-server-database-restore-scripts/ for full documentation on sp_restorescript The procedure can also be downloaded from out GitHub site https://github.com/SQLUndercover/UndercoverToolbox/blob/master/sp_restorescript.sql
To use ALTER DATABASE, the database must be in a writable state in which a checkpoint can be executed. – when moving files on an Availability Group secondary.
Here's a little error that I stumbled across the other day when trying to migrate the data files of an Availability Group secondary node onto a nice new SAN. I started off by running the following command against the secondary server. ALTER DATABASE SQLUndercover MODIFY FILE (NAME = 'AG01', FILENAME = 'E:\DATA\AG01.mdf') There's nothing wrong... Continue Reading →
Is Your Availability Group ‘REALLY’ Ready To Failover?
You know what it's like, you need to fail your AG over but is it safe to fail over? Perhaps you've clicked on 'failover' for the AG and there's a little green tick and no data loss reported... Or maybe you've checked out sys.dm_hadr_database_replica_cluster_states and 'is_failover_ready' is reporting a 1. So, you're cool to failover,... Continue Reading →
Why Rolling back inserts with Identity columns is a bad idea.
It wasn't until the other day that I realised what the behaviour was when rolling back a transaction with an insert on a table with an identity column, to be fair I have never had a need to do so but I know that there are people who like to run code like below to... Continue Reading →
Filling Missing ID Codes In SQL
This is going to be a bit of a brain storming post that comes from an interesting question that I was asked today... "I've got a table with a ID code field, now some of the rows have a value in that field and some are NULL. How can I go about filling in those... Continue Reading →
