Cloud SQL para SQL Server
O conector do Cloud SQL para SQL Server permite inserir, ler, atualizar e excluir linhas em um banco de dados do SQL Server.
Versões compatíveis
Versões do SQL Server: 2008, 2012, 2014, 2016, 2017, 2019 e 2022
Antes de começar
Antes de usar o conector do Cloud SQL para SQL Server, realize as seguintes tarefas:
- No seu projeto do Google Cloud, faça o seguinte:
- Verifique se a conectividade de rede está configurada. Para informações sobre padrões de rede, consulte Conectividade de rede.
- Conceda o papel do IAM roles/connectors.admin ao usuário que está configurando o conector.
- Conceda os seguintes papéis de IAM à conta de serviço que você quer usar para o conector:
roles/secretmanager.viewerroles/secretmanager.secretAccessorroles/cloudsql.editor
Uma conta de serviço é um tipo especial de Conta do Google destinada a representar um usuário não humano que precisa ser autenticado e autorizado a acessar dados nas APIs do Google. Se você não tiver uma conta de serviço, será necessário criar uma. O conector e a conta de serviço precisam pertencer ao mesmo projeto. Para mais informações, consulte Como criar uma conta de serviço.
- Ative os seguintes serviços:
secretmanager.googleapis.com(API Secret Manager)connectors.googleapis.com(API Connectors)
Para entender como ativar os serviços, consulte Como ativar serviços.
Se esses serviços ou permissões não tiverem sido ativados no seu projeto, você precisará ativá-los ao configurar o conector.
- Ative o serviço
sqladmin.googleapis.com(API Cloud SQL Admin).
- Para informações sobre como criar uma instância do Cloud SQL para SQL Server no Google Cloud, consulte Criar uma instância no Google Cloud.
- Para informações sobre a conectividade do PSC usando o proxy SOCKS5, consulte Conectividade do PSC usando o proxy SOCKS5.
Configurar o conector
Uma conexão é específica a uma fonte de dados. Isso significa que, se você tiver muitas fontes de dados, precisará criar uma conexão separada para cada uma. Para criar uma conexão, faça o seguinte:
- No console do Cloud, acesse a página Integration Connectors > Conexões e selecione ou crie um projeto do Google Cloud.
- Clique em + CRIAR NOVO para abrir a página Criar conexão.
- Na seção Local, escolha o local da conexão.
- Região: selecione um local na lista suspensa.
Para conferir a lista de todas as regiões com suporte, consulte Locais.
- Clique em PRÓXIMA.
- Região: selecione um local na lista suspensa.
- Na seção Detalhes da conexão, faça o seguinte:
- Conector: selecione Cloud SQL para SQL Server na lista suspensa de conectores disponíveis.
- Versão do conector: selecione a versão do conector na lista suspensa de versões disponíveis.
- No campo Nome da conexão, insira um nome para a instância de conexão
Os nomes de conexão precisam atender aos seguintes critérios:
- Os nomes de conexões podem usar letras, números ou hifens.
- As letras precisam ser minúsculas.
- Os nomes das conexões precisam começar com uma letra e terminar com uma letra ou um número.
- Os nomes das conexões não podem exceder 49 caracteres.
- Como opção, insira uma Descrição para a instância de conexão.
- Se quiser, ative o Cloud Logging e selecione um nível de registro. Por padrão, o nível de registro é definido como
Error. - Conta de serviço: selecione uma conta de serviço que tenha os papéis necessários.
- Opcionalmente, defina as Configurações do nó de conexão:
- Número mínimo de nós: digite o número mínimo de nós de conexão.
- Número máximo de nós: digite o número máximo de nós de conexão.
Um nó é uma unidade (ou réplica) de uma conexão que processa transações. Mais nós são necessários para processar mais transações para uma conexão e, por outro lado, menos nós são necessários para processar menos transações. Para entender como os nós afetam os preços do conector, consulte Preços dos nós de conexão. Se você não inserir qualquer valor, por padrão, os nós mínimos serão definidos como 2 (para melhor disponibilidade) e os nós máximos serão definidos como 50.
- ID do projeto: o ID do projeto do Google Cloud em que a instância Pubsub reside.
- Região do banco de dados: o nome da região em que a instância do Cloud SQL está localizada.
- ID da instância: o ID da instância do Cloud SQL a se conectar.
- Nome do banco de dados: o nome do banco de dados do SQL Server a se conectar.
- Outra opção é clicar em + ADICIONAR MARCADOR para adicionar um rótulo à conexão na forma de um par de chave-valor.
- Clique em PRÓXIMA.
- Na seção Destinos, insira os detalhes do host remoto (sistema de back-end) ao qual você quer se conectar.
- Tipo de destino: selecione um Tipo de destino.
- Para especificar o nome do host ou o endereço IP de destino, selecione Endereço do host e insira o endereço no campo Host 1.
- Para estabelecer uma conexão particular, selecione Anexo de endpoint e escolha o anexo necessário na lista Anexo de endpoint.
Para estabelecer uma conexão pública com os sistemas de back-end com mais segurança, considere configurar endereços IP de saída estáticos para suas conexões e configure as regras de firewall para autorizar apenas os endereços IP estáticos específicos.
Para inserir outros destinos, clique em +ADICIONAR DESTINO.
- Clique em PRÓXIMA.
- Tipo de destino: selecione um Tipo de destino.
-
Na seção Autenticação, insira os detalhes da autenticação.
- Selecione um Tipo de autenticação e insira os detalhes relevantes.
Os seguintes tipos de autenticação são compatíveis com a conexão do Cloud SQL para SQL Server:
- Nome de usuário e senha
- Clique em PRÓXIMA.
Para entender como configurar esses tipos de autenticação, consulte Configurar autenticação.
- Selecione um Tipo de autenticação e insira os detalhes relevantes.
- Revisão: revise os detalhes de conexão e autenticação.
- Clique em Criar.
Configurar a autenticação
Digite os detalhes com base na autenticação que você quer usar.
-
Nome de usuário e senha
- Nome de usuário: o nome de usuário do servidor SQL a ser usado para a conexão.
- Senha: o Secret do Secret Manager que contém a senha associada ao nome de usuário do servidor SQL.
Exemplos de configuração de conexão
Tipo de conexão de autenticação básica
| Nome do campo | Detalhes |
|---|---|
| Local | us-central1 |
| Conector | CloudSQL SQL Server |
| Versão do conector | 1 |
| Nome da conexão | cloudsql-server-private |
| Ativar Cloud Logging | Sim |
| Conta de serviço | SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com |
| ID do projeto | connectors-prod-test |
| Região do banco de dados | us-central1 |
| ID da instância | google-cloud-bcone-sql-instance1 |
| Nome do banco de dados | sqlcloudprivate_DB |
| Número mínimo de nós | 2 |
| Número máximo de nós | 2 |
| Tipo de destino | Endereço do host |
| host | HOST |
| porta | PORT |
| Nome de usuário | NOME DE USUÁRIO |
| Senha | SENHA |
| Versão do secret | 1 |
Limitações do sistema
O conector do Cloud SQL para SQL Server pode processar um máximo de 30 transações por segundo, por nó, e limita qualquer transação além desse limite. Por padrão, o Integration Connectors aloca dois nós (para melhor disponibilidade) para uma conexão.
Para informações sobre os limites aplicáveis aos Integration Connectors, consulte Limites.
Usar a conexão do Cloud SQL para SQL Server em uma integração
Depois de criar a conexão, ela fica disponível na integração da Apigee e no Application Integration. É possível usar a conexão em uma integração pela tarefa de conectores.
- Para entender como criar e usar a tarefa "Conectores" na integração da Apigee, consulte Tarefa "Conectores".
- Para entender como criar e usar a tarefa "Conectores" na Application Integration, consulte Tarefa "Conectores".
Consulte também o tutorial Executar operações CRUD em um banco de dados MySQL, que mostra como criar uma conexão MySQL e usá-la em uma integração para realizar operações de leitura e gravação.
Tipos de dados compatíveis
Estes são os tipos de dados compatíveis com esse conector:
- BIGINT
- Binário
- BIT
- BOOLEANO
- CHAR
- DATE
- DECIMAL
- DOUBLE
- FLOAT
- INTEGER
- LONGN VARCHAR
- LONG VARCHAR
- NCHAR
- NUMERIC
- NVARCHAR
- REAL
- SMALL INT
- TIME
- TIMESTAMP
- TINY INT
- VARBINARY
- VARCHAR
Ações
Esta seção mostra as ações disponíveis neste conector.
Ação Employee_Procedure
Essa ação busca dados de um funcionário.
Parâmetros de entrada da ação Employee_Procedure
| Nome do parâmetro | Tipo de dados | Obrigatório | Descrição |
|---|---|---|---|
| ID | Int | Verdadeiro | O ID do funcionário. |
Para ver um exemplo de como configurar a ação Employee_Procedure,
consulte Exemplos de ações.
Exemplos de ações
Nesta seção, apresentamos exemplos de ações disponíveis nesse conector.
Exemplo: buscar dados de um funcionário
- Na caixa de diálogo
Configure connector task, clique emActions. - Selecione a ação
Employee_Proceduree clique em Concluído. - Na seção Entrada da tarefa da tarefa Connectors, clique em
connectorInputPayloade insira um valor semelhante ao seguinte no campoDefault Value:{ "ID": 3 }
Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector
terá um valor semelhante a este:
[{
"ID": 3,
"Name": "Charlie",
"City": "Paris",
"SALARY": 6500.0,
"Department": "IT"
}]
Exemplos de operações de entidade
Nesta seção, apresentamos exemplos de operações de entidade disponíveis neste conector.
Exemplo: liste todas as pessoas
- Na caixa de diálogo
Configure connector task, clique emEntities. - Selecione
Personsna listaEntity. - Selecione a operação
Liste clique em Concluído. - Na seção Entrada de tarefa da tarefa Conectores, é possível definir a filterClause para atender às suas necessidades de filtragem.
Use aspas simples (') para incluir o valor de uma filterClause. Use a filterClause para filtrar registros com base nas colunas.
Exemplo: receber detalhes de uma pessoa
- Na caixa de diálogo
Configure connector task, clique emEntities. - Selecione
Personsna listaEntity. - Selecione a operação
Gete clique em Concluído. - Na seção Entrada da tarefa da tarefa Conectores, clique em entityId e insira
1no campo Valor padrão. Esse ID especifica o registro a ser recuperado.
Exemplo: excluir uma pessoa
- Na caixa de diálogo
Configure connector task, clique emEntities. - Selecione
Personsna listaEntity. - Selecione a operação
Deletee clique em Concluído. - Na seção Entrada da tarefa da tarefa Conectores, clique em entityId e insira
9no campo Valor padrão. Esse ID especifica o registro a ser excluído.
Exemplo: criar uma pessoa
- Na caixa de diálogo
Configure connector task, clique emEntities. - Selecione
Personsna listaEntity. - Selecione a operação
Createe clique em Concluído. - Na seção Entrada da tarefa da tarefa Connectors, clique em
connectorInputPayloade insira um valor semelhante ao seguinte no campoDefault Value:{ "LastName": "Charlie", "FirstName": "Cruz", "Address": "123 Main Street", "City": "Paris" }Se a integração for bem-sucedida, o parâmetro de resposta
connectorOutputPayloadda tarefa do conector terá um valor semelhante a este:{ "PersonID": 100.0, "LastName": "Charlie", "FirstName": "Cruz", "Address": "123 Main Street", "City": "Paris" }
Exemplo: criar detalhes do funcionário
- Na caixa de diálogo
Configure connector task, clique emEntities. - Selecione
SQL_Performance_EmployeeDetailsna listaEntity. - Selecione a operação
Createe clique em Concluído. - Na seção Entrada da tarefa da tarefa Connectors, clique em
connectorInputPayloade insira um valor semelhante ao seguinte no campoDefault 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
connectorOutputPayloadda tarefa do conector terá um valor semelhante a este:{ "ID": 9.0, "FirstName": "Alex", "LastName": "Ariel", "City": "Paris", "Salary": 4000.0 }
Exemplo: criar um funcionário
- Na caixa de diálogo
Configure connector task, clique emEntities. - Selecione
Employeena listaEntity. - Selecione a operação
Createe clique em Concluído. - Na seção Entrada da tarefa da tarefa Connectors, clique em
connectorInputPayloade insira um valor semelhante ao seguinte no campoDefault Value:{ "NAME": "Dana", "AGE": 30, "City": "Lisbon", "SALARY": 10000.0 }Se a integração for bem-sucedida, o parâmetro de resposta
connectorOutputPayloadda tarefa do conector terá um valor semelhante a este:{ "ID": 88.0, "NAME": "Dana", "AGE": 30, "City": "Lisbon", "SALARY": 10000.0 }
Exemplo: atualizar detalhes de uma pessoa
- Na caixa de diálogo
Configure connector task, clique emEntities. - Selecione
Personsna listaEntity. - Selecione a operação
Updatee clique em Concluído. - Na seção Entrada da tarefa da tarefa Connectors, clique em
connectorInputPayloade insira um valor semelhante ao seguinte no campoDefault Value:{ "LastName": "Charlie", "FirstName": "Cruz", "Address": "8 Rue du Nom Fictif", "City": "Paris" }Na seção Entrada da tarefa da tarefa Conectores, clique em entityId e insira
10 no campo Valor padrão. Esse ID especifica o registro a ser atualizado.
Em vez de especificar o entityId, você 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 terá um valor semelhante a este:
{
"LastName": "Charlie",
"FirstName": "Cruz",
"Address": "8 Rue du Nom Fictif",
"City": "Paris"
}
Exemplo: atualizar detalhes do funcionário
- Na caixa de diálogo
Configure connector task, clique emEntities. - Selecione
SQL_Performance_EmployeeDetailsna listaEntity. - Selecione a operação
Updatee clique em Concluído. - Na seção Entrada da tarefa da tarefa Connectors, clique em
connectorInputPayloade insira um valor semelhante ao seguinte no campoDefault Value:{ "Age": 30 }Na seção Entrada da tarefa da tarefa Conectores, clique em entityId e insira
5 no campo Valor padrão. Esse ID especifica o registro a ser atualizado.
Em vez de especificar o entityId, você 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 terá um valor semelhante a este:
{
"Age": 30
}
Exemplo: atualizar um funcionário
- Na caixa de diálogo
Configure connector task, clique emEntities. - Selecione
Employeena listaEntity. - Selecione a operação
Updatee clique em Concluído. - Na seção Entrada da tarefa da tarefa Connectors, clique em
connectorInputPayloade insira um valor semelhante ao seguinte no campoDefault Value:{ "AGE": 41, "City": "Paris", "SALARY": 10000.0 } - Na seção Entrada da tarefa da tarefa Conectores, clique em entityId e insira
2no campo Valor padrão. Esse ID especifica o registro a ser atualizado.Em vez de especificar o entityId, você também pode definir a filterClause como
'2'.Se a integração for bem-sucedida, o parâmetro de resposta
connectorOutputPayloadda tarefa do conector terá um valor semelhante a este:{ "AGE": 41, "City": "Paris", "SALARY": 10000.0 }
Criar conexões usando o Terraform
Use o recurso do Terraform para criar uma conexão.
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
Para conferir um modelo do Terraform de exemplo para criação de conexão, consulte modelo de exemplo.
Ao criar essa conexão usando o Terraform, defina as seguintes variáveis no arquivo de configuração do Terraform:
| Nome do parâmetro | Tipo de dados | Obrigatório | 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 do banco de dados. Isso não inclui o ID do projeto, por exemplo, myinstance. |
| database_name | STRING | Verdadeiro | Nome do banco de dados na instância. Por exemplo, "mydatabase". |
Receber ajuda da comunidade do Google Cloud
Poste suas dúvidas e converse sobre esse conector na comunidade do Google Cloud em Fóruns do Cloud.A seguir
- Entenda como suspender e retomar uma conexão.
- Entenda como monitorar o uso do conector.
- Saiba como ver os registros do conector.