Esta página descreve a exportação e a importação de dados para instâncias do Cloud SQL através de ficheiros de despejo de SQL.
A exportação do Cloud SQL para um ficheiro de captura SQL não é suportada para o SQL Server.
Antes de começar
As exportações usam recursos da base de dados, mas não interferem com as operações normais da base de dados, a menos que a instância tenha um aprovisionamento insuficiente.
Para ver as práticas recomendadas, consulte o artigo Práticas recomendadas para importar e exportar dados.
Após concluir uma operação de importação, valide os resultados.
Exporte dados do Cloud SQL para SQL Server
A exportação do Cloud SQL para um ficheiro de despejo de SQL não é suportada para o SQL Server.Importe dados para o Cloud SQL para SQL Server
Funções e autorizações necessárias para a importação para o Cloud SQL para SQL Server
Para importar dados do Cloud Storage para o Cloud SQL, o utilizador que inicia a importação tem de ter uma das seguintes funções:
- A função Administrador do Cloud SQL
- Uma função personalizada,
incluindo as seguintes autorizações:
cloudsql.instances.get
cloudsql.instances.import
Além disso, a conta de serviço da instância do Cloud SQL tem de ter uma das seguintes funções:
- A função de IAM
storage.objectAdmin
- Uma função personalizada, incluindo as seguintes autorizações:
storage.objects.get
storage.objects.list
(apenas para importação com faixas)
Para obter ajuda com as funções de IAM, consulte o Identity and Access Management.
Importe um ficheiro de captura SQL para o Cloud SQL para SQL Server
Os ficheiros SQL são ficheiros de texto simples com uma sequência de comandos SQL.
No procedimento seguinte, prepare-se para especificar uma base de dados existente a partir da qual importar os seus ficheiros SQL.
Consola
-
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
- Para abrir a página Vista geral de uma instância, clique no nome da instância.
- Clique em Importar.
- Na secção Escolha o ficheiro a partir do qual quer importar dados, introduza o caminho
para o contentor e o ficheiro de despejo de SQL a usar para a importação, procure um ficheiro
existente ou carregue um ficheiro local.
Pode importar um ficheiro comprimido (
.gz
) ou não comprimido (.sql
). - Em Formato, selecione SQL.
Selecione a base de dados para a qual quer importar os dados.
Isto faz com que o Cloud SQL execute a declaração
USE DATABASE
antes da importação.Se quiser especificar um utilizador para realizar a importação, selecione o utilizador.
Se o seu ficheiro de importação contiver declarações que têm de ser realizadas por um utilizador específico, use este campo para especificar esse utilizador.
- Clique em Importar para iniciar a importação.
gcloud
- Crie um contentor do Cloud Storage.
Carregue o ficheiro para o seu contentor.
Para obter ajuda com o carregamento de ficheiros para contentores, consulte o artigo Carregar objetos.
- Descreva a instância para a qual está a importar:
gcloud sql instances describe INSTANCE_NAME
- Copie o campo
serviceAccountEmailAddress
. - Use
gcloud storage buckets add-iam-policy-binding
para conceder astorage.objectAdmin
função do IAM à conta de serviço do contentor. Para obter ajuda com a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:SERVICE-ACCOUNT \ --role=roles/storage.objectAdmin
- Importe a base de dados:
gcloud sql import sql INSTANCE_NAME gs://BUCKET_NAME/IMPORT_FILE_NAME \ --database=DATABASE_NAME
Para obter informações sobre a utilização do comando
import sql
, consulte a página de referência do comandosql import sql
.Se o comando devolver um erro como
ERROR_RDBMS
, reveja as autorizações. Este erro deve-se frequentemente a problemas de autorizações. - Se não precisar de manter as autorizações de IAM que
definiu anteriormente, remova-as através do comando
gcloud storage buckets remove-iam-policy-binding
.
REST v1
- Crie um contentor do Cloud Storage.
Carregue o ficheiro para o seu contentor.
Para obter ajuda com o carregamento de ficheiros para contentores, consulte o artigo Carregar objetos.
- Faculte à sua instância as funções de IAM
legacyBucketWriter
eobjectViewer
para o seu contentor. Para obter ajuda com a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM. - Importe o ficheiro de despejo:
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
- bucket_name: o nome do contentor do Cloud Storage
- path_to_sql_file: o caminho para o ficheiro SQL
- 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/import
Corpo JSON do pedido:
{ "importContext": { "fileType": "SQL", "uri": "gs://bucket_name/path_to_sql_file", "database": "database_name" } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
Para ver a lista completa de parâmetros do pedido, consulte a página instances:import. - Se não precisar de manter as autorizações de IAM que definiu anteriormente, remova-as agora.
REST v1beta4
- Crie um contentor do Cloud Storage.
Carregue o ficheiro para o seu contentor.
Para obter ajuda com o carregamento de ficheiros para contentores, consulte o artigo Carregar objetos.
- Faculte à sua instância a
storage.objectAdmin
função do IAM para o seu contentor. Para obter ajuda com a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM. - Importe o ficheiro de despejo:
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
- bucket_name: o nome do contentor do Cloud Storage
- path_to_sql_file: o caminho para o ficheiro SQL
- 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/import
Corpo JSON do pedido:
{ "importContext": { "fileType": "SQL", "uri": "gs://bucket_name/path_to_sql_file", "database": "database_name" } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
Para ver a lista completa de parâmetros do pedido, consulte a página instances:import. - Se não precisar de manter as autorizações de IAM que definiu anteriormente, remova-as agora.
O que se segue?
- Saiba como verificar o estado das operações de importação e exportação.
- Saiba mais sobre as práticas recomendadas para importar e exportar dados.
- Saiba mais sobre o Cloud Storage.
- Problemas conhecidos para importações e exportações.