Crea instancias

En esta página, se describe cómo crear una instancia de Cloud SQL para SQL Server.

Para obtener información detallada sobre toda la configuración de las instancias, consulta Configuración de las instancias.

Una instancia recién creada tiene una base de datos sqlserver.

Después de crear una instancia de Cloud SQL, debes agregarle bases de datos. Para ello, debes crearlas o importarlas.

Elige valores de CPU virtuales y de tamaño de memoria

Cuando creas una instancia de Cloud SQL para SQL Server, puedes elegir entre varias opciones de configuración de máquinas según tus requisitos de CPU virtual y memoria. En las siguientes secciones, se muestra la configuración de CPU virtual y memoria para cada versión de base de datos y tipo de máquina:

SQL Server 2017 Express, SQL Server 2019 Express y SQL Server 2022 Express

Tipo de máquina CPU virtual/memoria
Ligera
  • 1 CPU virtual, 3.75 GB
  • 2 CPU virtuales, 3.75 GB
  • 4 CPU virtuales, 3.75 GB
Standard
  • 1 CPU virtual, 3.75 GB
  • 2 CPU virtuales, 7.50 GB
  • 4 CPU virtuales, 15 GB
Capacidad de memoria alta
  • 4 CPU virtuales, 26 GB
  • 8 CPU virtuales, 52 GB
Personalizado De 1 a 8 CPU virtuales, de 3.75 GB a 52 GB

SQL Server 2017 Web, SQL Server 2019 Web y SQL Server 2022 Web

Tipo de máquina CPU virtual/memoria
Ligera
  • 1 CPU virtual, 3.75 GB
  • 2 CPU virtuales, 3.75 GB
  • 4 CPU virtuales, 3.75 GB
Standard
  • 1 CPU virtual, 3.75 GB
  • 2 CPU virtuales, 7.50 GB
  • 4 CPU virtuales, 15 GB
Capacidad de memoria alta
  • 4 CPU virtuales, 26 GB
  • 8 CPU virtuales, 52 GB
  • 16 CPU virtuales, 104 GB
Personalizado De 1 a 32 CPU virtuales, de 3.75 GB a 208 GB

SQL Server 2017 Standard, SQL Server 2019 Standard y SQL Server 2022 Standard

Tipo de máquina CPU virtual/memoria
Ligera
  • 1 CPU virtual, 3.75 GB
  • 2 CPU virtuales, 3.75 GB
  • 4 CPU virtuales, 3.75 GB
Standard
  • 1 CPU virtual, 3.75 GB
  • 2 CPU virtuales, 7.50 GB
  • 4 CPU virtuales, 15 GB
Capacidad de memoria alta
  • 4 CPU virtuales, 26 GB
  • 8 CPU virtuales, 52 GB
  • 16 CPU virtuales, 104 GB
Personalizado De 1 a 48 CPU virtuales, de 3.75 GB a 312 GB

SQL Server 2017 Enterprise, SQL Server 2019 Enterprise y SQL Server 2022 Enterprise

Tipo de máquina CPU virtual/memoria
Ligera
  • 2 CPU virtuales, 3.75 GB
  • 4 CPU virtuales, 3.75 GB
Standard
  • 2 CPU virtuales, 7.50 GB
  • 4 CPU virtuales, 15 GB
Capacidad de memoria alta
  • 4 CPU virtuales, 26 GB
  • 8 CPU virtuales, 52 GB
  • 16 CPU virtuales, 104 GB
Personalizado De 2 a 96 CPU virtuales, de 3.75 a 624 GB

Subprocesos múltiples simultáneos

Los multiprocesos simultáneos (SMT) en Cloud SQL para SQL Server te permiten ejecutar dos CPU virtuales como subprocesos independientes y separados en un núcleo físico. El SMT está habilitado de forma predeterminada. Sin embargo, puedes inhabilitarla y esto podría reducir los costos de licencia.

Inhabilitar SMT puede afectar el rendimiento de tu instancia. Para comprender el impacto de la inhabilitación de SMT en el rendimiento de la instancia, te recomendamos que realices una prueba de carga en la instancia.

Crea una instancia

Console

  1. Ve a la página Instancias de Cloud SQL en la consola de Google Cloud.

    Ir a Instancias de Cloud SQL

  2. Haz clic en Crear instancia.
  3. Haz clic en Elegir SQL Server.
  4. En el campo ID de instancia del panel de información de la instancia, ingresa un ID para la instancia.

    No debes incluir el ID del proyecto en el nombre de la instancia. Esto se hace de manera automática cuando es apropiado (por ejemplo, en los archivos de registro).

  5. Ingresa una contraseña para el usuario.
  6. Selecciona la versión de base de datos de tu instancia. Para ver las versiones disponibles, haz clic en la flecha desplegable.
  7. En la sección Elige la región y la disponibilidad zonal, selecciona la región y la zona para la instancia.

    Ubica la instancia en la misma región en la que están los recursos que acceden a ella. No se podrá modificar la región que seleccionaste en un futuro. En la mayoría de los casos, no necesitas especificar una zona.

  8. En la sección Personaliza tu instancia, actualiza la configuración de la instancia. Por ejemplo, puedes evitar la eliminación accidental de instancias.
  9. Haz clic en Crear.
  10. Una vez que se complete el proceso de inicialización de la instancia, haz clic en su nombre para abrirla.

gcloud

Para obtener información sobre cómo instalar y comenzar a usar la CLI de gcloud, consulta Instala la CLI de gcloud. Si quieres obtener información para iniciar Cloud Shell, consulta la Documentación de Cloud Shell.

Debes usar la versión gcloud 243.0.0 o una posterior.

Para obtener información sobre cómo proteger una instancia contra la eliminación accidental, consulta Evita la eliminación de una instancia.

  1. Crea la instancia:
    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
    

    No debes incluir el ID del proyecto en el nombre de la instancia. Esto se hace de manera automática cuando es apropiado (por ejemplo, en los archivos de registro).

    Como se mencionó antes en esta página, los valores de CPU virtuales y de tamaño de memoria son limitados. Consulta Elige valores de CPU virtuales y de tamaño de memoria.

    Por ejemplo, la siguiente string crea una instancia con dos CPU virtuales y 7,680 MB de memoria:

    gcloud sql instances create myinstance \
    --database-version=SQLSERVER_2017_STANDARD \
    --region=us-central1 \
    --cpu=2 \
    --memory=7680MB \
    --root-password=EXAMPLE-PASSWORD
    

    Para obtener algunos valores de muestra, consulta Tipos de máquina de muestra.

    Para obtener más información sobre la configuración de las instancias, consulta gcloud sql instances create.

  2. Anota la dirección IP que se asignó de manera automática.

    Si no usas el proxy de Cloud SQL Auth, usarás esta dirección como dirección de host que tus aplicaciones o herramientas usarán para conectarse a la instancia.

  3. Configura la contraseña para el usuario:
    gcloud sql users set-password sqlserver no-host --instance=[INSTANCE_NAME] \
           --password=[PASSWORD]
    

Terraform

Para crear una instancia, usa un recurso de Terraform.

resource "google_sql_database_instance" "instance" {
  name             = "sqlserver-instance"
  region           = "us-central1"
  database_version = "SQLSERVER_2019_STANDARD"
  root_password    = "INSERT-PASSWORD-HERE"
  settings {
    tier = "db-custom-2-7680"
  }
  # set `deletion_protection` to true, will ensure that one cannot accidentally delete this instance by
  # use of Terraform whereas `deletion_protection_enabled` flag protects this instance at the GCP level.
  deletion_protection = false
}

REST v1beta4

1. Crea la instancia

No todos los campos posibles se muestran en la siguiente llamada a la API básica. Para obtener el prototipo de una solicitud JSON, consulta Configuración.

Consulta también la página Instances:insert. Para obtener información sobre la configuración de las instancias, incluidos los valores válidos por región, consulta Configuración de instancias. Para obtener información sobre los tipos de máquina, consulta Configuración de instancias personalizadas.

No incluyas información sensible o de identificación personal en instance-id, ya que el valor es visible de forma externa.

No debes incluir el ID del proyecto en el nombre de la instancia. Esto se hace de manera automática cuando es apropiado (por ejemplo, en los archivos de registro).

El campo collation (que no aparece en la siguiente llamada a la API básica) te permite establecer un valor predeterminado para el tipo de intercalación que se usa en las bases de datos de tu instancia. Esta configuración predeterminada de intercalación es permanente a nivel de la instancia, pero no a nivel de la base de datos. Puedes cambiar esta configuración predeterminada con una herramienta de administración de bases de datos, pero solo para una base de datos específica que estés creando o actualizando. No puedes cambiar la configuración predeterminada de intercalación de una instancia después de crearla (a menos que la vuelvas a crear). Para obtener información sobre las intercalaciones en SQL Server, consulta Compatibilidad de la intercalación y Unicode. Para obtener el prototipo de una solicitud JSON, consulta Configuración. En este ejemplo, se muestra una string que puedes especificar para el parámetro collation: SQL_Latin1_General_CP1_CI_AS.

El campo timeZone (que no aparece en la siguiente llamada a la API básica) te permite establecer una zona horaria predeterminada y permanente para una instancia. Para ver la representación JSON que incluye este campo, consulta Configuración. En este ejemplo, se muestra una string que puedes especificar para el parámetro timeZone: "Pacific Standard Time". Más información.

Para crear una instancia que esté integrada con Microsoft AD administrado, especifica un dominio, como subdomain.mydomain.com, en el campo domain. Para obtener más información, consulta Crea una instancia con Windows Authentication. Además, ten en cuenta los procedimientos y restricciones para la integración con un dominio de AD administrado en un proyecto diferente.

Para obtener información sobre cómo configurar el valor de machine-type en el cuerpo de la solicitud, consulta Configuración de instancia personalizada.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID de tu proyecto
  • instance-id: Es el ID de instancia que elegiste.
  • region: Es la región que elegiste.
  • database-version: Es la string de enumeración de la versión de la base de datos. Por ejemplo: SQLSERVER_2017_STANDARD.
  • password: Es la contraseña para el usuario raíz.
  • machine-type: Es la string de enumeración del tipo de máquina (nivel) como: db-custom-[CPUS]-[MEMORY_MBS].

Método HTTP y URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances

Cuerpo JSON de la solicitud:

{
  "name": "instance-id",
  "region": "region",
  "databaseVersion": "database-version",
  "rootPassword": "password",
  "settings": {
    "tier": "machine-type",
    "backupConfiguration": {
      "enabled": true
    }
  }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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"
}

Después de crear la instancia, puedes configurar la cuenta de usuario predeterminada.

2. Recupera la dirección IPv4 de la instancia

De manera opcional, puedes recuperar la dirección IPv4 asignada automáticamente. En la respuesta, esa dirección está en el campo ipAddress.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: el ID de tu proyecto
  • instance-id: Es el ID de la instancia, que creaste en el paso anterior.

Método HTTP y URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "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"
}

Configuraciones de instancias personalizadas

Los parámetros de configuración de instancias personalizadas te permiten seleccionar la cantidad de memoria y CPU que tu instancia necesita. Esta flexibilidad te permite elegir la forma de VM adecuada para tu carga de trabajo.

Los nombres de los tipos de máquinas tienen el siguiente formato: db-custom-NUMBER_OF_vCPUs-MEMORY

Reemplaza NUMBER_OF_vCPUs por la cantidad de CPU en la máquina y MEMORY por la cantidad de memoria en la máquina.

Por ejemplo, si el nombre de tu máquina es db-custom y tu máquina tiene 1 CPU y 3,840 MB de RAM, el formato de la máquina sería db-custom-1-3840.

Cuando seleccionas la cantidad de CPU y memoria, hay algunas restricciones en la configuración que eliges:

  • La cantidad de CPU virtuales que puedes configurar para tu instancia se basa en tu versión de SQL Server.
  • La cantidad de CPU virtuales debe ser 1 o un número par entre 2 y 96.
  • El tamaño de la memoria debe ser el siguiente:
    • Ser de entre 0.9 y 6.5 GB por CPU virtual
    • Ser un múltiplo de 256 MB
    • Ser de al menos 3.75 GB (3,840 MB)

Solucionar problemas

Problema Soluciona problemas
Mensaje de error: Failed to create subnetwork. Router status is temporarily unavailable. Please try again later. Help Token: [token-ID]. Vuelve a crear la instancia de Cloud SQL.

¿Qué sigue?