Exportar e importar usando arquivos de despejo SQL,Exportar e importar usando arquivos de despejo SQL,Exportar e importar usando arquivos de despejo SQL,Exportar e importar usando arquivos de despejo SQL

Esta página descreve como exportar e importar dados para instâncias do Cloud SQL usando arquivos de despejo SQL.

A exportação do Cloud SQL para um arquivo de despejo SQL não é suportada pelo SQL Server.

Antes de começar

As exportações usam recursos do banco de dados, mas não interferem nas operações normais do banco de dados, a menos que a instância esteja subprovisionada.

Para obter práticas recomendadas, consulte Práticas recomendadas para importação e exportação de dados .

Após concluir uma operação de importação, verifique os resultados.

Exportar dados do Cloud SQL para SQL Server

A exportação do Cloud SQL para um arquivo de despejo SQL não é suportada pelo SQL Server.

Importar dados para o Cloud SQL para SQL Server

Funções e permissões necessárias para importar para o Cloud SQL para SQL Server

Para importar dados do Cloud Storage para o Cloud SQL, o usuário que inicia a importação deve ter uma das seguintes funções:

Além disso, a conta de serviço da instância do Cloud SQL deve ter uma das seguintes funções:

  • A função storage.objectAdmin do IAM
  • Uma função personalizada, incluindo as seguintes permissões:
    • storage.objects.get
    • storage.objects.list (somente para importação em faixas)

Para obter ajuda com funções do IAM, consulte Gerenciamento de Identidade e Acesso .

Importar um arquivo de despejo SQL para o Cloud SQL para SQL Server

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

No procedimento a seguir, prepare-se para especificar um banco de dados existente para importar seus arquivos SQL.

Console

  1. No Google Cloud console, acesse a página Instâncias do Cloud SQL .

    Acesse Instâncias do Cloud SQL

  2. Para abrir a página Visão geral de uma instância, clique no nome da instância.
  3. Clique em Importar .
  4. Na seção Escolha o arquivo do qual você gostaria de importar os dados , insira o caminho para o bucket e o arquivo de despejo SQL a serem usados ​​para a importação ou navegue até um arquivo existente.

    Você pode importar um arquivo compactado ( .gz ) ou descompactado ( .sql ).

  5. Para Formato , selecione SQL .
  6. Selecione o banco de dados para o qual deseja que os dados sejam importados.

    Isso faz com que o Cloud SQL execute a instrução USE DATABASE antes da importação.

  7. Se você quiser especificar um usuário para realizar a importação, selecione o usuário.

    Se o arquivo de importação contiver instruções que devem ser executadas por um usuário específico, use este campo para especificar esse usuário.

  8. Clique em Importar para iniciar a importação.

gcloud

  1. Crie um bucket do Cloud Storage.
  2. Carregue o arquivo no seu bucket.

    Para obter ajuda com o upload de arquivos para buckets, consulte Upload de objetos .

  3. Descreva a instância para a qual você está importando:
    gcloud sql instances describe INSTANCE_NAME
  4. Copie o campo serviceAccountEmailAddress .
  5. Use gcloud storage buckets add-iam-policy-binding para conceder a função storage.objectAdmin do IAM à conta de serviço do bucket.
    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
      --member=serviceAccount:SERVICE-ACCOUNT \
      --role=roles/storage.objectAdmin
      
    Para obter ajuda na definição de permissões do IAM, consulte Usar permissões do IAM .
  6. Importar o banco de dados:
    gcloud sql import sql INSTANCE_NAME gs://BUCKET_NAME/IMPORT_FILE_NAME \
    --database=DATABASE_NAME

    Para obter informações sobre como usar o comando import sql , consulte a página de referência do comando sql import sql .

    Se o comando retornar um erro como ERROR_RDBMS , revise as permissões; esse erro geralmente ocorre devido a problemas de permissões.

  7. Se você não precisar manter as permissões do IAM definidas anteriormente, remova-as usando gcloud storage buckets remove-iam-policy-binding .

REST v1

  1. Crie um bucket do Cloud Storage.
  2. Carregue o arquivo no seu bucket.

    Para obter ajuda com o upload de arquivos para buckets, consulte Upload de objetos .

  3. Forneça à sua instância as funções do IAM legacyBucketWriter e objectViewer para o seu bucket. Para obter ajuda na definição de permissões do IAM, consulte Usando permissões do IAM .
  4. Importe seu arquivo de despejo:

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

    • 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://sqladmin.googleapis.com/v1/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 sua solicitação, expanda uma destas opções:

    Você deve receber uma resposta JSON semelhante à seguinte:

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

REST v1beta4

  1. Crie um bucket do Cloud Storage.
  2. Carregue o arquivo no seu bucket.

    Para obter ajuda com o upload de arquivos para buckets, consulte Upload de objetos .

  3. Forneça à sua instância a função storage.objectAdmin do IAM para o seu bucket. Para obter ajuda na definição de permissões do IAM, consulte "Usando permissões do IAM" .
  4. Importe seu arquivo de despejo:

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

    • 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://sqladmin.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 sua solicitação, expanda uma destas opções:

    Você deve receber uma resposta JSON semelhante à seguinte:

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

O que vem a seguir