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:
- A função de administrador do Cloud SQL
- Uma função personalizada , incluindo as seguintes permissões:
-
cloudsql.instances.get
-
cloudsql.instances.import
-
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
No Google Cloud console, 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 Importar .
- 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
). - Para Formato , selecione SQL .
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.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.
- Clique em Importar para iniciar a importação.
gcloud
- Crie um bucket do Cloud Storage.
Carregue o arquivo no seu bucket.
Para obter ajuda com o upload de arquivos para buckets, consulte Upload de objetos .
- Descreva a instância para a qual você está importando:
gcloud sql instances describe INSTANCE_NAME
- Copie o campo
serviceAccountEmailAddress
. - Use
gcloud storage buckets add-iam-policy-binding
para conceder a funçãostorage.objectAdmin
do IAM à conta de serviço do bucket. Para obter ajuda na definição de permissões do IAM, consulte Usar permissões do IAM .gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:SERVICE-ACCOUNT \ --role=roles/storage.objectAdmin
- 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 comandosql 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. - 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
- Crie um bucket do Cloud Storage.
Carregue o arquivo no seu bucket.
Para obter ajuda com o upload de arquivos para buckets, consulte Upload de objetos .
- Forneça à sua instância as funções do IAM
legacyBucketWriter
eobjectViewer
para o seu bucket. Para obter ajuda na definição de permissões do IAM, consulte Usando permissões do IAM . - 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 . - Se você não precisar manter as permissões do IAM definidas anteriormente, remova-as agora.
REST v1beta4
- Crie um bucket do Cloud Storage.
Carregue o arquivo no seu bucket.
Para obter ajuda com o upload de arquivos para buckets, consulte Upload de objetos .
- 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" . - 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 . - Se você não precisar manter as permissões do IAM definidas anteriormente, remova-as agora.
O que vem a seguir
- Aprenda como consultar o status das operações de importação e exportação .
- Saiba mais sobre as melhores práticas para importar e exportar dados .
- Saiba mais sobre o armazenamento em nuvem .
- Problemas conhecidos para importações e exportações .