Cloud SQL para SQL Server

El conector de Cloud SQL para SQL Server te permite insertar, leer, actualizar y eliminar filas en una base de datos de SQL Server.

Versiones compatibles

Versiones de SQL Server: 2008, 2012, 2014, 2016, 2017, 2019 y 2022

Antes de empezar

Antes de usar el conector de Cloud SQL para SQL Server, haz lo siguiente:

  • En tu proyecto de Google Cloud:
    • Asegúrate de que la conectividad de red esté configurada. Para obtener información sobre los patrones de red, consulta Conectividad de red.
    • Concede el rol de gestión de identidades y accesos roles/connectors.admin al usuario que configure el conector.
    • Concede los siguientes roles de gestión de identidades y accesos a la cuenta de servicio que quieras usar para el conector:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor
      • roles/cloudsql.editor

      Una cuenta de servicio es un tipo especial de cuenta de Google diseñada para representar a un usuario no humano que necesita autenticarse y disponer de autorización para acceder a los datos de las APIs de Google. Si no tienes una cuenta de servicio, debes crear una. El conector y la cuenta de servicio deben pertenecer al mismo proyecto. Para obtener más información, consulta el artículo Crear una cuenta de servicio.

    • Habilita los siguientes servicios:
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Para saber cómo habilitar servicios, consulta Habilitar servicios.

    Si estos servicios o permisos no se han habilitado en tu proyecto anteriormente, se te pedirá que los habilites al configurar el conector.

  • Habilita el servicio sqladmin.googleapis.com (API Admin de Cloud SQL).

Configurar el conector

Una conexión es específica de una fuente de datos. Esto significa que, si tiene muchas fuentes de datos, debe crear una conexión independiente para cada una de ellas. Para crear una conexión, sigue estos pasos:

  1. En la consola de Cloud, ve a la página Integration Connectors > Connections (Integration Connectors > Conexiones) y, a continuación, selecciona o crea un proyecto de Google Cloud.

    Ve a la página Conexiones.

  2. Haz clic en + CREAR NUEVA para abrir la página Crear conexión.
  3. En la sección Ubicación, elige la ubicación de la conexión.
    1. Región: selecciona una ubicación de la lista desplegable.

      Para ver la lista de todas las regiones admitidas, consulta Ubicaciones.

    2. Haz clic en SIGUIENTE.
  4. En la sección Detalles de la conexión, haz lo siguiente:
    1. Conector: selecciona Cloud SQL para SQL Server en la lista desplegable de conectores disponibles.
    2. Versión del conector: seleccione la versión del conector en la lista desplegable de versiones disponibles.
    3. En el campo Connection Name (Nombre de conexión), introduce un nombre para la instancia de conexión.

      Los nombres de las conexiones deben cumplir los siguientes criterios:

      • Los nombres de conexión pueden contener letras, números o guiones.
      • Las letras deben estar en minúsculas.
      • Los nombres de conexión deben empezar por una letra y terminar por una letra o un número.
      • Los nombres de conexión no pueden tener más de 49 caracteres.
    4. Si quiere, puede introducir una Descripción para la instancia de conexión.
    5. También puedes habilitar Registro en la nube y, a continuación, seleccionar un nivel de registro. De forma predeterminada, el nivel de registro es Error.
    6. Cuenta de servicio: selecciona una cuenta de servicio que tenga los roles necesarios.
    7. Si quieres, configura los ajustes del nodo de conexión:

      • Número mínimo de nodos: introduce el número mínimo de nodos de conexión.
      • Número máximo de nodos: introduce el número máximo de nodos de conexión.

      Un nodo es una unidad (o réplica) de una conexión que procesa transacciones. Se necesitan más nodos para procesar más transacciones en una conexión y, a la inversa, se necesitan menos nodos para procesar menos transacciones. Para saber cómo afectan los nodos a los precios de los conectores, consulta la sección Precios de los nodos de conexión. Si no introduces ningún valor, de forma predeterminada, el número mínimo de nodos se establece en 2 (para mejorar la disponibilidad) y el máximo en 50.

    8. ID del proyecto: ID del proyecto de Google Cloud en el que se encuentra la instancia de Cloud SQL.
    9. Región de la base de datos: el nombre de la región en la que reside la instancia de Cloud SQL.
    10. ID de instancia: el ID de la instancia de Cloud SQL a la que conectarse.
    11. Nombre de la base de datos: el nombre de la base de datos de SQL Server a la que se va a conectar.
    12. También puedes hacer clic en + AÑADIR ETIQUETA para añadir una etiqueta a la conexión en forma de par clave-valor.
    13. Haz clic en SIGUIENTE.
  5. En la sección Destinations (Destinos), introduce los detalles del host remoto (sistema backend) al que quieras conectarte.
    1. Tipo de destino: selecciona un Tipo de destino.
      • Para especificar el nombre de host o la dirección IP de destino, selecciona Dirección de host y introduce la dirección en el campo Host 1.
      • Para establecer una conexión privada, selecciona Endpoint attachment (Endpoint adjunto) y elige el adjunto que quieras de la lista Endpoint Attachment (Endpoint adjunto).

      Si quieres establecer una conexión pública con tus sistemas backend con seguridad adicional, puedes configurar direcciones IP estáticas salientes para tus conexiones y, a continuación, configurar las reglas de tu cortafuegos para que solo se permitan las direcciones IP estáticas específicas.

      Para introducir más destinos, haga clic en +AÑADIR DESTINO.

    2. Haz clic en SIGUIENTE.
  6. En la sección Autenticación, introduce los detalles de autenticación.
    1. Seleccione un Tipo de autenticación e introduzca los detalles pertinentes.

      La conexión de Cloud SQL para SQL Server admite los siguientes tipos de autenticación:

      • Nombre de usuario y contraseña
    2. Para saber cómo configurar estos tipos de autenticación, consulta Configurar la autenticación.

    3. Haz clic en SIGUIENTE.
  7. Revisar: revisa los detalles de la conexión y la autenticación.
  8. Haz clic en Crear.

Configurar la autenticación

Introduce los detalles en función de la autenticación que quieras usar.

  • Nombre de usuario y contraseña
    • Nombre de usuario: nombre de usuario de SQL Server que se usará para la conexión.
    • Contraseña: secreto de Secret Manager que contiene la contraseña asociada al nombre de usuario de SQL Server.

Ejemplos de configuración de conexión

Tipo de conexión de autenticación básica

Nombre del campo Detalles
Ubicación us-central1
Conector Cloud SQL Server
Versión del conector 1
Nombre de la conexión cloudsql-server-private
Habilitar Cloud Logging
Cuenta de servicio SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
ID del proyecto connectors-prod-test
Región de la base de datos us-central1
ID de instancia google-cloud-bcone-sql-instance1
Nombre de la base de datos sqlcloudprivate_DB
Número mínimo de nodos 2
Número máximo de nodos 2
Tipo de destino Dirección de host
host HOST
puerto PORT
Nombre de usuario NOMBRE DE USUARIO
Contraseña CONTRASEÑA
Versión de secreto 1

Limitaciones del sistema

El conector de Cloud SQL para SQL Server puede procesar un máximo de 30 transacciones por segundo por nodo y limita las transacciones que superen este límite. De forma predeterminada, Integration Connectors asigna 2 nodos (para mejorar la disponibilidad) a una conexión.

Para obtener información sobre los límites aplicables a Integration Connectors, consulta Límites.

Usar la conexión de Cloud SQL para SQL Server en una integración

Una vez que hayas creado la conexión, estará disponible tanto en Apigee Integration como en Application Integration. Puedes usar la conexión en una integración a través de la tarea Conectores.

  • Para saber cómo crear y usar la tarea Conectores en la integración de Apigee, consulta Tarea Conectores.
  • Para saber cómo crear y usar la tarea Conectores en Application Integration, consulta Tarea Conectores.

Consulta también el tutorial Realizar operaciones CRUD en una base de datos MySQL, que muestra cómo crear una conexión MySQL y usarla en una integración para realizar operaciones de lectura y escritura.

Tipos de datos admitidos

Estos son los tipos de datos admitidos por este conector:

  • BIGINT
  • BINARY
  • BIT
  • BOOLEAN
  • CHAR
  • FECHA
  • DECIMAL
  • DOUBLE
  • FLOAT
  • INTEGER
  • LONGN VARCHAR
  • LONG VARCHAR
  • NCHAR
  • NUMERIC
  • NVARCHAR
  • REAL
  • SMALL INT
  • HORA
  • TIMESTAMP
  • TINY INT
  • VARBINARY
  • VARCHAR

Acciones

En esta sección se describen las acciones disponibles en este conector.

Acción Employee_Procedure

Esta acción obtiene los datos de un empleado.

Parámetros de entrada de la acción Employee_Procedure

Nombre del parámetro Tipo de datos Obligatorio Descripción
ID Entero Verdadero El ID del empleado.

Para ver un ejemplo de cómo configurar la acción Employee_Procedure, consulta Ejemplos de acciones.

Ejemplos de acciones

En esta sección se muestran ejemplos de las acciones disponibles en este conector.

Ejemplo: obtener los datos de un empleado

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción Employee_Procedure y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
      "ID": 3
    }
    
  4. Si la acción se realiza correctamente, el parámetro de respuesta connectorOutputPayload de la tarea del conector tendrá un valor similar al siguiente:

    [{
      "ID": 3,
      "Name": "Charlie",
      "City": "Paris",
      "SALARY": 6500.0,
      "Department": "IT"
    }]
    

Ejemplos de operaciones de entidades

En esta sección se ofrecen ejemplos de operaciones de entidades disponibles en este conector.

Ejemplo: Lista de todas las personas

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona Persons en la lista Entity.
  3. Selecciona la operación List y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, puedes definir filterClause para que se ajuste a tus necesidades de filtrado.
  5. Debe usar comillas simples (") para incluir el valor de un filterClause. Puede usar filterClause para filtrar registros en función de las columnas.

Ejemplo: obtener los detalles de una persona

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona Persons en la lista Entity.
  3. Selecciona la operación Get y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haga clic en entityId y, a continuación, introduzca 1 en el campo Valor predeterminado. Este ID especifica el registro que se va a obtener.

Ejemplo: eliminar a una persona

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona Persons en la lista Entity.
  3. Selecciona la operación Delete y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haga clic en entityId y, a continuación, introduzca 9 en el campo Valor predeterminado. Este ID especifica el registro que se va a eliminar.

Ejemplo: crear una persona

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona Persons en la lista Entity.
  3. Selecciona la operación Create y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
      "LastName": "Charlie",
      "FirstName": "Cruz",
      "Address": "123 Main Street",
      "City": "Paris"
    }
    

    Si la integración se realiza correctamente, el parámetro de respuesta connectorOutputPayload de la tarea del conector tendrá un valor similar al siguiente:

    {
      "PersonID": 100.0,
      "LastName": "Charlie",
      "FirstName": "Cruz",
      "Address": "123 Main Street",
      "City": "Paris"
    }
    

Ejemplo: crear detalles de un empleado

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona SQL_Performance_EmployeeDetails en la lista Entity.
  3. Selecciona la operación Create y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
      "ID": 9.0,
      "FirstName": "Alex",
      "LastName": "Ariel",
      "MyDate": "2021-10-22",
      "MyTime": "13:54:19",
      "MySmallDateTime": "2021-10-22 13:54:00.0",
      "MyDateTime": "2021-10-22 13:54:19.057",
      "MyDateTime2": "2021-10-22 13:54:19.055",
      "MyDateTimeOffset": "2021-10-22 13:54:19.055",
      "MyDecimalColumn": 123.0,
      "MyNumericColumn": 12345.12,
      "salary": 4000.0,
      "Location": "Paris",
      "City": "Paris",
      "Designation": "Consultant",
      "Position": "Junior",
      "Experience": 5.0,
      "Emp_Father_Name": "Taylor",
      "Emp_Spouse": "Yuri",
      "Age": 29.0,
      "Celsius": 35.0,
      "Isregistered": "AA==",
      "Data": "{\"name\": \"Raj\",\"skills\": [\"SSIS\", \"SSRS\", \"JS\"],\"Age\": 30}",
      "Emp_Status": "Active",
      "Emp_Department": "IT",
      "Emp_Zip": 121212.0,
      "Sex": "Male",
      "Manager": "Dana",
      "ManagerId": 10.0,
      "Manager_Location": "Paris",
      "HR_Name": "Sasha",
      "Emp_Technology": "SQL",
      "Company_Name": "Altostrat",
      "Company_Location": "Paris",
      "Emp_Degree": "BE",
      "Emp_10TH": "Y",
      "Emp_12TH": "Y",
      "Emp_10Th_Marks": 70.0,
      "Emp_12TH_Marks": 80.0,
      "Emp_Degree_Marks": 90.0,
      "work": "WFH",
      "Emp_Language": "English",
      "Emp_System": "Laptop",
      "Daily_Hrs": 9.0,
      "Week_Days": 5.0,
      "Weekly_Off": 2.0,
      "Client_Name": "Google",
      "Client_Location": "Lisbon",
      "Team_Size": 15.0,
      "Reports_TO": "Manager"
    }
    

    Si la integración se realiza correctamente, el parámetro de respuesta connectorOutputPayload de la tarea del conector tendrá un valor similar al siguiente:

    {
      "ID": 9.0,
      "FirstName": "Alex",
      "LastName": "Ariel",
      "City": "Paris",
      "Salary": 4000.0
    }
    

Ejemplo: crear un empleado

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona Employee en la lista Entity.
  3. Selecciona la operación Create y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
      "NAME": "Dana",
      "AGE": 30,
      "City": "Lisbon",
      "SALARY": 10000.0
    }
    

    Si la integración se realiza correctamente, el parámetro de respuesta connectorOutputPayload de la tarea del conector tendrá un valor similar al siguiente:

    {
      "ID": 88.0,
      "NAME": "Dana",
      "AGE": 30,
      "City": "Lisbon",
      "SALARY": 10000.0
    }
    

Ejemplo: actualizar los detalles de una persona

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona Persons en la lista Entity.
  3. Selecciona la operación Update y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
      "LastName": "Charlie",
      "FirstName": "Cruz",
      "Address": "8 Rue du Nom Fictif",
      "City": "Paris"
    }
    
  5. En la sección Entrada de tarea de la tarea Conectores, haga clic en entityId y, a continuación, introduzca 10 en el campo Valor predeterminado. Este ID especifica el registro que se va a actualizar.

    En lugar de especificar el entityId, también puede definir filterClause como '10'.

    Si la integración se realiza correctamente, el parámetro de respuesta connectorOutputPayload de la tarea del conector tendrá un valor similar al siguiente:

    {
      "LastName": "Charlie",
      "FirstName": "Cruz",
      "Address": "8 Rue du Nom Fictif",
      "City": "Paris"
    }
    

Ejemplo: actualizar los detalles de un empleado

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona SQL_Performance_EmployeeDetails en la lista Entity.
  3. Selecciona la operación Update y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
      "Age": 30
    }
    
  5. En la sección Entrada de tarea de la tarea Conectores, haga clic en entityId y, a continuación, introduzca 5 en el campo Valor predeterminado. Este ID especifica el registro que se va a actualizar.

    En lugar de especificar el entityId, también puede definir filterClause como '5'.

    Si la integración se realiza correctamente, el parámetro de respuesta connectorOutputPayload de la tarea del conector tendrá un valor similar al siguiente:

    {
      "Age": 30
    }
    

Ejemplo: actualizar un empleado

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona Employee en la lista Entity.
  3. Selecciona la operación Update y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
      "AGE": 41,
      "City": "Paris",
      "SALARY": 10000.0
    }
    
  5. En la sección Entrada de tarea de la tarea Conectores, haga clic en entityId y, a continuación, introduzca 2 en el campo Valor predeterminado. Este ID especifica el registro que se va a actualizar.

    En lugar de especificar el entityId, también puede definir filterClause como '2'.

    Si la integración se realiza correctamente, el parámetro de respuesta connectorOutputPayload de la tarea del conector tendrá un valor similar al siguiente:

    {
      "AGE": 41,
      "City": "Paris",
      "SALARY": 10000.0
    }
    

Crear conexiones con Terraform

Puedes usar el recurso de Terraform para crear una conexión.

Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.

Para ver una plantilla de Terraform de ejemplo para crear una conexión, consulta la plantilla de ejemplo.

Cuando crees esta conexión con Terraform, debes definir las siguientes variables en el archivo de configuración de Terraform:

Nombre del parámetro Tipo de datos Obligatorio Descripción
project_id STRING Verdadero ID del proyecto que contiene la instancia de Cloud SQL. Por ejemplo, myproject.
database_region STRING Verdadero La región en la nube de la instancia (por ejemplo, us-central1).
instance_id STRING Verdadero ID de instancia de la base de datos. No incluye el ID del proyecto. Por ejemplo, myinstance.
database_name STRING Verdadero Nombre de la base de datos en la instancia. Por ejemplo, "mydatabase".

Obtener ayuda de la comunidad de Google Cloud

Puedes publicar tus preguntas y hablar sobre este conector en la comunidad de Google Cloud, en los foros de Cloud.

Siguientes pasos