School of Hard Knocks: SQL Server, Storage Spaces Direct and Cluster Shared Volumes edition

While I work 100% with cloud based SQL Server deployments these days, my life is not all unicorns and PaaS services. Surprisingly (or not) enough, many of the environments in the cloud are still build on top of good, trusty virtual machines. Except that sometimes they’re not good or trusty. There are definitely some good reasons for deploying VM’s in the cloud, however some decisions on the architecture can prove to be a challenge in a long run.

In this post, I’ll share my experience from struggling with some of these decisions, and hopefully help some of you make better decisions out there. Let me share a woeful story about Storage Spaces Direct and Cluster Shared Volumes.

(more…)

Sometimes the VM in Azure is the best option for your SQL Server workloads

I have previously written quite a few post about how much I like the Platform-as-a-Service databases for SQL Server (and for databases in general), and I do like them quite a bit. But would I recommend them for all use cases and workloads? Heck no! At the moment there are some features and limitations in Azure SQL PaaS databases that, with some of hte SQL Server workloads I have seen, wouldn’t just work all that well.

Also when we look at Azure, there’s some really cool features available for VMs that you can start using today, which are making the good old VMs an interesting option.

(more…)

Do you know how many different types of users there are in SQL Server?

The answer to this question is not 2, happy and unhappy users. This time we’re discussing security, not the end user experience of your perfectly tuned databases.

I was recently having a discussion around SQL Server security, more specifically about the logins and user. The question I was asked after going through couple examples was, that how many different types of users there actually are. While this seems like a trivial thing to answer, I have to admit that even after thinking about this for a little while, and still got the answer off by 2. As it turns out there’s bit more complexity to this than might be obvious at the first glance.

Without checking from anywhere, can you name all the different types of users? Read onward to find out.

(more…)

How to give everyone in Azure access to your database, the easy way

Sometimes I run into things in cloud that really just blow my mind away. Not that long ago I learned how you can give everyone in Azure, no matter what subscription or region they are in, an access to your database. And it was super easy too. It’s just one click to allow whole (Azure) world to start accessing your data.

Is this something I wanted to do, or would I recommend anyone to do it? No, not really. Also the documentation around this particular setting was less than great, so I decided to share what I learned.

(more…)

Low Impact Maintenance for Multi-Terabyte Data Estates

Core responsibility of a DBA is to make sure that the databases they are responsible for are maintained properly. In a nutshell this usually means that you are taking backups of the data, checking the consistency of the databases and maintaining statistics and indexes. Performing these tasks gives the DBA the ability to provide the agreed SLAs for the system.

However the trade-off for doing all these tasks is that it requires some computing resources and it can sometimes impact the performance of the connecting applications, and through that the SLAs in a negative way.

In this post we’ll look at how to implement low impact database maintenance routines for environments that have large databases and are accessed 24/7 by the users.

(more…)

SQL Server Backups to Azure Part 4: Managed Backups

You’re now reading the 4th and final post in my SQL Server Backups to Azure series. In previous posts I’ve described how to setup an Azure Storage Account, Blob Storage container an how to take SQL Server backups there. This time we’ll take a look at one more option that puts our backups on autopilot, with destination to cloud!

The feature I am writing about is Managed Backups, option that has been available since SQL Server 2014 but one that I have not seen often used. One reason for that maybe being, that there’s an unfixed feature that makes enabling it bit difficult if you’re not aware of the workaround.

Despite this shortcoming, if you have SQL Servers (on-premise or Cloud) but no DBA to care for them, I’d recommend that you take a look at this option.

(more…)

SQL Server Backups to Azure Part 3: Custom Backups

You are now reading the 3rd part of the 4 part series on backing up databases to Azure. In Part 1 we looked at some of the benefits of using Azure for your backups and in Part 2 we setup the Storage Account with the Block Blob storage container.

In this post we’ll take a look at how to use the freshly created Blob storage with our customized backup routines.

(more…)