Increasing ColumnStore compression ratio for archival and “Cold storage”

At my present client, part of the task I have to under take is to re-engineer the “Cold Storage”. This is ~20Terabytes of compressed CSVs going back over 15 years or so. Presently these are held on aging and creaking centera servers that are way past end of life. The solution probably made sense 10 […]

My spaced used scripts

I suppose everyone has a set of scripts they lean on to help make sense of it all. These scripts are my version of sp_spaceused, one to query a specific table and the other at db level. Admittedly these are rough around the edges, that said they quickly allow me to break down a table […]

Please use my filtered index

Not long ago we had a requirement to timeout asynchronous application tasks not completing within an expected period (defined per task type). There is a high hit rate on the table with the number of pending modules at any one time in the 100s, and for this reason timeout processing needed to cause minimal blocking […]

SQLBits, Incremental Statistics and Demo Fail

So another great SQLBits is done and dusted, many thanks to the team, helpers and sponsors for putting on such a great event. It’s always a pleasure and honour to be able to present here and to get to spend time with a great crowd of intelligent SQL Geeks. I have uploaded the slides and […]

An application generated sequential GUID

Recently one of our development teams implemented a GUID based on this SqlGuid Structure. Initially I did not give much thought to the implementation, however later during a code review, noting the choice of uniqueidentifier as the primary key, I began to join the dots. Clearly this is meant to be sequentially generated, and leaving […]

CISCO VPN Client dropping with “Reason 422: Lost contact with the security gateway”

Writing this out of embarrassment but hopefully it will help somebody else if they have the same issue with the CISCO VPN Client or similar. When at my girlfriends I VPN over her WiFi into my client, that’s always worked, but, last Thurs/Friday I started getting issues with the VPN dropping out after just a […]

Entity Attribute Value (EAV) data model meets SQL Server Clustered Columnstore for dramatic performance improvement (Part #1)

<sarcasm>Want to have complete flexibility adding/removing attributes without DDL, store all your data in a single database table and still have performance then read on….</> It’s often the complaint of developers they can’t easily adjust the data model and add more attributes to it (columns), rightly or wrongly it happens and it’s a legitimate requirement. Ordinarily data […]

SQL Server Version Upgrade – Don’t follow the myth of migrating to the previous version!

I thought I’d put out some thoughts around why I think people who’d rather migrate to or start a project afresh with SQL Server [Previous] are potentially costing themselves a lot of pain, resource and thus cash in the longer term. I’ve been working with SQL Server and Windows since the very early days – […]

NUMA remote (foreign) memory access overhead on Windows, SQL Server and In-Memory OLTP

In NUMA (Non-Uniform Memory Access), processors in the same physical location are grouped in a node which has its own local node memory. In a NUMA based system, there will be more than one such node and these nodes will use a shared interconnect mechanism to transfer data between them. In such a case, a […]

Non use of persisted data – Part Three

A long time ago I looked at some reasons as to why persisted computed columns ( and therefore indexes on those columns) are not used (Part1, Part2). Recently I was drawn into an issue where the same thing was happening, a persisted computed column had been created with an index, but neither were being used when […]