-->
SQL Clone
SQLServerCentral is supported by Redgate
 
Log in  ::  Register  ::  Not logged in
 
 
 

The Database Avenger

My name is James Anderson and I am a SQL Server production DBA in the south of the UK. I have been working with databases since 2008. The first RDBMS I worked on was Paradox and I never want to see it again. I quickly moved to using T-SQL in SQL Server 2005. I have worked on every version of the product since. I enjoy query tuning and server optimisation. I detest transactional replication.

Orchestrating SQL Server with Kubernetes

T-SQL Tuesday is a monthly event where SQL Server bloggers write a post based on a subject chosen by the month’s host. You can find a list of all past topics at tsqltuesday.com. This month, it’s Grant Fritchey’s (t|b) turn with his topic Databases and… Read more

4 comments, 1,417 reads

Posted in The Database Avenger on 13 June 2017

SQL Server on Docker with new Environment Variables

As of CTP 2.1 for SQL Server 2017 a set of new environment variables are available. These variables allow us to configure each SQL Server container as we spin them up. The first version of SQL Server on Linux came with:

ACCEPT_EULA
SA_PASSWORD

These had to be set for the… Read more

5 comments, 574 reads

Posted in The Database Avenger on 17 May 2017

T-SQL Tuesday #90 Shipping Database Changes – Wrap Up

I’d like to say a huge thank you to everyone who read or published a post for T-SQL Tuesday #90. I had a great time reading through all the posts and I learnt a lot!

I feel that the real takeaway here is that Continuous Integration and DevOps are not… Read more

2 comments, 174 reads

Posted in The Database Avenger on 16 May 2017

T-SQL Tuesday #90 – Shipping Database Changes

I was once asked to add a new feature to an application. It was installed on multiple SQL Server instances across multiple physical sites. The problem was that different instances of the application had different database schemas. New code may work on my local schema, but it could fail on… Read more

22 comments, 163 reads

Posted in The Database Avenger on 2 May 2017

Avoiding Cloud Lock In – T-SQL Tuesday

T-SQL Tuesday is a monthly event where SQL Server bloggers write a post based on a subject chosen by the month’s host. You can find a list of all past topics at tsqltuesday.com. This month’s host is Koen Verbeeck (t|b) and his topic is The… Read more

0 comments, 345 reads

Posted in The Database Avenger on 11 April 2017

Building SQL Server Projects with GitLab Runners

This is the eighth part in the series: SQL Server and Continuous Integration. This post describes the set-up required for GitLab runners to automatically build SQL Server projects after each commit. I use ReadyRoll for my SQL Server projects, but SSDT projects could also be built in the same… Read more

0 comments, 2,330 reads

Posted in The Database Avenger on 22 March 2017

Is Your Data Open to Abuse? T-SQL Tuesday

T-SQL Tuesday is a monthly event where SQL Server bloggers write a post based on a subject chosen by the month’s host. This month’s host is Kennie Nybo Pontoppidan (b|t) and this months topic is: The daily (database-related) WTF.

Some of the biggest WTF moments… Read more

1 comments, 1,603 reads

Posted in The Database Avenger on 14 March 2017

Power BI in SSRS – T-SQL Tuesday

T-SQL Tuesday is a monthly event where SQL Server bloggers write a post based on a subject chosen by the month’s host. This month’s host is Matt Gordon (t|b) and his topic is Fixing Old Problems With Shiny New Toys. I’ll be talking about the… Read more

0 comments, 4,825 reads

Posted in The Database Avenger on 14 February 2017

GitLab for SQL Server Projects

This is the seventh part in the series: SQL Server and Continuous Integration. This post demonstrates the use of GitLab to build SQL Server projects. I use ReadyRoll for my SQL Server projects but SSDT projects could also be built with GitLab. Topics covered so far in this series… Read more

0 comments, 2,554 reads

Posted in The Database Avenger on 2 February 2017

Forcing Parallelism – T-SQL Tuesday

T-SQL Tuesday is a monthly event where SQL Server bloggers write a post based on a subject chosen by the month’s host. This month’s host is Brent Ozar (b/t) and this months topic is SQL Server Bugs & Enhancement Requests.

My enhancement request for SQL… Read more

0 comments, 302 reads

Posted in The Database Avenger on 9 January 2017

ReadyRoll Development

This is the sixth part in the series: SQL Server and Continuous Integration. This post will illustrate the power of ReadyRoll when developing database projects. Topics covered so far in this series are:

For this post, I will be starting a new… Read more

0 comments, 929 reads

Posted in The Database Avenger on 23 December 2016

Restoring a SQL Server backup on Linux

Last Wednesday I got very excited by Microsoft’s announcements about the addition of features to standard edition and the public preview of SQL Server on Linux. I bored everyone in the office with the features we could now use in standard edition and the possibilities that running SQL Server on… Read more

0 comments, 358 reads

Posted in The Database Avenger on 23 November 2016

SQL Server on Ubuntu

They finally did it! Finally SQL Server for Linux was announced. I’ve been waiting for this for quite a while, so let’s jump in and get it installed. After that I’ll test some of the features that until today were only available in enterprise edition.

I’m installing Ubuntu 16 on… Read more

2 comments, 416 reads

Posted in The Database Avenger on 16 November 2016

Starting a ReadyRoll Project

This is part 5 in the series named SQL Server and Continuous Integration. This post will cover the steps I follow to setup a ReadyRoll project. Topics covered so far in this series are:

I’m using ReadyRoll in my Continuous Integration setup to generate… Read more

1 comments, 454 reads

Posted in The Database Avenger on 26 October 2016

ReadyRoll for Database Deployments

This is the 4th post in the series named SQL Server and Continuous Integration. The first 3 posts covered the need for Continuous Integration (CI), the central part that Git (my version control system of choice) plays in the whole process and an easy way to use Git in… Read more

2 comments, 947 reads

Posted in The Database Avenger on 21 September 2016

The Non-Replicated Backup Mystery

I recently configured a backup job to run on the principal server of a mirrored pair. The idea was to backup the files to a local folder and then have DFSR (Distributed File System Replication) replicate the backups to the same path on the mirror server. All the… Read more

2 comments, 1,020 reads

Posted in The Database Avenger on 5 September 2016

Visual Studio Basics for use with ReadyRoll

This is the 3rd post in the series: SQL Server and Continuous Integration. This time I’ll cover the prerequisites of using ReadyRoll that include some Visual Studio basics and the installation of ReadyRoll. Once we have these skills, the next post can begin to cover the configuration and use… Read more

1 comments, 429 reads

Posted in The Database Avenger on 16 August 2016

Source Control for the Reluctant DBA

This is the 2nd post in the series named SQL Server and Continuous Integration. The previous post explained the problems I encountered at work and how they provided the inspiration for using source control in my SQL Server projects. This post will focus on using the version control system… Read more

1 comments, 623 reads

Posted in The Database Avenger on 13 July 2016

SQL Server and Continuous Integration

This is the 1st in a series of posts on SQL Server and Continuous Integration. Some of the tools I’ll be covering are:

  1. Git
  2. Visual Studio
  3. ReadyRoll
  4. GitLab
  5. tSQLt
  6. SQL Cover

Three months ago I performed my first public talk at my local usergroup in… Read more

6 comments, 467 reads

Posted in The Database Avenger on 7 July 2016

Selective Logging with the UPDATE() Function

Triggers can be very useful when you want to log changes to your data, but what if you’re only interested in logging changes to certain columns? This is where the UPDATE function comes in. This function can only be used in DML triggers and it allows us to discover if… Read more

3 comments, 2,097 reads

Posted in The Database Avenger on 16 June 2016

Older posts