Cloud SQL para SQL Server

O conetor do Cloud SQL para SQL Server permite-lhe inserir, ler, atualizar e eliminar linhas numa base de dados do SQL Server.

Versões suportadas

Versões do SQL Server: 2008, 2012, 2014, 2016, 2017, 2019 e 2022

Antes de começar

Antes de usar o conetor do Cloud SQL para SQL Server, faça as seguintes tarefas:

  • No seu projeto do Google Cloud:
    • Certifique-se de que a conetividade de rede está configurada. Para obter informações sobre padrões de rede, consulte o artigo Conetividade de rede.
    • Conceda a função IAM roles/connectors.admin ao utilizador que está a configurar o conetor.
    • Conceda as seguintes funções de IAM à conta de serviço que quer usar para o conector:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor
      • roles/cloudsql.editor

      Uma conta de serviço é um tipo especial de Conta Google destinada a representar um utilizador não humano que precisa de autenticação e autorização para aceder a dados nas APIs Google. Se não tiver uma conta de serviço, tem de criar uma. O conector e a conta de serviço têm de pertencer ao mesmo projeto. Para mais informações, consulte o artigo Criar uma conta de serviço.

    • Ative os seguintes serviços:
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Para saber como ativar serviços, consulte o artigo Ativar serviços.

    Se estes serviços ou autorizações não tiverem sido ativados anteriormente para o seu projeto, é-lhe pedido que os ative quando configurar o conector.

  • Ative o serviço sqladmin.googleapis.com (API Admin do Cloud SQL).

Configure o conetor

Uma associação é específica de uma origem de dados. Isto significa que, se tiver muitas origens de dados, tem de criar uma associação separada para cada origem de dados. Para criar uma associação, faça o seguinte:

  1. Na Cloud Console, aceda à página Integration Connectors > Ligações e, de seguida, selecione ou crie um projeto do Google Cloud.

    Aceda à página Ligações

  2. Clique em + CRIAR NOVO para abrir a página Criar associação.
  3. Na secção Localização, escolha a localização para a ligação.
    1. Região: selecione uma localização na lista pendente.

      Para ver a lista de todas as regiões suportadas, consulte o artigo Localizações.

    2. Clique em SEGUINTE.
  4. Na secção Detalhes da associação, conclua o seguinte:
    1. Conetor: selecione Cloud SQL para SQL Server na lista pendente de conetores disponíveis.
    2. Versão do conetor: selecione a versão do conetor na lista pendente de versões disponíveis.
    3. No campo Nome da ligação, introduza um nome para a instância de ligação.

      Os nomes das associações têm de cumprir os seguintes critérios:

      • Os nomes das associações podem usar letras, números ou hífenes.
      • As letras têm de ser minúsculas.
      • Os nomes das associações têm de começar com uma letra e terminar com uma letra ou um número.
      • Os nomes das associações não podem exceder 49 carateres.
    4. Opcionalmente, introduza uma Descrição para a instância de associação.
    5. Opcionalmente, ative o Registo na nuvem e, em seguida, selecione um nível de registo. Por predefinição, o nível do registo está definido como Error.
    6. Conta de serviço: selecione uma conta de serviço que tenha as funções necessárias.
    7. Opcionalmente, configure as definições do nó de associação:

      • Número mínimo de nós: introduza o número mínimo de nós de ligação.
      • Número máximo de nós: introduza o número máximo de nós de ligação.

      Um nó é uma unidade (ou uma réplica) de uma ligação que processa transações. São necessários mais nós para processar mais transações para uma ligação e, inversamente, são necessários menos nós para processar menos transações. Para compreender como os nós afetam os preços dos conectores, consulte o artigo Preços dos nós de ligação. Se não introduzir valores, por predefinição, os nós mínimos são definidos como 2 (para uma melhor disponibilidade) e os nós máximos são definidos como 50.

    8. ID do projeto: o ID do projeto do Google Cloud onde reside a instância do CloudSQL.
    9. Região da base de dados: o nome da região onde reside a instância do CloudSQL.
    10. ID da instância: o ID da instância do Cloud SQL à qual estabelecer ligação.
    11. Nome da base de dados: o nome da base de dados do SQL Server à qual estabelecer ligação.
    12. Opcionalmente, clique em + ADICIONAR ETIQUETA para adicionar uma etiqueta à associação sob a forma de um par chave/valor.
    13. Clique em SEGUINTE.
  5. Na secção Destinos, introduza os detalhes do anfitrião remoto (sistema de back-end) ao qual quer estabelecer ligação.
    1. Tipo de destino: selecione um Tipo de destino.
      • Para especificar o nome de anfitrião ou o endereço IP de destino, selecione Endereço do anfitrião e introduza o endereço no campo Anfitrião 1.
      • Para estabelecer uma ligação privada, selecione Anexo do ponto final e escolha o anexo necessário na lista Anexo do ponto final.

      Se quiser estabelecer uma ligação pública aos seus sistemas de back-end com segurança adicional, pode considerar configurar endereços IP estáticos de saída para as suas ligações e, em seguida, configurar as regras da firewall para permitir apenas os endereços IP estáticos específicos.

      Para introduzir destinos adicionais, clique em +ADICIONAR DESTINO.

    2. Clique em SEGUINTE.
  6. Na secção Autenticação, introduza os detalhes de autenticação.
    1. Selecione um Tipo de autenticação e introduza os detalhes relevantes.

      Os seguintes tipos de autenticação são suportados pela ligação do Cloud SQL para SQL Server:

      • Nome de utilizador e palavra-passe
    2. Para saber como configurar estes tipos de autenticação, consulte o artigo Configurar autenticação.

    3. Clique em SEGUINTE.
  7. Rever: reveja os detalhes da ligação e da autenticação.
  8. Clique em Criar.

Configure a autenticação

Introduza os detalhes com base na autenticação que quer usar.

  • Nome de utilizador e palavra-passe
    • Nome de utilizador: o nome de utilizador do SQL Server a usar para a ligação.
    • Palavra-passe: Secret do Secret Manager que contém a palavra-passe associada ao nome de utilizador do SQL Server.

Exemplos de configuração de ligação

Tipo de ligação de autenticação básica

Nome do campo Detalhes
Localização us-central1
Conetor CloudSQL SQL Server
Versão do conetor 1
Nome da ligação cloudsql-server-private
Ative o Cloud Logging Sim
Conta de serviço SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
ID do projeto connectors-prod-test
Região da base de dados us-central1
ID da instância google-cloud-bcone-sql-instance1
Nome da base de dados sqlcloudprivate_DB
Número mínimo de nós 2
Número máximo de nós 2
Tipo de destino Morada do anfitrião
anfitrião ANFITRIÃO
porta PORT
Nome de utilizador NOME DE UTILIZADOR
Palavra-passe PASSWORD
Versão do Secret 1

Limitações do sistema

O conetor do Cloud SQL para SQL Server pode processar um máximo de 30 transações por segundo, por e limita todas as transações que excedam este limite. Por predefinição, os Integration Connectors atribuem 2 nós (para uma melhor disponibilidade) a uma ligação.

Para informações sobre os limites aplicáveis aos Integration Connectors, consulte Limites.

Use a ligação do Cloud SQL para SQL Server numa integração

Depois de criar a associação, esta fica disponível no Apigee Integration e no Application Integration. Pode usar a ligação numa integração através da tarefa Conectores.

  • Para compreender como criar e usar a tarefa Connectors no Apigee Integration, consulte o artigo Tarefa Connectors.
  • Para compreender como criar e usar a tarefa Connectors na integração de aplicações, consulte o artigo Tarefa Connectors.

Consulte também o tutorial Realize operações CRUD numa base de dados MySQL, que mostra como criar uma ligação MySQL e usar a ligação numa integração para realizar operações de leitura e escrita.

Tipos de dados suportados

Seguem-se os tipos de dados suportados para este conector:

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

Ações

Esta secção apresenta as ações disponíveis neste conector.

Ação Employee_Procedure

Esta ação obtém os dados de um funcionário.

Parâmetros de entrada da ação Employee_Procedure

Nome do parâmetro Tipo de dados Obrigatória Descrição
ID Int Verdadeiro O ID do funcionário.

Para ver um exemplo de como configurar a ação Employee_Procedure, consulte os exemplos de ações.

Exemplos de ações

Esta secção apresenta exemplos de ações disponíveis neste conector.

Exemplo: obtenha os dados de um funcionário

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação Employee_Procedure e, de seguida, clique em Concluído.
  3. Na secção Entrada da tarefa da tarefa Conectores, clique em connectorInputPayload e, de seguida, introduza um valor semelhante ao seguinte no campo Default Value:
    {
      "ID": 3
    }
    
  4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector terá um valor semelhante ao seguinte:

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

Exemplos de operações de entidades

Esta secção fornece exemplos de operações de entidades disponíveis neste conector.

Exemplo: listar todas as pessoas

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione Persons na lista Entity.
  3. Selecione a operação List e, de seguida, clique em Concluído.
  4. Na secção Entrada de tarefas da tarefa Conetores, pode definir o filterClause de acordo com as suas necessidades de filtragem.
  5. Tem de usar aspas simples (') para incluir o valor de uma filterClause. Pode usar o elemento filterClause para filtrar registos com base nas colunas.

Exemplo: obter detalhes de uma pessoa

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione Persons na lista Entity.
  3. Selecione a operação Get e, de seguida, clique em Concluído.
  4. Na secção Entrada de tarefas da tarefa Conectores, clique em entityId e, de seguida, introduza 1 no campo Valor predefinido. Este ID especifica o registo a obter.

Exemplo: elimine uma pessoa

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione Persons na lista Entity.
  3. Selecione a operação Delete e, de seguida, clique em Concluído.
  4. Na secção Entrada de tarefas da tarefa Conectores, clique em entityId e, de seguida, introduza 9 no campo Valor predefinido. Este ID especifica o registo a eliminar.

Exemplo: criar uma pessoa

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione Persons na lista Entity.
  3. Selecione a operação Create e, de seguida, clique em Concluído.
  4. Na secção Entrada da tarefa da tarefa Conectores, clique em connectorInputPayload e, de seguida, introduza um valor semelhante ao seguinte no campo Default Value:
    {
      "LastName": "Charlie",
      "FirstName": "Cruz",
      "Address": "123 Main Street",
      "City": "Paris"
    }
    

    Se a integração for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector terá um valor semelhante ao seguinte:

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

Exemplo: crie detalhes de funcionários

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione SQL_Performance_EmployeeDetails na lista Entity.
  3. Selecione a operação Create e, de seguida, clique em Concluído.
  4. Na secção Entrada da tarefa da tarefa Conectores, clique em connectorInputPayload e, de seguida, introduza um valor semelhante ao seguinte no 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"
    }
    

    Se a integração for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector tem um valor semelhante ao seguinte:

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

Exemplo: criar um funcionário

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione Employee na lista Entity.
  3. Selecione a operação Create e, de seguida, clique em Concluído.
  4. Na secção Entrada da tarefa da tarefa Conectores, clique em connectorInputPayload e, de seguida, introduza um valor semelhante ao seguinte no campo Default Value:
    {
      "NAME": "Dana",
      "AGE": 30,
      "City": "Lisbon",
      "SALARY": 10000.0
    }
    

    Se a integração for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector tem um valor semelhante ao seguinte:

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

Exemplo: atualize os detalhes de uma pessoa

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione Persons na lista Entity.
  3. Selecione a operação Update e, de seguida, clique em Concluído.
  4. Na secção Entrada da tarefa da tarefa Conectores, clique em connectorInputPayload e, de seguida, introduza um valor semelhante ao seguinte no campo Default Value:
    {
      "LastName": "Charlie",
      "FirstName": "Cruz",
      "Address": "8 Rue du Nom Fictif",
      "City": "Paris"
    }
    
  5. Na secção Entrada de tarefas da tarefa Conectores, clique em entityId e, de seguida, introduza 10 no campo Valor predefinido. Este ID especifica o registo a atualizar.

    Em vez de especificar o entityId, também pode definir a filterClause como '10'.

    Se a integração for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector tem um valor semelhante ao seguinte:

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

Exemplo: atualize os detalhes do funcionário

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione SQL_Performance_EmployeeDetails na lista Entity.
  3. Selecione a operação Update e, de seguida, clique em Concluído.
  4. Na secção Entrada da tarefa da tarefa Conectores, clique em connectorInputPayload e, de seguida, introduza um valor semelhante ao seguinte no campo Default Value:
    {
      "Age": 30
    }
    
  5. Na secção Entrada de tarefas da tarefa Conectores, clique em entityId e, de seguida, introduza 5 no campo Valor predefinido. Este ID especifica o registo a atualizar.

    Em vez de especificar o entityId, também pode definir a filterClause como '5'.

    Se a integração for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector tem um valor semelhante ao seguinte:

    {
      "Age": 30
    }
    

Exemplo: atualize um funcionário

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione Employee na lista Entity.
  3. Selecione a operação Update e, de seguida, clique em Concluído.
  4. Na secção Entrada da tarefa da tarefa Conectores, clique em connectorInputPayload e, de seguida, introduza um valor semelhante ao seguinte no campo Default Value:
    {
      "AGE": 41,
      "City": "Paris",
      "SALARY": 10000.0
    }
    
  5. Na secção Entrada de tarefas da tarefa Conectores, clique em entityId e, de seguida, introduza 2 no campo Valor predefinido. Este ID especifica o registo a atualizar.

    Em vez de especificar o entityId, também pode definir a filterClause como '2'.

    Se a integração for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector tem um valor semelhante ao seguinte:

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

Crie ligações com o Terraform

Pode usar o recurso do Terraform para criar uma nova associação.

Para saber como aplicar ou remover uma configuração do Terraform, consulte os comandos básicos do Terraform.

Para ver um modelo do Terraform de exemplo para a criação de ligações, consulte o modelo de exemplo.

Quando cria esta associação através do Terraform, tem de definir as seguintes variáveis no ficheiro de configuração do Terraform:

Nome do parâmetro Tipo de dados Obrigatória Descrição
project_id STRING Verdadeiro ID do projeto que contém a instância do Cloud SQL. Por exemplo, myproject.
database_region STRING Verdadeiro A região da nuvem para a instância. Por exemplo, us-central1.
instance_id STRING Verdadeiro ID da instância de base de dados. Isto não inclui o ID do projeto. Por exemplo, myinstance.
database_name STRING Verdadeiro Nome da base de dados na instância. Por exemplo, mydatabase.

Obtenha ajuda da comunidade do Google Cloud

Pode publicar as suas perguntas e discutir este conector na comunidade do Google Cloud nos Fóruns do Cloud.

O que se segue?