SQL Server

SQL Server

A first look at SQL Server 2016–String_split

I’ve been developing T-SQL for about 20 years now and almost since day one there has been functionality that , IMO, has been missing.  That is grouped string concatenation (ie forming a delimited string ) and string split ( breaking up a delimited string).  When I say missing, I really mean some form of succinct […]

My favourite wait state– ASYNC_NETWORK_IO

Sometimes it does feel that a problem is a database problem until proven otherwise.  When this does occur I have had to put a lot of time and effort into demonstrating the hows and whys.  One of the easiest ( and most common ) scenarios of this is related to ASYNC_NETWORK_IO waits. Simply put ASYNC_NETWORK_IO […]

SQL Saturday 496 Exeter – PreCon Agenda

Hi Unfortunately due to matters outside of my control, SQL Saturday 502 in Edinburgh has been cancelled, I would like to thank the team though for selecting my pre-con.  Let me know if you would have liked to attend and if a viable option, I would be more than happy to still give the session […]

SQL From South West to Scotland : SQLSaturdays #496 & #502

I’m happy, honoured and humbled to be able to say that I will be presenting pre-cons and both SQL Saturday 496 in Exeter and SQL Saturday 502 in Edinburgh. SQL Saturday 496 Exeter is on Friday 11th March and Saturday 12th March The event home page is here and signup to my class is : http://sqlsatexeter.azurewebsites.net/?page_id=5561 […]

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 – […]

How Hekaton (XTP) achieves Durability for “Memory Optimised” Tables

“Memory Optimised” tables reside entirely in memory, the operations INSERT, UPDATE and DELETE as well as SELECT are all significantly quicker, but just how is it possible to achieve durability with memory optimised tables while still achieving the significantly higher throughput? Like traditional on-storage tables durability is achieved once the data has been written and hardened off […]

Changing In-Memory Table definition without down time

One of the restrictions of a “memory optimised” table is that you cannot modify its definition once created. You may find that once your table has been in use for a period of time it may be apparent you don’t need one of the Hash indexes for example, or perhaps you made a hash (pardon the […]

SQL Server bitmap operators, bitmasks and bit arrays

In this post I cover what bitmap and bitmasks are, before I can do that I need to make sure you are up-to speed on binary, base 2 and how the bits are layed out in data. Binary Binary (Base 2) is used throughout computer systems, the Windows platform amongst others relies on it. Base […]

Throughput improvement through Delayed Durability on COMMIT TRAN from SQL Server 2014

Durability is not a requirement of a relational database, you would term a database system as ACID compliant where the D in ACID is Durability, note – HBASE which sit’s upon HADOOP is ACID compliant! ACID applies to Transactions and not the prevailing database organisation method e.g. Relational, Key Value, Hierarchical etc. Back to SQL […]