Crie e faça a gestão de bases de dados

Esta página contém informações sobre a criação, a listagem e a eliminação de bases de dados do SQL Server numa instância do Cloud SQL.

Uma instância recém-criada tem uma base de dados sqlserver.

Para mais informações sobre a criação de bases de dados do SQL Server e tópicos relacionados, consulte a documentação do SQL Server.

Para obter informações sobre como definir um valor predefinido para o tipo de colação usado para as bases de dados numa instância, consulte o artigo Criar instâncias.

Antes de começar

Antes de concluir as tarefas nesta página, tem de ter:

  • Criou uma instância do Cloud SQL. Para mais informações, consulte Criar instâncias.

Se planeia usar o cliente sqlcmd para criar ou gerir as suas bases de dados, tem de ter:

  • Acesso configurado e ligação à instância com um cliente sqlcmd.

Crie uma base de dados na instância do Cloud SQL

Consola

  1. Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.

    Aceda a Instâncias do Cloud SQL

  2. Para abrir a página Vista geral de uma instância, clique no nome da instância.
  3. Selecione Bases de dados no menu de navegação SQL.
  4. Clique em Criar base de dados.
  5. Na caixa de diálogo Nova base de dados, especifique o nome da base de dados.
  6. Clique em Criar.

gcloud

Para informações de referência, consulte gcloud sql databases create.

Para obter informações sobre as regras de ordenação no SQL Server, consulte o artigo Regras de ordenação e apoio técnico do Unicode na documentação do SQL Server.

gcloud sql databases create DATABASE_NAME \
--instance=INSTANCE_NAME \
[--charset=CHARSET] \
[--collation=COLLATION]

Terraform

Para criar uma base de dados, use um recurso do Terraform.

resource "google_sql_database" "database" {
  name     = "my-database"
  instance = google_sql_database_instance.instance.name
}

Aplique as alterações

Para aplicar a configuração do Terraform num Google Cloud projeto, conclua os passos nas secções seguintes.

Prepare o Cloud Shell

  1. Inicie o Cloud Shell.
  2. Defina o Google Cloud projeto predefinido onde quer aplicar as suas configurações do Terraform.

    Só tem de executar este comando uma vez por projeto e pode executá-lo em qualquer diretório.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    As variáveis de ambiente são substituídas se definir valores explícitos no ficheiro de configuração do Terraform.

Prepare o diretório

Cada ficheiro de configuração do Terraform tem de ter o seu próprio diretório (também denominado módulo raiz).

  1. No Cloud Shell, crie um diretório e um novo ficheiro nesse diretório. O nome do ficheiro tem de ter a extensão .tf, por exemplo, main.tf. Neste tutorial, o ficheiro é denominado main.tf.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Se estiver a seguir um tutorial, pode copiar o código de exemplo em cada secção ou passo.

    Copie o exemplo de código para o main.tf criado recentemente.

    Opcionalmente, copie o código do GitHub. Isto é recomendado quando o fragmento do Terraform faz parte de uma solução completa.

  3. Reveja e modifique os parâmetros de exemplo para aplicar ao seu ambiente.
  4. Guarde as alterações.
  5. Inicialize o Terraform. Só tem de fazer isto uma vez por diretório.
    terraform init

    Opcionalmente, para usar a versão mais recente do fornecedor Google, inclua a opção -upgrade:

    terraform init -upgrade

Aplique as alterações

  1. Reveja a configuração e verifique se os recursos que o Terraform vai criar ou atualizar correspondem às suas expetativas:
    terraform plan

    Faça correções à configuração conforme necessário.

  2. Aplique a configuração do Terraform executando o seguinte comando e introduzindo yes no comando:
    terraform apply

    Aguarde até que o Terraform apresente a mensagem "Apply complete!" (Aplicação concluída!).

  3. Abra o seu Google Cloud projeto para ver os resultados. Na Google Cloud consola, navegue para os seus recursos na IU para se certificar de que o Terraform os criou ou atualizou.

Eliminar as alterações

Para eliminar as alterações, faça o seguinte:

  1. Para desativar a proteção contra eliminação, no ficheiro de configuração do Terraform, defina o argumento deletion_protection como false.
    deletion_protection =  "false"
  2. Aplique a configuração do Terraform atualizada executando o seguinte comando e introduzindo yes no comando:
    terraform apply
  1. Remova os recursos aplicados anteriormente com a sua configuração do Terraform executando o seguinte comando e introduzindo yes no comando:

    terraform destroy

REST v1

O pedido seguinte usa o método databases:insert para criar uma nova base de dados na instância especificada.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • project-id: o ID do projeto
  • instance-id: o ID da instância
  • database-name: o nome de uma base de dados na 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 do pedido:

{
  "project": "project-id",
  "instance": "instance-id",
  "name": "database-name"
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

O pedido seguinte usa o método databases:insert para criar uma nova base de dados na instância especificada.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • project-id: o ID do projeto
  • instance-id: o ID da instância
  • database-name: o nome de uma base de dados na 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 do pedido:

{
  "project": "project-id",
  "instance": "instance-id",
  "name": "database-name"
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Apresente uma lista das suas bases de dados

Para listar todas as bases de dados numa instância:

Consola

  1. Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.

    Aceda a Instâncias do Cloud SQL

  2. Para abrir a página Vista geral de uma instância, clique no nome da instância.
  3. Clique em Bases de dados no menu do lado esquerdo. A página Bases de dados apresenta uma lista das bases de dados, juntamente com o respetivo tipo de intercalação, conjunto de carateres e tipo de base de dados.

gcloud

Para informações de referência, consulte gcloud sql databases list.

gcloud sql databases list \
--instance=INSTANCE_NAME

REST v1

O pedido seguinte usa o método databases:list para listar as bases de dados de uma instância.

Quando lista as bases de dados através da API, vê bases de dados de modelos adicionais e uma base de dados do sistema que não são apresentadas pela consola. Não pode eliminar nem gerir a base de dados do sistema.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • 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 o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

O pedido seguinte usa o método databases:list para listar as bases de dados de uma instância.

Quando lista as bases de dados através da API, vê bases de dados de modelos adicionais e uma base de dados do sistema que não são apresentadas pela consola. Não pode eliminar nem gerir a base de dados do sistema.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • 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 o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

Altere o proprietário de uma base de dados

Se quiser eliminar o início de sessão do utilizador associado a um proprietário da base de dados que já não esteja ativo, tem de atribuir primeiro um novo proprietário da base de dados.

Para adicionar um novo proprietário da base de dados, conclua o seguinte:

gcloud

  1. Associe à sua base 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 palavra-passe da conta de teste.
    • REPORT_USER: o nome de uma segunda conta de utilizador, como report-user. Esta conta torna-se o novo proprietário da base de dados.
    • REPORT_USER_PASSWORD: a palavra-passe da segunda conta de utilizador.
  2. Associe à sua base de dados através da conta de teste que acabou de criar. Em seguida, crie uma base de dados de teste com o seguinte comando:
        CREATE DATABASE TEST_DB
        

    Faça as seguintes substituições:

    • TEST_DB: o nome da base de dados de teste que quer criar, como test-database
    • TEST_LOGIN: o nome da conta de teste, como test-login.

    O proprietário da base de dados é automaticamente definido para a conta de teste.

  3. Estabeleça ligação à base de dados através do início de sessão do SQL Server. Em seguida, execute o seguinte comando para tentar anular o início de sessão TEST_LOGIN:
          drop login TEST_LOGIN
          

    Substitua TEST_LOGIN pelo nome da conta de teste, como test-login.

    A operação falha e é devolvido o seguinte erro:

            Login TEST_LOGIN owns one or more database(s). Change
            the owner of the database(s) before dropping the login.
            
  4. Associe-se à base de dados TEST_DB como a conta REPORT_USER e conceda as autorizações da conta para corresponder ao proprietário existente.
          GRANT IMPERSONATE on LOGIN::REPORT_USER to TEST_LOGIN
          
  5. Associe-se à base de dados como conta de teste. Em seguida, execute o seguinte comando para autorizar a segunda conta como proprietário da base de dados:
          ALTER AUTHORIZATION ON DATABASE::TEST_DB TO REPORT_USER
          
  6. Associe à base de dados como REPORT_USER e remova todas as autorizações concedidas.
          REVOKE IMPERSONATE on LOGIN::REPORT_USER to TEST_LOGIN
          
  7. Estabeleça ligação à base de dados como a conta do SQL Server. Em seguida, execute o seguinte comando para eliminar o início de sessão do TEST_LOGIN:
          DROP LOGIN TEST_LOGIN
          
    Quando terminar, é devolvida a seguinte mensagem:
          DROP LOGIN for TEST_LOGIN by sqlserver(sqlserver) is successful.
          

Elimine uma base de dados

Para eliminar uma base de dados na instância do Cloud SQL:

Consola

  1. Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.

    Aceda a Instâncias do Cloud SQL

  2. Para abrir a página Vista geral de uma instância, clique no nome da instância.
  3. Clique em Bases de dados no menu do lado esquerdo.
  4. Na lista de bases de dados, encontre a base de dados que quer eliminar e clique no ícone de lixo.
  5. Na caixa de diálogo Eliminar base de dados, introduza o nome da base de dados e, de seguida, clique em Eliminar.

gcloud

Para informações de referência, consulte gcloud sql databases delete.

gcloud sql databases delete DATABASE_NAME \
--instance=INSTANCE_NAME

REST v1

O pedido seguinte usa o método databases:delete para eliminar a base de dados especificada.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • project-id: o ID do projeto
  • instance-id: o ID da instância
  • database-name: o nome de uma base de dados na 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 o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

REST v1beta4

A seguinte solicitação usa o método databases:delete para eliminar a base de dados especificada.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • project-id: o ID do projeto
  • instance-id: o ID da instância
  • database-name: o nome de uma base de dados na 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 o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

O que se segue?

Experimente

Se está a usar o Google Cloud pela primeira vez, crie uma conta para avaliar o desempenho do Cloud SQL em cenários reais. Os novos clientes também recebem 300 USD em créditos gratuitos para executar, testar e implementar cargas de trabalho.

Experimente o Cloud SQL gratuitamente