Como importar dados para o Cloud SQL

Como importar dados de arquivos BAK para o Cloud SQL

Se a versão da instância for um Microsoft SQL Server Enterprise Edition, será possível importar arquivos BAK criptografados.

Antes de começar

  • Para as instruções abaixo, prepare-se para especificar um novo banco de dados. Não crie um banco de dados antes de iniciar a importação do arquivo BAK.
  • Para este procedimento, é necessário importar um arquivo do Cloud Storage. Para importar dados do Cloud Storage, a conta de serviço da instância do Cloud SQL ou o usuário precisa ter o papel do IAM Storage Object Admin (storage.objectAdmin) definido. Para receber ajuda com os papéis do IAM, consulte Cloud Identity and Access Management para o Cloud Storage.

    É possível encontrar o nome da conta de serviço da instância na página Visão geral da instância no Console do Google Cloud. É possível verificar os papéis do bucket do Cloud Storage usando a ferramenta gsutil:

    gsutil iam get gs://[BUCKET_NAME]

    Saiba mais sobre como usar o IAM com buckets.

Como importar dados de um arquivo BAK no Cloud Storage

Para importar dados para uma instância do Cloud SQL usando um arquivo BAK:

Console

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.

    Acessar a página "Instâncias" do Cloud SQL

  2. Selecione a instância para abrir a página Visão geral correspondente.
  3. Clique em Importar na barra de botões.
  4. Em Escolha o arquivo do qual você quer importar dados, insira o caminho para o bucket e o arquivo BAK para a importação. Ou acesse o arquivo:
    1. Clique em Pesquisar.
    2. Em Local, clique duas vezes no nome do bucket na lista.
    3. Selecione o arquivo na lista.
    4. Clique em Selecionar.

    É possível importar um arquivo compactado (.gz) ou descompactado.

  5. Em Formato, selecione BAK.
  6. Especifique o Banco de dados na instância do Cloud SQL em que você quer importar o arquivo BAK.
  7. Clique em Importar para iniciar a importação.

gcloud

  1. Crie um bucket para a importação:

    gsutil mb -p [PROJECT_NAME] -l [LOCATION_NAME] gs://[BUCKET_NAME]
    

    Essa etapa não é obrigatória, mas altamente recomendada para que você não abra acesso a outros dados.

  2. Para este procedimento, é necessário importar um arquivo do Cloud Storage. Para importar dados do Cloud Storage, a conta de serviço da instância do Cloud SQL ou o usuário precisa ter o papel do IAM Storage Object Admin (storage.objectAdmin) definido. Para receber ajuda com os papéis do IAM, consulte Cloud Identity and Access Management para o Cloud Storage.

    É possível encontrar o nome da conta de serviço da instância na página Visão geral da instância no Console do Google Cloud. É possível verificar os papéis do bucket do Cloud Storage usando a ferramenta gsutil:

    gsutil iam get gs://[BUCKET_NAME]

    Saiba mais sobre como usar o IAM com buckets.

  3. Faça upload dos dados do arquivo BAK para o bucket.
  4. Descreva a instância usada para exportar:
    gcloud sql instances describe [INSTANCE_NAME]
    
  5. Copie o campo serviceAccountEmailAddress.
  6. Use gsutil iam para conceder o papel do IAM storage.objectViewer à conta de serviço do bucket. Para receber ajuda com a configuração de permissões do IAM, consulte Como usar as permissões do Cloud IAM.
  7. Importe os dados do arquivo:
    gcloud beta sql import bak [INSTANCE_NAME] gs://[BUCKET_NAME]/[FILE_NAME] \
                                --database=[DATABASE_NAME]
    
  8. Se não for necessário manter as permissões do IAM definidas anteriormente, remova-as usando gsutil iam.

REST v1beta4

  1. Crie um bucket do Cloud Storage, caso ainda não tenha feito isso.

    Se precisar de ajuda para criar um bucket, consulte Como criar buckets do Storage.

  2. Faça upload do arquivo no seu bucket.

    Para receber ajuda com o upload de arquivos para buckets, consulte Como fazer upload de objetos.

  3. Forneça à instância o papel do IAM storage.objectAdmin no seu bucket. Para ajuda com a configuração de permissões do IAM, consulte Como usar as permissões do Cloud IAM.
  4. Importe os dados do arquivo:

    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
    • bucket_name: o nome do bucket do Cloud Storage
    • path_to_bak_file: o caminho para o arquivo BAK
    • database_name: o nome de um banco de dados dentro da instância do Cloud SQL

    Método HTTP e URL:

    POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/import

    Corpo JSON da solicitação:

    {
     "importContext":
       {
          "fileType": "BAK",
          "uri": "gs://bucket_name/path_to_bak_file",
          "database": "database_name"
        }
    }
    
    

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

    Para usar um usuário diferente na importação, especifique a propriedade importContext.importUser.

    Para ver a lista completa de parâmetros dessa solicitação, consulte a página instances:import.
  5. Se você não precisar manter as permissões do Cloud IAM definidas anteriormente, remova-as.

Se você receber um erro como ERROR_RDBMS, verifique se a tabela existe. Se a tabela existir, confirme se você tem as permissões corretas no bucket. Para receber ajuda para configurar o controle de acesso no Cloud Storage, consulte Criar e gerenciar listas de controle de acesso.

Para ver como a solicitação da API REST subjacente é criada nesta tarefa, consulte APIs Explorer na página instances:import.

Como importar dados de arquivos SQL para o Cloud SQL

Os arquivos SQL são arquivos de texto simples com uma sequência de comandos SQL.

Antes de começar

  • Para as instruções abaixo, prepare-se para especificar um novo banco de dados. Não crie um banco de dados antes de iniciar a importação de seu arquivo SQL.
  • Para este procedimento, é necessário importar um arquivo do Cloud Storage. Para importar dados do Cloud Storage, a conta de serviço da instância do Cloud SQL ou o usuário precisa ter o papel do IAM Storage Object Admin (storage.objectAdmin) definido. Para receber ajuda com os papéis do IAM, consulte Cloud Identity and Access Management para o Cloud Storage.

    É possível encontrar o nome da conta de serviço da instância na página Visão geral da instância no Console do Google Cloud. É possível verificar os papéis do bucket do Cloud Storage usando a ferramenta gsutil:

    gsutil iam get gs://[BUCKET_NAME]

    Saiba mais sobre como usar o IAM com buckets.

Como importar o arquivo SQL

Para importar dados para uma instância do Cloud SQL usando um arquivo SQL:

Console

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.

    Acessar a página "Instâncias" do Cloud SQL

  2. Selecione a instância para abrir a respectiva página "Detalhes da instância".
  3. Clique em Importar na barra de botões.
  4. Em Escolha o arquivo do qual você quer importar dados, insira o caminho para o bucket e o arquivo SQL para a importação. Ou acesse o arquivo:
    1. Clique em Pesquisar.
    2. Em Local, clique duas vezes no nome do bucket na lista.
    3. Selecione o arquivo na lista.
    4. Clique em Selecionar.

    É possível importar um arquivo compactado (.gz) ou descompactado.

  5. Em Formato, selecione SQL.
  6. Especifique o banco de dados na instância do Cloud SQL em que você quer importar o arquivo SQL.
  7. Clique em Importar para iniciar a importação.

gcloud

  1. Crie um bucket para a importação:

    gsutil mb -p [PROJECT_NAME] -l [LOCATION_NAME] gs://[BUCKET_NAME]
    

    Essa etapa não é obrigatória, mas altamente recomendada para que você não abra acesso a outros dados.

  2. Faça upload do arquivo SQL para o bucket.
  3. Descreva a instância usada para exportar:
    gcloud sql instances describe [INSTANCE_NAME]
    
  4. Copie o campo serviceAccountEmailAddress.
  5. Use gsutil iam para conceder o papel do IAM storage.objectAdmin à conta de serviço do bucket. Para receber ajuda com a configuração de permissões do IAM, consulte Como usar as permissões do Cloud IAM.
  6. Importe o arquivo:
    gcloud sql import sql [INSTANCE_NAME] gs://[BUCKET_NAME]/[FILE_NAME] \
                                --database=[DATABASE_NAME]
    
  7. Se não for necessário manter as permissões do IAM definidas anteriormente, remova-as usando gsutil iam.

REST v1beta4

  1. Crie um bucket do Cloud Storage, caso ainda não tenha feito isso.

    Se precisar de ajuda para criar um bucket, consulte Como criar buckets do Storage.

  2. Faça upload do arquivo no seu bucket.

    Para receber ajuda com o upload de arquivos para buckets, consulte Como fazer upload de objetos.

  3. Forneça à instância o papel do IAM storage.objectAdmin no seu bucket. Para ajuda com a configuração de permissões do IAM, consulte Como usar as permissões do Cloud IAM.
  4. Importe o arquivo:

    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
    • bucket_name: o nome do bucket do Cloud Storage
    • path_to_sql_file: o caminho para o arquivo SQL
    • database_name: o nome de um banco de dados dentro da instância do Cloud SQL

    Método HTTP e URL:

    POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/import

    Corpo JSON da solicitação:

    {
     "importContext":
       {
          "fileType": "SQL",
          "uri": "gs://bucket_name/path_to_sql_file",
          "database": "database_name"
        }
    }
    
    

    Para enviar a solicitação, expanda uma destas opções:

    Você receberá uma resposta JSON semelhante a esta:

    Para usar um usuário diferente na importação, especifique a propriedade importContext.importUser.

    Para ver a lista completa de parâmetros dessa solicitação, consulte a página instances:import.
  5. Se você não precisar manter as permissões do Cloud IAM definidas anteriormente, remova-as.

Se você receber um erro como ERROR_RDBMS, verifique se a tabela existe. Se a tabela existir, confirme se você tem as permissões corretas no bucket. Para mais informações sobre a configuração do controle de acesso no Cloud Storage, veja como Criar e gerenciar listas de controle de acesso.

Para ver como a solicitação da API REST subjacente é criada nesta tarefa, consulte APIs Explorer na página instances:import.

A seguir