Nesta página, você vê informações sobre como criar, listar e excluir os bancos de dados do SQL Server em uma instância do Cloud SQL.
Uma instância recém-criada tem um banco de dados sqlserver.
Para informações sobre como definir um valor padrão para o tipo de compilação usado para os bancos de dados em uma instância, consulte Como criar instâncias.
Antes de começar
Antes de concluir as tarefas nesta página, é necessário fazer o seguinte:
- Criou uma instância do Cloud SQL. Para saber mais, consulte o artigo Criar instâncias.
Se planeja usar o cliente sqlcmd para criar ou gerenciar os bancos de dados, é necessário que você tenha:
- Acesso configurado e conectado à instância com um cliente
sqlcmd.
Para criar um banco de dados na instância do Cloud SQL:
Console
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Selecione Banco de dados no menu de navegação do SQL.
- Clique em Create database.
- Na caixa de diálogo Novo banco de dados, especifique o nome do banco de dados.
- Clique em Criar.
gcloud
Para informações de referência, consulte gcloud
sql databases create.
Para mais informações sobre ordenações no SQL Server, consulte Suporte a ordenações e Unicode na documentação do SQL Server.
gcloud sql databases create DATABASE_NAME \ --instance=INSTANCE_NAME \ [--charset=CHARSET] \ [--collation=COLLATION]
Terraform
Para criar um banco de dados, use um recurso do Terraform.
Aplique as alterações
Para aplicar a configuração do Terraform em um projeto Google Cloud , siga as etapas nas seções a seguir.
Preparar o Cloud Shell
- Inicie o Cloud Shell.
-
Defina o projeto Google Cloud padrão em que você quer aplicar as configurações do Terraform.
Você só precisa executar esse comando uma vez por projeto, e ele pode ser executado em qualquer diretório.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
As variáveis de ambiente serão substituídas se você definir valores explícitos no arquivo de configuração do Terraform.
Preparar o diretório
Cada arquivo de configuração do Terraform precisa ter o próprio diretório, também chamado de módulo raiz.
-
No Cloud Shell, crie um diretório e um novo
arquivo dentro dele. O nome do arquivo precisa ter a extensão
.tf, por exemplo,main.tf. Neste tutorial, o arquivo é chamado demain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
Se você estiver seguindo um tutorial, poderá copiar o exemplo de código em cada seção ou etapa.
Copie o exemplo de código no
main.tfrecém-criado.Se preferir, copie o código do GitHub. Isso é recomendado quando o snippet do Terraform faz parte de uma solução de ponta a ponta.
- Revise e modifique os parâmetros de amostra para aplicar ao seu ambiente.
- Salve as alterações.
-
Inicialize o Terraform. Você só precisa fazer isso uma vez por diretório.
terraform init
Opcionalmente, para usar a versão mais recente do provedor do Google, inclua a opção
-upgrade:terraform init -upgrade
Aplique as alterações
-
Revise a configuração e verifique se os recursos que o Terraform vai criar ou
atualizar correspondem às suas expectativas:
terraform plan
Faça as correções necessárias na configuração.
-
Para aplicar a configuração do Terraform, execute o comando a seguir e digite
yesno prompt:terraform apply
Aguarde até que o Terraform exiba a mensagem "Apply complete!".
- Abra seu Google Cloud projeto para conferir os resultados. No console do Google Cloud , navegue até seus recursos na interface para verificar se foram criados ou atualizados pelo Terraform.
Excluir as alterações
Para excluir as mudanças, faça o seguinte:
- Para desativar a proteção contra exclusão, no arquivo de configuração do Terraform, defina o argumento
deletion_protectioncomofalse.deletion_protection = "false"
- Para aplicar a configuração atualizada do Terraform, execute o comando a seguir e digite
yesno prompt:terraform apply
-
Remova os recursos aplicados anteriormente com a configuração do Terraform executando o seguinte comando e inserindo
yesno prompt:terraform destroy
REST v1
A solicitação a seguir usa o método databases:insert para criar um novo banco de dados na instância especificada.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- database-name: o nome de um banco de dados dentro da instância do Cloud SQL
Método HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases
Corpo JSON da solicitação:
{
"project": "project-id",
"instance": "instance-id",
"name": "database-name"
}
Para enviar a solicitação, expanda uma destas opções:
Você vai receber uma resposta JSON semelhante a esta:
REST v1beta4
A solicitação a seguir usa o método databases:insert para criar um novo banco de dados na instância especificada.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- database-name: o nome de um banco de dados dentro da instância do Cloud SQL
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases
Corpo JSON da solicitação:
{
"project": "project-id",
"instance": "instance-id",
"name": "database-name"
}
Para enviar a solicitação, expanda uma destas opções:
Você vai receber uma resposta JSON semelhante a esta:
Listar seus bancos de dados
Para listar todos os bancos de dados em uma instância:
Console
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Clique em Bancos de dados no menu à esquerda. A página Bancos de dados listará os bancos de dados com o tipo de compilação, o conjunto de caracteres e o tipo de banco de dados.
gcloud
Para informações de referência, consulte gcloud
sql databases list.
gcloud sql databases list \ --instance=INSTANCE_NAME
REST v1
A solicitação a seguir usa o método databases:list para listar os bancos de dados em uma instância.
Ao listar os bancos de dados usando a API, você verá os outros bancos de dados de modelo e um banco de dados de sistema que não aparecem no console. Não é possível excluir nem gerenciar o banco de dados do sistema.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
A solicitação a seguir usa o método databases:list para listar os bancos de dados em uma instância.
Ao listar os bancos de dados usando a API, você verá os outros bancos de dados de modelo e um banco de dados de sistema que não aparecem no console. Não é possível excluir nem gerenciar o banco de dados do sistema.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Mudar o proprietário de um banco de dados
Se você quiser descartar o login de usuário associado a um proprietário de banco de dados que não está mais ativo, primeiro atribua um novo proprietário.
Para adicionar um novo proprietário do banco de dados, faça o seguinte:
gcloud
- Conecte-se ao banco de dados e crie duas contas de demonstração:
create login TEST_LOGIN with password='TEST_PASSWORD' create login REPORT_USER with password='REPORT_USER_PASSWORD' GRANT CREATE ANY DATABASE TO TEST_LOGIN AS [CustomerDbRootRole]
Faça as seguintes substituições:
- TEST_LOGIN: o nome da conta de teste, como
test-login. - TEST_PASSWORD: a senha da conta de teste.
- REPORT_USER: o nome de uma segunda conta de usuário, como
report-user. Essa conta se torna a nova proprietária do banco de dados. - REPORT_USER_PASSWORD: a senha da segunda conta de usuário.
- TEST_LOGIN: o nome da conta de teste, como
- Conecte-se ao banco de dados usando a conta de teste que você acabou de criar. Em seguida, crie um banco de dados de teste usando o seguinte comando:
CREATE DATABASE TEST_DB
Faça as seguintes substituições:
- TEST_DB: o nome do banco de dados de teste que você quer criar, como
test-database. - TEST_LOGIN: o nome da conta de teste, como
test-login.
O proprietário do banco de dados é definido automaticamente como a conta de teste.
- TEST_DB: o nome do banco de dados de teste que você quer criar, como
- Conecte-se ao banco de dados usando o login do SQL Server. Em seguida, execute o comando a seguir para tentar descartar o login
TEST_LOGIN:drop login TEST_LOGIN
Substitua TEST_LOGIN pelo nome da conta de teste, como
test-login.A operação falha e o seguinte erro é retornado:
- Conecte-se ao banco de dados
TEST_DBcomo a contaREPORT_USERe conceda a ela permissões para corresponder ao proprietário atual.GRANT IMPERSONATE on LOGIN::REPORT_USER to TEST_LOGIN
- Conecte-se ao banco de dados como a conta de teste. Em seguida, execute o comando a seguir para autorizar a segunda conta como proprietária do banco de dados:
ALTER AUTHORIZATION ON DATABASE::TEST_DB TO REPORT_USER
- Conecte-se ao banco de dados como
REPORT_USERe remova todas as permissões concedidas.REVOKE IMPERSONATE on LOGIN::REPORT_USER to TEST_LOGIN
- Conecte-se ao banco de dados como a conta do SQL Server. Em seguida, execute o comando a seguir para descartar o login
TEST_LOGIN: Quando terminar, a seguinte mensagem será retornada:DROP LOGIN TEST_LOGIN
DROP LOGIN for TEST_LOGIN by sqlserver(sqlserver) is successful.
Excluir um banco de dados
Para excluir um banco de dados da instância do Cloud SQL:
Console
-
No console Google Cloud , acesse a página Instâncias do Cloud SQL.
- Para abrir a página Visão geral de uma instância, clique no nome da instância.
- Clique em Bancos de dados no menu à esquerda.
- Na lista de bancos de dados, encontre o banco de dados que você quer excluir e clique no ícone da lixeira.
- Na caixa de diálogo Excluir banco de dados, insira o nome do banco de dados e clique em Excluir.
gcloud
Para informações de referência, consulte gcloud
sql databases delete.
gcloud sql databases delete DATABASE_NAME \ --instance=INSTANCE_NAME
REST v1
A solicitação a seguir usa o método databases:delete para excluir o banco de dados especificado.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- database-name: o nome de um banco de dados dentro da instância do Cloud SQL
Método HTTP e URL:
DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases/database-name
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
REST v1beta4
A solicitação a seguir usa o método databases:delete para excluir o banco de dados especificado.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- project-id: o ID do projeto
- instance-id: o ID da instância
- database-name: o nome de um banco de dados dentro da instância do Cloud SQL
Método HTTP e URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases/database-name
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
A seguir
- Gerenciar usuários na instância.
- Importar dados para a instância.
- Criar tabelas (mecanismo de banco de dados).
Faça um teste
Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho do Cloud SWL em situações reais. Clientes novos recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
Faça uma avaliação gratuita do Cloud SQL