Blog Post

Running SQL Server in Google Cloud Platform


On a few occasions I’ve referred to GCP (Google Cloud Platform) as the “Windows Phone of cloud providers” and what I meant by that is they have a great product that little market share when compared to Azure and AWS; but, should you be looking at GCP?

Initial Thoughts

My first thoughts when looking at the GCP portal is that it is plain and looks like a classic ASP page from 2007; but, when navigating through the sight and comparing it with the Azure portal I must admit that Google has always done better by doing simple. The clean interface feels more like an Apple store and is almost more inviting than Azure’s portal with all the blades. In short, I kind like it! Simple and to the point.

Can I run SQL Server?

Absolutely! It’s actually very simple to setup. I’d argue it’s more simple that configuring SQL Server in AWS RDS or Azure.

SQL Server installation on GCP

Google grants a $300 credit, so feel free to follow along. Get started here:

To install SQL Server, you’ll want to look for the “SQL” icon in the left navigation pane. It’ll look like this:


Next, you can either choose to create  new instance of “SQL” or to migrate data.


Why have I been using quotes for “SQL”? That’s because “SQL” doesn’t mean “SQL” Server it’s a language and Microsoft’s marketing team was really smart by naming their platform “SQL Server”. If all you’ve done in the database world is SQL Server then you may be surprised when you click the “SQL” button and create a new instance. SQL Server is one of 3 options along with MySQL and PostgreSQL.

Click SQL Server to start the SQL Server 2017 installation.


Follow the template by specifying an Instance ID and password. Don’t worry about the SKU or Size for now; these will be further down the page.


If your instance will be used for anything other than dev or testing you’ll want to configure the machine type and storage. To “right-size” your environment it’s best to evaluate your existing server to validate the IOPS, compute, and memory usage.


One annoying fact about PaaS offerings from each cloud provider is that memory is tightly tied to vCores. With Azure you only get 5 GB of RAM per vCore. GCP isn’t much different but you do have the option to toggle memory options up to “High memory”. What does this actually mean? Not much. Memory is still tied to the amount of vCores and with 96 total vCores you get only 624 GB of RAM but it’s worth noting that this (6.5 GB/vCore) is more RAM per vCore than Azure provides.

What I’d really like to see is more flexibility from cloud providers. RAM should not be tied to vCores. I should be able to choose 16 vCores and 768 GB of RAM.


Next, configure your backups and availability zone options.


Configure trace flags, if needed. Actually, this is pretty neat. Azure forces a blanket of trace flags for Managed Instances and GCP allows you to configure them here easily. Click the “learn more” link to see more about trace flags.


GCP also allows you to specify your preferred maintenance window. Specify a time that works for you.


Finally, click create and your instance will begin deploying.


Before you attempt to connect you’ll want to configure your network. You can choose between a private or public ip (default). If you go with the default (public) you’ll want to add your ip to the “Authorized networks” list and then click “Save”.


That’s it! You’re done. Simple right? Start using GCP today and see what you think.

Original post (opens in new tab)


You rated this post out of 5. Change rating




You rated this post out of 5. Change rating