Speaking at SQLBits in March 2019

I have been selected to speak for a second time at SQLBits, which is being hosted in Manchester UK this year from 27 February to 2 March 2019. My session is called An overview of SQL Server 2019 for the busy DBA / developer. Here is the abstract: SQL Server 2019 is a major new
-> Continue reading Speaking at SQLBits in March 2019

dbForge Studio logo

Database modelling in a post-SSMS world: dbForge Studio

A few months ago, Microsoft announced that SQL Server Management Studio (SSMS) will no longer include the visual Database Diagrams feature from v18.0 onward. When releasing a new version of a product, Microsoft has the luxury of referencing usage statistics, and obviously this is an underused feature of SSMS. I was a little disappointed at
-> Continue reading Database modelling in a post-SSMS world: dbForge Studio

chaos monkey

Infrastructure matters, even in the Cloud

I am still amused by terminology in the Information Technology field. Words like “Kubernetes,” “containers,” and the BASIC keywords PEEK and POKE, all bring a smile to my lips every time I read or say them. Equally amusing are marketing ideas, except they may have a little sting at the end when they become mythology.
-> Continue reading Infrastructure matters, even in the Cloud

Visual Studio for Mac

Repair Visual Studio for Mac: Extension node not found in path

A few months ago I ran into a problem after updating Visual Studio for Mac, where it would not start. The actual error message (which I retrieved from a log file) said: Extension node not found in path: /MonoDevelop/Core/WebCredentialProviders Knowing what I know about complex software, it was unlikely that reinstalling Visual Studio would do
-> Continue reading Repair Visual Studio for Mac: Extension node not found in path

A software architect replaces a relational database with a relational database

Content warning: This is the second (and final) rebuttal essay about why someone is wrong on the Internet. It is no doubt biased. It might go into technical detail. Parts of it may be wrong. It may contain flippant remarks and editorialising. There are links to external references that may distract the reader. Last time,
-> Continue reading A software architect replaces a relational database with a relational database

Relational databases aren’t the problem

Content warning: This is the first of two rebuttal essays, about why someone is wrong on the Internet. It is no doubt biased. It might go into technical detail. Parts of it may be wrong. It may contain flippant remarks and editorialising. There are links to external references that may distract the reader. I am
-> Continue reading Relational databases aren’t the problem

messy paint

Why you should not use SELECT *

A shorter post this week, but an important one. Last week, Erik Darling commented on my post saying that we shouldn’t use SELECT *, which was both amusing and accurate. Amusing, because a number of the example T-SQL queries in that post made use of this construct. Why not? Why was Erik’s comment accurate? A
-> Continue reading Why you should not use SELECT *

broken glass

Repair SQL Server on Linux after an Ubuntu distribution upgrade

SQL Server 2017 is supported on Ubuntu 16.04 LTS (Long-Term Support), however that version of Ubuntu Linux is now more than two years old, so you may be tempted to update Ubuntu to a more modern release such as Ubuntu 18.04 LTS (Bionic Beaver). Unfortunately (as of this writing), SQL Server 2017 is not supported
-> Continue reading Repair SQL Server on Linux after an Ubuntu distribution upgrade

Post image

Performance as a feature, software developer edition

Relational database management systems (RDBMS) like SQL Server and Azure SQL Database are very good at managing normalized data. Efficient storage and retrieval of data is the name of the game, so performance is a feature. That’s why SQL Server (and other RDBMS products in the market) keep as much of the data in memory
-> Continue reading Performance as a feature, software developer edition

Dates and Times in SQL Server: DATENAME()

Last time we looked at DATEPART(). This post is all about the DATENAME() function. So many similarities There are many similarities between DATEPART and DATENAME. Where DATEPART returns the date or time part as an integer, DATENAME returns the part as a character string. This DATENAME function also takes two parameters: the date or time
-> Continue reading Dates and Times in SQL Server: DATENAME()