Non Fools Disclaimer

I will preface this post with the following: despite the fact that this is a post on April Fools, and that the name of the post does say April Fools, there is no fooling in this post. There’s enough ways to waste time on the internet without reading made up stuff on my patch of it.

My Number One SQL Server Feature Request

If you were to ask me what new feature I would like to see most in SQL Server, I would immediately say “logless tables”, and maybe after a slight hesitation I’d say “logless databases”. By “logless” I mean that data written to the tables is not logged. I’ve worked with data warehouses for a number of years, and there are legitimate scenarios where logless tables would make sense. For example when using staging tables for partition switching, if the loading of the staging tables fails chances are they’d be dropped and recreated, so there’s no point in logging something that is essentially a oneshot data load. Sure, bulk logged will help you in minimally logging to the log file, but it still doesn’t make log backups any smaller as the pages affected will be included in the backup file. And you’d be surprised how many people think that the simple recovery model means that no logging takes place at all, when the reality is that the simple mode still logs, it just flushes the log file upon the transaction being committed. Marking tables for logless activity would mean faster performance. Logless databases…..well, I can see a use for them, but the idea is far riskier than logless tables.

At any rate, if the feature was enabled, I’d want the keyword not to be LOGLESS, or UNLOGGED, I’d want the keyword to be a keyword already used in isolation levels in SSIS: CHAOS. I think this use of keyword would actually really explicitly state just how risky it is to implement logless activity (as an aside the worst keyword in the whole SQL Server engine is NOLOCK; it’s such a misnomer and the cause of many an argument.) Using the CHAOS keyword would also be great for interviews: when interviewing for a role you can ask if they use the CHAOS keyword anywhere, and why. This would really help out in determining whether it’s the kind of place you’d want to work at or not!

Old Man Rants At Cloud

I love a good whinge, and I’m nothing if not opinionated. Which means sometimes I can come across as negative, or over-critical of something. A case in point: the other day I presented at a SQL User Group about SSDT, and one of the attendees came up to me afterwards and said “you seem to be really down on SSDT, like you think it’s rubbish.” I met the guys who work on SSDT last year at SQLBits, and I’d hate for them to think that I was a critic, or that I thought it was no good. I’m a fan of their work. I think SSDT is great, but it’s not perfect. And it would be remiss if I stood in front of a group of people wanting to know about SSDT if I didn’t point out it’s problems.

But as one of my friends once said, “there’s nothing negative about pointing out a problem, it’s only negative if you point out a problem and do nothing about it.” To that end, I like to raise Connect issues about things wrong with SQL. Server. And boy are there things wrong with SQL Server. Here’s one I raised the other day. A little esoteric: someone said to me the other day “you’ll never get famous for writing about niche SQL Server stuff like SSDT”. Maybe true, but it’s important to me. And some of them are important to everyone. For those of you too lazy to read that last link; the upshot of the issue is that terminating Sqlcmd errors do not always return as errors in PowerShell. Which is a problem. A big one. A huge one. A cataclysmic problem. I shudder to think of all those scripts across the world failing because of that one. But still a low-priority issue for Microsoft unfortunately.

I’m Going to SQLBits

This will be the 6th year in a row I’ve been to SQLBits (or “Bits” as those ITK like to call it.) I’m looking forward to it, and though it’s far from a “jolly-up” for me, I do like to take the opportunity to visit different parts of the country. Last year it was held in Liverpool in early May. The weather was brilliant, so one evening I ran to Penny Lane and Strawberry Fields. So I’d done the double A-Side. I also visited Eric’s, which was where the Bunnymen first performed: I’m a huge Bunnymen fan.

This year SQLBits is based in Telford. Telford is a new town not far from the Welsh border, north of Birmingham. It’s a pretty low key location, but I understand that the venue, which was used only back in 2014, has been one of the easiest venues to work with for the organisers. And bearing in mind that those organisers are volunteers, you can pretty much see why it was chosen again. As for sightseeing, it’s not going to be outstanding, but there is Ironbridge some 4 miles south, so another run is certainly on the cards.

I’ll be attending the precons on migrating workloads from on-prem to SQL Azure, and also the application of Clustered Columnstore Indexes (CCI). I’m big on CCI, as all these posts will prove, but am a little out of the loop on it since the 2016 update, so I hope this will be a refresher.

if you’re going I hope to see you there!

The Ability Archeops Really Needs

One of the things that frustrates me about Pokémon is the lousy ability Archeops has: Defeatist. The affect of Defeatist is that Archeops loses half it’s Attack/Special Attack when HP is 50% or lower. This makes Archeops beyond-high maintenance, and pretty much in the useless category.

However, if I had my way I would give Archeops the Technician Ability. Look at Archeops stats and moves and tell me that it wouldn’t be the perfect ability. Go on, try me. I’ll prove you wrong. This is in fact part of a longer post that will appear soon, I just want to research a bit more. But suffice to say, this is a few calcs I’ve run:

252 SpA Life Orb Technician Archeops Ancient Power vs. 0 HP / 4 SpD Salamence-Mega: 374-445 (112.9 - 134.4%) – guaranteed OHKO

252 SpA Life Orb Technician Archeops Ancient Power vs. 0 HP / 252 SpD Salamence-Mega: 291-346 (87.9 - 104.5%) – 25% chance to OHKO

252 SpA Life Orb Archeops Focus Blast vs. 252 HP / 168+ SpD Probopass: 354-416 (109.2 - 128.3%) – guaranteed OHKO

252 SpA Life Orb Archeops Focus Blast vs. 252 HP / 252+ SpD Umbreon: 185-218 (46.9 - 55.3%) – 15.6% chance to 2HKO after Leftovers recovery

252 SpA Life Orb Archeops Earth Power vs. 252 HP / 0 SpD Metagross-Mega: 416-491 (222.4 - 262.5%) – guaranteed OHKO

252 SpA Life Orb Archeops Earth Power vs. 252 HP / 252 SpD Metagross-Mega: 335-395 (179.1 - 211.2%) – guaranteed OHKO

These two calcs aren’t Life orb boosted, as Archeops can be OHKO’d by Ferrothorn. So it would have to hold Focus Sash:

252 SpA Life Orb Archeops Focus Blast vs. 252 HP / 252+ SpD Ferrothorn: 200-237 (56.8 - 67.3%) – guaranteed 2HKO after Leftovers recovery

252+ SpA Archeops Focus Blast vs. 252 HP / 252+ SpD Ferrothorn: 170-200 (48.2 - 56.8%) – 41% chance to 2HKO after Leftovers recovery

Frightening stuff. Of course it still has it’s weaknesses like any Pokémon, and you probably wouldn;t use it against Ferrothorn. But in all seriousness the sooner they give Archeops the Technician ability the better.