本页面介绍如何创建 Cloud SQL for SQL Server 实例。
如需详细了解所有实例设置,请参阅实例设置。
新创建的实例具有一个 sqlserver
数据库。
创建 Cloud SQL 实例后,您可以通过创建或导入数据库来向该实例添加数据库。
选择 vCPU 和内存大小值
创建 Cloud SQL for SQL Server 实例时,您可以根据 vCPU 和内存要求从多种机器配置中进行选择。以下部分显示了每个数据库版本和机器类型的 vCPU 和内存配置:
SQL Server 2017 Express、SQL Server 2019 Express 和 SQL Server 2022 Express
机器类型 | vCPU/内存 |
---|---|
轻便 |
|
标准版 |
|
高内存 |
|
自定义 | 1-8 个 vCPU,3.75 GB 到 52 GB |
SQL Server 2017 Web、SQL Server 2019 Web 和 SQL Server 2022 Web
机器类型 | vCPU/内存 |
---|---|
轻便 |
|
标准版 |
|
高内存 |
|
自定义 | 1-32 个 vCPU,3.75 GB 到 208 GB |
SQL Server 2017 Standard、SQL Server 2019 Standard 和 SQL Server 2022 Standard
机器类型 | vCPU/内存 |
---|---|
轻便 |
|
标准版 |
|
高内存 |
|
自定义 | 1-48 个 vCPU,3.75 GB 到 312 GB |
SQL Server 2017 Enterprise、SQL Server 2019 Enterprise 和 SQL Server 2022 Enterprise
机器类型 | vCPU/内存 |
---|---|
轻便 |
|
标准版 |
|
高内存 |
|
自定义 | 2-96 个 vCPU,3.75 GB 到 624 GB |
并发多线程
借助 Cloud SQL for SQL Server 上的并发多线程 (SMT),您可以在一个物理核心上将两个虚拟 CPU (vCPU) 作为独立的单独线程运行。 SMT 默认处于启用状态;但是,您可以停用它,这可能会降低许可费用。
停用 SMT 可能会影响实例性能。如需了解停用 SMT 对实例性能的影响,我们建议您对实例执行负载测试。
创建实例
控制台
- 转到 Google Cloud 控制台中的“Cloud SQL 实例”页面。
- 点击创建实例。
- 点击 Choose SQL Server(选择 SQL Server)。
- 在实例信息窗格的实例 ID 字段中,输入您的实例的 ID。
无需在实例名称中包含项目 ID。此操作将在适当的位置(例如在日志文件中)自动完成。
- 输入用户密码。
- 选择实例的数据库版本。要查看可用的版本,请点击下拉箭头。
- 在选择区域和可用区可用性部分,为实例选择区域和可用区。
将实例与访问实例的资源置于相同区域内。以后无法更改选择的区域。大多数情况下,您不需要指定可用区。
- 在自定义实例部分,更新实例的设置。例如,您可以防止意外删除实例。
- 点击创建。
- 实例的初始化过程完成后,点击实例名称将其打开。
gcloud
如需了解如何安装和开始使用 gcloud CLI,请参阅安装 gcloud CLI。如需了解如何启动 Cloud Shell,请参阅 Cloud Shell 文档。
您必须使用 gcloud
243.0.0 或更高版本。
如需了解如何保护实例免遭意外删除,请参阅防止删除实例。
- 创建实例:
gcloud beta sql instances create INSTANCE_NAME \ --database-version=SQLSERVER_2017_STANDARD \ --region=REGION_NAME \ --cpu=NUMBER_OF_vCPUs \ --memory=MEMORY_SIZE \ --root-password=ROOT-PASSWORD
无需在实例名称中包含项目 ID。此操作将在适当的位置(例如在日志文件中)自动完成。
如本页前面所述,vCPU 和内存大小值受限制。请参阅选择 vCPU 和内存大小值。
例如,以下字符串会创建一个具有两个 vCPU 和 7,680 MB 内存的实例:
gcloud sql instances create myinstance \ --database-version=SQLSERVER_2017_STANDARD \ --region=us-central1 \ --cpu=2 \ --memory=7680MB \ --root-password=EXAMPLE-PASSWORD
如需了解一些示例值,请参阅机器类型示例。
如需了解实例设置的参数,请参阅 gcloud sql instances create。
- 请记下系统自动分配的 IP 地址。
如果您未使用 Cloud SQL Auth 代理,则需要使用此地址作为应用或工具用来连接实例的主机地址。
- 为用户设置密码:
gcloud sql users set-password sqlserver no-host --instance=[INSTANCE_NAME] \ --password=[PASSWORD]
Terraform
如需创建实例,请使用 Terraform 资源。
REST v1beta4
1. 创建实例
并非所有可能的字段都显示在下面的基本 API 调用中。如需查看 JSON 请求的原型,请参阅设置。
另请参阅 Instances:insert 页面。如需了解实例设置,包括针对区域的有效值,请参阅实例设置。如需了解机器类型,请参阅自定义实例配置。
请勿在 instance-id
中包含敏感信息或个人身份信息,因为该值对外可见。
无需在实例名称中包含项目 ID。此操作将在适当的位置(例如在日志文件中)自动完成。
借助 collation
字段(未显示在下面的基本 API 调用中),您可以设置用于实例中数据库的排序规则类型的默认值。此排序规则默认设置在实例级是永久性的,但在数据库级却不是永久性的。您可以使用数据库管理工具更改此默认设置,但仅限于您正在创建或更新的特定数据库。创建实例后,您无法更改其排序规则默认设置(除非您重新创建实例)。如需了解 SQL Server 中的排序规则,请参阅排序规则和 Unicode 支持。如需查看 JSON 请求的原型,请参阅设置。以下是您可以为 collation
参数指定的示例字符串:SQL_Latin1_General_CP1_CI_AS
。
借助 timeZone
字段(未显示在下面的基本 API 调用中),您可以为实例设置永久的默认时区。如需了解包含此字段的 JSON 表示法,请参阅设置。以下是您可以为 timeZone
字段指定的示例字符串:"Pacific Standard Time"
。了解详情。
如需创建与代管式 Microsoft AD 集成的实例,请为 domain
字段指定一个网域,例如 subdomain.mydomain.com
。如需了解详情,请参阅使用 Windows 身份验证创建实例。此外,请注意与其他项目中的代管式 AD 域集成的过程和限制条件。
在使用任何请求数据之前,请先进行以下替换:
- project-id:您的项目 ID
- instance-id:所需的实例 ID
- region:所需区域
- database-version:数据库版本的枚举字符串。例如
SQLSERVER_2017_STANDARD
- password:根用户的密码
- machine-type:机器(层级)类型的枚举字符串,例如:
db-custom-[CPUS]-[MEMORY_MBS]
HTTP 方法和网址:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances
请求 JSON 正文:
{ "name": "instance-id", "region": "region", "databaseVersion": "database-version", "rootPassword": "password", "settings": { "tier": "machine-type", "backupConfiguration": { "enabled": true } } }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-01T19:13:21.834Z", "operationType": "CREATE", "name": "operation-id", "targetId": "instance-id", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/operations/operation-id", "targetProject": "project-id" }
创建实例后,您可以进一步配置默认用户账号。
2. 检索实例的 IPv4 地址
您也可以根据情况选择检索系统自动分配的 IPv4 地址。在响应中,该地址包含在 ipAddress
字段中。
在使用任何请求数据之前,请先进行以下替换:
- project-id:您的项目 ID
- instance-id:您在上一步中创建的实例 ID
HTTP 方法和网址:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "database-version", "settings": { "authorizedGaeApplications": [], "tier": "machine-type", "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "zone", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "backupConfiguration": { "startTime": "19:00", "kind": "sql#backupConfiguration", "enabled": true }, "settingsVersion": "1", "dataDiskSizeGb": "10" }, "etag": "--redacted--", "ipAddresses": [ { "type": "PRIMARY", "ipAddress": "10.0.0.1" } ], "serverCaCert": { ... }, "instanceType": "CLOUD_SQL_INSTANCE", "project": "project-id", "serviceAccountEmailAddress": "redacted@gcp-sa-cloud-sql.iam.gserviceaccount.com", "backendType": "backend-type", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "connectionName": "project-id:region:instance-id", "name": "instance-id", "region": "region", "gceZone": "zone" }
自定义实例配置
自定义实例配置允许您选择实例需要的内存大小和 CPU。这种灵活性可让您选择适合您的工作负载的虚拟机类型。
机器类型名称使用以下格式:db-custom-NUMBER_OF_vCPUs-MEMORY
将 NUMBER_OF_vCPUs 替换为机器中的 CPU 数量,并将 MEMORY 替换为机器中的内存量。
例如,如果您的机器名称为 db-custom
,并且您的机器具有 1 个 CPU 和 3840 MB RAM,则机器格式为 db-custom-1-3840
。
选择 CPU 数量和内存量时,您选择的配置有一些限制:
- 您可以为实例配置的 vCPU 数量取决于 SQL Server 版本。
- vCPU 的数量必须为 1 或介于 2 至 96 之间的偶数。
- 内存大小必须符合以下条件:
- 每个 vCPU 的内存量介于 0.9 至 6.5 GB 之间
- 内存量是 256 MB 的倍数
- 内存量至少为 3.75 GB (3840 MB)
问题排查
问题 | 问题排查 |
---|---|
错误消息:Failed to create subnetwork. Router status is
temporarily unavailable. Please try again later. Help Token:
[token-ID] 。 |
尝试再次创建 Cloud SQL 实例。 |