Automatic Data Purging With Partition Truncation

21 Feb

Some years ago a wrote an article about automatic data purging with partition switching. Having moved to SQL Server 2016 recently I have encountered the new ability to truncate individual partitions, rather than switching data out.
Continue reading

Shredding JSON Nested Arrays

5 Feb

Whilst reading up on SQL Server 2016 JSON functionality I have seen many examples of extracting data from a JSON array. However, I wanted to work out how to extract data from an array within an array – for example, an array of customer data where each customer has an array of order details.
Continue reading

SESSION_CONTEXT – Basic Examples

1 Feb

Background
For a long time, web developers have been able to store session information. SQL Server has CONTEXT_INFO, which is a very poor implementation of a session variable. However, with SQL Server 2016 there is now a far more flexible SESSION_CONTEXT feature available.
Continue reading

TABLESAMPLE – Basic Examples

24 Jan

Whilst reading an article on Quora I saw mention of TABLESAMPLE. I had never heard of it and upon investigation it piqued my interest.
Continue reading

SSIS Project with ZappySys fails when upgraded from SQL 2012 to SQL 2016

22 Jan

Subtitled – And I can’t edit them with VS 2010 either.

Background

I am currently testing our upgrade process, for moving all of our databases from SQL Server 2012 instances to SQL Server 2016. The SSIS projects that use the ZappySys PowerPack tools are failing with a particularly unhelpful message. In addition, attempts to open those projects with SQL Server Data Tools 2010 fails – with an equally unhelpful message. This article records what I did to remedy this situation. Continue reading

Preserving White Space in ‘Empty’ XML Elements

29 Dec

Introduction
When setting the value of an XML column, so-called ‘insignificant’ white space can be removed. Generally this is not an issue but if the white space is required there are a couple of ways to prevent this.
Continue reading

OPENXML – Basic Examples

22 Dec

Introduction
OPENXML is used to produce a rowset over an XML document. It isn’t something I’ve ever used and it took a while to understand the use of flags that it can use. The following article contains several examples, using the various flag settings as well as an example of the metaproperty attributes.
Continue reading