For this week’s What If series, we’re exploring what would happen if you had access to SQL Server’s source code – like if you got a job at Microsoft, signed a partner NDA, if the code leaked, or if it went open source.
Today’s question is, “What would you fix or add?”
Erik says: Skipping Logging
And it’s only for inserts.
Not everyone can be in Simple or Bulk Logged. I mean, really. Mirroring? AGs? Nope! Log Shipping? At least Bulk Logged!
Plus, the list of things that can be Bulk Logged is depressingly limited.
But that doesn’t mean you care equally about every table or process.
- Do you really want to fully log every change to an ETL table?
- Does that index rebuild to align to a partition need to take up 500 GB of log space?
- Does changing a column data type really need to be fully logged? (Before and after seems reasonable)
This isn’t crazy talk either, other database platforms have it implemented. Brent has a Connect Item about it, if you feel like voting.
Plus, the way I see you folks taking backups, you might as well not be logging anything anyway.
Brent says: Unsupported Trace Flag for Unlimited Memory in Standard Edition
Look, I know everybody needs to pay their bills and put food on the table. I understand Microsoft would certainly go broke if they let Standard Edition users leverage all the memory you can cram in a 2U pizza box these days. I totally understand Nadella needs his Nutella.
So here’s a compromise: let’s sneak in an unsupported trace flag that lets gambling users run unlimited memory in Standard Edition.
It’ll leak out on the Internet, and we’ll start using it, and get addicted to In-Memory OLTP and building big ginormous columnstore indexes. Eventually, we’ll need to make a support call, and we’ll drop back down into limp-home mode, at which point our bosses will realize how awesomely fast memory is these days.
What about you? What would you want to sneak in?