At Google Cloud, we believe moving to the cloud shouldn’t have to mean starting over from scratch. That’s why we’re on a mission to give you choices for how you run your enterprise workloads, including migrating and modernizing your Windows workloads.
In 2019, we launched Cloud SQL for Microsoft SQL Server so you can bring your existing, on-premises SQL Server databases and applications with you to the cloud. Our fully managed relational service, Cloud SQL, is an essential part of how we help enterprises focus on innovation, not only on infrastructure.
In this post, we’ll explore some best practices for leveraging Cloud SQL for SQL Server, so you can better understand when and how to utilize our SQL Server managed offering.
Provisioning Cloud SQL for SQL Server
Connecting your data to your analytics
Ensuring your data is secure
Understanding high availability
If you’re looking for other database solutions for your data, read more about Google Cloud’s managed database services.
As you start setting up your deployments, there are several key considerations you should keep in mind:
1. Provisioning your SQL Server instance
We offer the same standardized machine types for Cloud SQL for SQL Server as PostgreSQL and MySQL, allowing you to take advantage of the full breadth and capability of the resources for instances up to 96 vCPU cores, 624 GB of RAM, and 30 terabyte SSD.
One unique benefit is that Cloud SQL for SQL Server only runs on SSD—there’s no HDD option. We’ve found that there’s increased resiliency and fewer issues with offering a single option. You can initiate the creation of a machine or modify an existing instance the same way you would any other Cloud SQL instance using the console, gcloud commands, or our API.
To seed your instance with data, Cloud SQL lets you import native backup (BAK) files so you can see your data offline. If you’d like to bring in data actively with minimal disruption, choose transactional replication to set up Cloud SQL as a subscriber.
Once your Cloud SQL instance is running, you can set additional parameters and settings. For example, we recommend autoscaling your storage instead of pre-provisioning all the storage you need. Cloud SQL allows you to enable an automatic storage increase setting on the disk, so you don’t have to worry about having the correct allocation for project growth in the future.
You can also use database flags for many SP_configure settings, including adjusting SQL Server parameters, adjusting options, and configuring and tuning an instance. This also includes setting a collation type to define the default sorting rules, case, and accent sensitivity for your databases.
To get the most from your high availability (HA) configurations, and take full advantage of Cloud SQL’s 99.95% service-level agreement (SLA), select a regional availability and configure maintenance windows based on the best times to make any changes. We do our best to minimize disruptions by scheduling maintenance as quickly and as infrequently as possible, but our main priority is ensuring our service is secure and highly available.
We get a lot of questions about the best way to utilize automatic backups for disaster recovery or restoring to other instances in other clouds or on-premises. By default, automatic backups run daily at the time you set. These are only storage snapshots of the persistent disk, which have no impact on Cloud SQL performance as it doesn’t leverage the database engine. For more frequent backups, set up manual backups using APIs or gcloud commands. However, you’ll need to manage the retention of those backups yourself, so we suggest leveraging manual backups in conjunction with automatic ones.