Exporte e importe através de ficheiros BAK e ficheiros de registo de transações

Esta página descreve a exportação e a importação de dados para instâncias do Cloud SQL através de ficheiros BAK e a importação de dados para instâncias do Cloud SQL através de ficheiros de registo de transações.

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

O Cloud SQL suporta a exportação de ficheiros BAK incorporados.

Se quiser criar uma nova instância a partir de um ficheiro exportado, considere restaurar a partir de uma cópia de segurança para uma instância diferente ou clonar a instância.

O Cloud SQL faz uma cópia de segurança completa da base de dados selecionada durante uma operação de exportação.

Funções e autorizações necessárias para exportar do Cloud SQL para SQL Server

Para exportar dados do Cloud SQL para o Cloud Storage, o utilizador que inicia a exportação tem de ter uma das seguintes funções:

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

  • A storage.objectAdminfunção de gestão de identidade e de acesso (IAM)
  • Uma função personalizada, incluindo as seguintes autorizações:
    • storage.objects.create
    • storage.objects.list (para exportação dividida e exportação do registo de transações)
    • storage.objects.delete (para exportação dividida e exportação do registo de transações)
    • storage.buckets.get (apenas para exportação de registos de transações)

Para obter ajuda com as funções de IAM, consulte o Identity and Access Management.

Exporte dados para um ficheiro BAK do Cloud SQL para SQL Server

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 Exportar.
  4. Na secção Formato de ficheiro, clique em BAK.
  5. Na secção Dados a exportar, use o menu pendente para selecionar a base de dados a partir da qual quer exportar.
  6. Na secção Destino, selecione Procurar para pesquisar um contentor ou uma pasta do Cloud Storage para a sua exportação.
  7. Clique em Exportar para iniciar a exportação.

gcloud

  1. Crie um contentor do Cloud Storage.
  2. Encontre a conta de serviço da instância do Cloud SQL a partir da qual está a fazer a exportação. Pode fazê-lo executando o comando gcloud sql instances describe. Procure o campo serviceAccountEmailAddress no resultado.
    gcloud sql instances describe INSTANCE_NAME
      
  3. Use gcloud storage buckets add-iam-policy-binding para conceder a storage.objectAdmin função IAM à conta de serviço. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  4. Exporte a base de dados:
    gcloud sql export bak INSTANCE_NAME gs://BUCKET_NAME/FILENAME \
    --database=DATABASE_NAME
      

    Para obter informações sobre a utilização do comando gcloud sql export bak, consulte a página de referência de comandos.

  5. Se não precisar de manter a função do IAM que definiu anteriormente, revogue-a agora.

REST v1

  1. Crie um contentor do Cloud Storage para a exportação.
    gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME

    Este passo não é obrigatório, mas é vivamente recomendado para não abrir o acesso a outros dados.

  2. Disponibilize à sua instância a legacyBucketWriter função de IAM para o seu contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  3. Exporte a sua base de dados:

    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_DUMP_FILE: o caminho para o ficheiro de captura SQL
    • DATABASE_NAME_1: o nome de uma base de dados na instância do Cloud SQL
    • DATABASE_NAME_2: 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/export

    Corpo JSON do pedido:

    
    

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

    Deve receber uma resposta JSON semelhante à seguinte:

  4. Se não precisar de manter a função do IAM que definiu anteriormente, remova-a agora.
Para ver a lista completa de parâmetros do pedido, consulte a página instances:export.

REST v1beta4

  1. Crie um contentor do Cloud Storage para a exportação.
    gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
    

    Este passo não é obrigatório, mas é vivamente recomendado para não abrir o acesso a outros dados.

  2. Disponibilize à sua instância a storage.objectAdmin função de IAM para o seu contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  3. Exporte a sua base de dados:

    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_DUMP_FILE: o caminho para o ficheiro de captura SQL
    • DATABASE_NAME_1: o nome de uma base de dados na instância do Cloud SQL
    • DATABASE_NAME_2: 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/export

    Corpo JSON do pedido:

    
    

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

    Deve receber uma resposta JSON semelhante à seguinte:

  4. Se não precisar de manter a função do IAM que definiu anteriormente, revogue-a agora.
Para ver a lista completa de parâmetros do pedido, consulte a página instances:export.

Exporte cópias de segurança diferenciais da base de dados

Antes de exportar uma cópia de segurança da base de dados diferencial, tem de exportar uma base diferencial.

Se outros serviços ou funcionalidades, como a recuperação num ponto específico no tempo e a réplica de leitura, acionarem uma cópia de segurança completa entre a exportação de cópia de segurança completa e a exportação de cópia de segurança diferencial, tem de acionar novamente uma exportação de cópia de segurança completa.

Para compreender melhor, considere o seguinte exemplo:

  1. Envia um pedido de cópia de segurança completa às 07:00.
  2. Ativa a recuperação num ponto específico no tempo às 09:00. Isto aciona uma cópia de segurança completa na sua instância.
  3. Tenta fazer uma cópia de segurança diferencial às 17:00. Este pedido de exportação falha com uma mensagem de erro porque a última cópia de segurança completa foi acionada pela recuperação num ponto específico no tempo.

O Cloud SQL não suporta pedidos de exportação de bases de dados com --differential-base ou --bak-type=DIFF em instâncias de réplica.

gcloud

  1. Crie um contentor do Cloud Storage.
  2. Encontre a conta de serviço da instância do Cloud SQL a partir da qual está a exportar. Pode fazê-lo executando o comando gcloud sql instances describe. Procure o campo serviceAccountEmailAddress no resultado.
    gcloud sql instances describe INSTANCE_NAME
      
  3. Use gcloud storage buckets add-iam-policy-binding para conceder a storage.objectAdmin função IAM à conta de serviço. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  4. Exporte a base de dados como base diferencial.

    gcloud sql export bak INSTANCE_NAME gs://BUCKET_NAME/DIFFERENTIAL_BASE_FILENAME \
    --database=DATABASE_NAME --differential-base

    Para obter informações sobre a utilização do comando gcloud sql export bak, consulte a página de referência de comandos.

  5. Exporte uma cópia de segurança diferencial.

    gcloud sql export bak INSTANCE_NAME gs://BUCKET_NAME/DIFFERENTIAL_BACKUP_FILENAME \
    --database=DATABASE_NAME --bak-type=DIFF
      

    Para obter informações sobre a utilização do comando gcloud sql export bak, consulte a página de referência de comandos.

  6. Se não precisar de manter a função do IAM que definiu anteriormente, revogue-a agora.

REST v1

  1. Crie um contentor do Cloud Storage para a exportação.
    gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME

    Este passo não é obrigatório, mas é vivamente recomendado para não abrir o acesso a outros dados.

  2. Disponibilize à sua instância a legacyBucketWriter função de IAM para o seu contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  3. Exporte a cópia de segurança completa da base de dados como base diferencial.

    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_BAK_FILE: o caminho para o ficheiro BAK SQL
    • DATABASE_NAME: o nome da base de dados na instância do Cloud SQL
    • offload: para ativar e usar a exportação sem servidor, defina este valor como TRUE

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/export

    Corpo JSON do pedido:

    {
     "exportContext":
       {
          "fileType": "BAK",
          "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE",
          "databases": ["DATABASE_NAME"]
          "offload": TRUE | FALSE
          "bakExportOptions": {
            "differentialBase":true
          }
       }
    }
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/export"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/export" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

  4. Exporte uma cópia de segurança diferencial.

    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_dump_file: O caminho para o ficheiro de captura SQL
    • database_name_1: o nome de uma base de dados na instância do Cloud SQL
    • database_name_2: o nome de uma base de dados na instância do Cloud SQL
    • offload: ativa a exportação sem servidor. Defina como true para usar a exportação sem servidor.

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/export

    Corpo JSON do pedido:

    {
     "exportContext":
       {
          "fileType": "BAK",
          "uri": "gs://bucket_name/path_to_dump_file",
          "databases": ["database_name"]
          "offload": true | false
          "bakExportOptions": {
            bakType:"DIFF"
          }
    
        }
    }
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/export"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/export" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

  5. Se não precisar de manter a função do IAM que definiu anteriormente, remova-a agora.
Para ver a lista completa de parâmetros do pedido, consulte a página instances:export.

REST v1beta4

  1. Crie um contentor do Cloud Storage para a exportação.
    gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
    

    Este passo não é obrigatório, mas é vivamente recomendado para não abrir o acesso a outros dados.

  2. Disponibilize à sua instância a storage.objectAdmin função de IAM para o seu contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  3. Exporte a cópia de segurança completa da base de dados como base diferencial.

    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_dump_file: o caminho para o ficheiro de captura SQL
    • database_name_1: o nome de uma base de dados na instância do Cloud SQL
    • database_name_2: o nome de uma base de dados na instância do Cloud SQL
    • offload: para ativar e usar a exportação sem servidor, defina o respetivo valor como true.

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export

    Corpo JSON do pedido:

    {
      "exportContext":
        {
           "fileType": "BAK",
           "uri": "gs://bucket_name/path_to_dump_file",
           "databases": ["database_name"]
           "offload": true | false
           "bakExportOptions": {
             "differentialBase":true
           }
    
         }
    }
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

  4. Exporte uma cópia de segurança diferencial:

    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_dump_file: o caminho para o ficheiro de captura SQL
    • database_name_1: o nome de uma base de dados na instância do Cloud SQL
    • database_name_2: o nome de uma base de dados na instância do Cloud SQL
    • offload: para ativar e usar exportações sem servidor, defina este valor como true.

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export

    Corpo JSON do pedido:

    {
      "exportContext":
        {
           "fileType": "BAK",
           "uri": "gs://bucket_name/path_to_dump_file",
           "databases": ["database_name"]
           "offload": true | false
           "bakExportOptions": {
            bakType:"DIFF"
           }
    
         }
    }
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

  5. Se não precisar de manter a função do IAM que definiu anteriormente, revogue-a agora.
Para ver a lista completa de parâmetros do pedido, consulte a página instances:export.

Exporte registos de transações

Pode exportar os registos de transações de todas as instâncias do Cloud SQL para SQL Server que tenham a recuperação num determinado momento (PITR) ativada e os respetivos registos armazenados no Cloud Storage.

gcloud

  1. Crie um contentor do Cloud Storage para a exportação.
    gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME

    Este passo não é obrigatório, mas é vivamente recomendado para não abrir o acesso a outros dados.

  2. Encontre a conta de serviço da instância do Cloud SQL a partir da qual está a exportar. Pode fazê-lo executando o comando gcloud sql instances describe. Procure o campo serviceAccountEmailAddress no resultado.
    gcloud sql instances describe INSTANCE_NAME
      
  3. Use gcloud storage buckets add-iam-policy-binding para conceder a storage.Admin função IAM à conta de serviço. Para mais informações sobre como definir autorizações de IAM, consulte o artigo Defina e faça a gestão de políticas de IAM em contentores.
  4. Exporte os registos de transações.

    gcloud sql export bak INSTANCE_NAME gs://BUCKET_NAME/FOLDER_PATH
    --export-log-start-time=START_DATE_AND_TIME /
    --export-log-end-time=END_DATE_AND_TIME /
    --database=DATABASE_NAME --bak-type=TLOG
      

    Para obter informações sobre a utilização do comando gcloud sql export bak, consulte a página de referência de comandos.

  5. Se não precisar de manter a função do IAM que definiu anteriormente, revogue-a agora.

REST

  1. Crie um contentor do Cloud Storage.

    Este passo não é obrigatório, mas é vivamente recomendado para não abrir o acesso a outros dados.

  2. Disponibilize à sua instância a storage.Admin função de IAM para o seu contentor. Para mais informações sobre como definir autorizações de IAM, consulte o artigo Defina e faça a gestão de políticas de IAM em contentores.
  3. Exporte os registos de transações.

    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.
    • FOLDER_PATH: o caminho para a pasta no contentor do Cloud Storage. O Cloud SQL exporta os registos de transações para esta pasta.
    • DATABASE_NAME: o nome da base de dados na instância do Cloud SQL.
    • exportLogStartTime: a data e a hora de início dos registos de transações a exportar.
    • exportLogEndTime: a data e a hora de fim dos registos de transações a exportar.

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/export

    Corpo JSON do pedido:

    {
     "exportContext":
       {
          "fileType": "BAK",
          "uri": "gs://BUCKET_NAME/FOLDER_PATH",
          "databases": ["DATABASE_NAME"]
          "bakExportOptions": {
            bakType:"TLOG"
            exportLogStartTime: START_DATE_AND_TIME
            exportLogEndTime: END_DATE_AND_TIME
          }
       }
    }
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/export"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/export" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

  4. Se não precisar de manter a função do IAM que definiu anteriormente, remova-a agora.
Para ver a lista completa de parâmetros do pedido, consulte a página instances.export.

Use a exportação com faixas

Seguem-se as vantagens da exportação com faixas:

  • Reduções no tempo necessário para a conclusão das operações
  • É possível exportar bases de dados com mais de 5 TB

Uma potencial desvantagem da utilização da exportação dividida é que a cópia de segurança, em vez de consistir num ficheiro, é dividida num conjunto de ficheiros. Este conjunto chama-se "conjunto de faixas"; consulte o artigo Faça uma cópia de segurança dos dispositivos num conjunto de suportes com faixas (um conjunto de faixas). No Cloud SQL, exporta para uma pasta vazia no Cloud Storage em vez de gerar um único ficheiro. Para mais informações, consulte o artigo Como usar a exportação dividida.

Planear as suas operações

A exportação dividida pode melhorar o desempenho das exportações. No entanto, se o seu exemplo de utilização exigir um único ficheiro de saída, ou se a sua base de dados tiver um tamanho inferior a 5 TB e se o desempenho mais rápido não for crítico, é recomendável usar uma exportação não segmentada.

Se decidir usar a exportação dividida em faixas, considere o número de faixas. Pode especificar este valor no comando da CLI gcloud ou na chamada da API REST. No entanto, se quiser um número ideal de riscas para o desempenho ou se não souber um número, omita-o. É definido automaticamente um número ideal de faixas.

O número máximo de faixas atualmente suportado pelo Cloud SQL para SQL Server é 64.

Como usar a exportação com faixas

gcloud

  1. Crie um contentor do Cloud Storage.
  2. Encontre a conta de serviço da instância do Cloud SQL a partir da qual está a fazer a exportação. Pode fazê-lo executando o comando gcloud sql instances describe. Procure o campo serviceAccountEmailAddress no resultado.
    gcloud sql instances describe INSTANCE_NAME
      
  3. Use gcloud storage buckets add-iam-policy-binding para conceder a storage.objectAdmin função IAM à conta de serviço. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  4. Para exportar a base de dados, especifique o parâmetro --striped e/ou especifique um valor para --stripe_count. A definição de um valor para --stripe_count implica que o parâmetro --striped se destina a ser usado. Ocorre um erro se especificar --no-striped, mas especificar um valor para --stripe_count:
    gcloud beta sql export bak INSTANCE_NAME \
    gs://BUCKET_NAME/STRIPED_EXPORT_FOLDER \
    --database=DATABASE_NAME --striped --stripe_count=NUMBER
      

    Para obter informações sobre a utilização do comando gcloud beta sql export bak, consulte a página de referência de comandos.

  5. Se não precisar de manter a função do IAM que definiu anteriormente, revogue-a agora.

REST v1

  1. Crie um contentor do Cloud Storage para a exportação.
    gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME

    Este passo não é obrigatório, mas é vivamente recomendado para não abrir o acesso a outros dados.

  2. Disponibilize à sua instância a legacyBucketWriter função de IAM para o seu contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  3. Exporte a sua base de dados:

    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_folder: o caminho para a pasta (no contentor do Cloud Storage) para a qual exportar o conjunto dividido
    • database_name: o nome de uma base de dados na sua instância do Cloud SQL
    • true | false: definido como true para usar a exportação com faixas. Se especificar true sem especificar uma contagem de faixas, é definido automaticamente um número ideal de faixas
    • number_of_stripes: o número de riscas a usar. Se especificado, striped é implícito como true

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/export

    Corpo JSON do pedido:

    {
     "exportContext":
       {
          "fileType": "BAK",
          "uri": "gs://bucket_name/path_to_folder",
          "databases": ["database_name"],
          "bakExportOptions": {
            "striped": true | false,
            "stripe_count": ["number_of_stripes"]
          }
        }
    }
    

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

    Deve receber uma resposta JSON semelhante à seguinte:

  4. Se não precisar de manter a função do IAM que definiu anteriormente, remova-a agora.
Para ver a lista completa de parâmetros do pedido, consulte a página instances:export.

REST v1beta4

  1. Crie um contentor do Cloud Storage para a exportação.
    gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
    

    Este passo não é obrigatório, mas é vivamente recomendado para não abrir o acesso a outros dados.

  2. Disponibilize à sua instância a legacyBucketWriter função de IAM para o seu contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  3. Exporte a sua base de dados:

    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_folder: O caminho para a pasta (no contentor do Cloud Storage) para a qual exportar o conjunto dividido
    • database_name: o nome de uma base de dados na sua instância do Cloud SQL
    • true | false: definido como true para usar a exportação com faixas. Se especificar true sem especificar uma contagem de faixas, é definido automaticamente um número ideal de faixas
    • number_of_stripes: o número de riscas a usar. Se especificado, striped é implícito como true

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export

    Corpo JSON do pedido:

    {
     "exportContext":
       {
          "fileType": "BAK",
          "uri": "gs://bucket_name/path_to_folder",
          "databases": ["database_name"],
          "bakExportOptions": {
            "striped": true | false,
            "stripe_count": ["number_of_stripes"]
          }
        }
    }
    

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

    Deve receber uma resposta JSON semelhante à seguinte:

  4. Se não precisar de manter a função do IAM que definiu anteriormente, remova-a agora.
Para ver a lista completa de parâmetros do pedido, consulte a página instances:export.

Importe 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:

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 dados de um ficheiro BAK para o Cloud SQL para SQL Server

Para usar a importação com faixas, consulte o artigo Use a importação com faixas.

Estão disponíveis várias estruturas de importação. Por exemplo, o Cloud SQL para SQL Server suporta a captura de dados de alterações (CDC) para as seguintes versões de base de dados:

  • SQL Server 2017 Standard
  • SQL Server 2017 Enterprise
  • SQL Server 2019 Standard
  • SQL Server 2019 Enterprise
  • SQL Server 2022 Standard
  • SQL Server 2022 Enterprise

Quando importa uma base de dados com CDC ativado, a flag KEEP_CDC é mantida.

Se a versão da sua instância for uma Microsoft SQL Server Enterprise Edition, pode importar ficheiros BAK encriptados.

As instâncias do Microsoft SQL Server Standard Edition também importam ficheiros BAK encriptados, mas apenas através da CLI gcloud.

As únicas extensões BAK suportadas são .bak e .bak.gz. Atualmente, as cópias de segurança encriptadas com GPG não são suportadas.

Para as instruções abaixo, prepare-se para especificar uma nova base de dados. Não crie uma base de dados antes de iniciar a importação do ficheiro BAK.

Para importar dados para uma instância do Cloud SQL através de um ficheiro BAK:

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 Importar.
  4. No campo Escolha um ficheiro a partir do qual importar, introduza o caminho para o contentor e o ficheiro BAK a usar para a importação.

    Pode importar um ficheiro comprimido (.gz) ou não comprimido.

  5. Na secção Formato de ficheiro, selecione BAK.

  6. Na secção Destino, especifique a base de dados na instância do Cloud SQL onde quer importar o ficheiro BAK.
  7. Para iniciar a importação, clique em Importar.

gcloud

  1. Crie um contentor do Cloud Storage para a importação.

    gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME

    Este passo não é obrigatório, mas é vivamente recomendado para não abrir o acesso a outros dados.

  2. Certifique-se de que configurou as funções e as autorizações necessárias.
  3. Carregue os dados do ficheiro BAK para o contentor.
  4. Descreva a instância para a qual está a importar:
    gcloud sql instances describe INSTANCE_NAME
  5. Copie o campo serviceAccountEmailAddress.
  6. Use gcloud storage buckets add-iam-policy-binding para conceder a storage.objectViewer função do IAM à conta de serviço do contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  7. Importe os dados do ficheiro:
    gcloud sql import bak INSTANCE_NAME gs://BUCKET_NAME/FILE_NAME \
    --database=DATABASE_NAME
    Para importações encriptadas, use o seguinte comando:
    gcloud sql import bak INSTANCE_NAME gs://BUCKET_NAME/FILE_NAME
    --database=DATABASE_NAME --cert-path=gs://BUCKET_NAME/CERTIFICATE_NAME
     --pvk-path=gs://BUCKET_NAME/KEY_NAME --prompt-for-pvk-password
  8. 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

  1. Crie um contentor do Cloud Storage.
  2. Carregue o ficheiro para o seu contentor.

    Para obter ajuda com o carregamento de ficheiros para contentores, consulte o artigo Carregar objetos.

  3. Faculte à sua instância a storage.objectAdmin função do IAM para o seu contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  4. Importe os dados do ficheiro:

    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_bak_file: o caminho para o ficheiro BAK
    • 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": "BAK",
          "uri": "gs://bucket_name/path_to_bak_file",
          "database": "database_name"
        }
    }
    
    

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

    Deve receber uma resposta JSON semelhante à seguinte:

    Para usar um utilizador diferente para a importação, especifique a propriedade importContext.importUser.

    Para ver a lista completa de parâmetros do pedido, consulte a página instances:import.
  5. Se não precisar de manter as autorizações de IAM que definiu anteriormente, remova-as.

REST v1beta4

  1. Crie um contentor do Cloud Storage.
  2. Carregue o ficheiro para o seu contentor.

    Para obter ajuda com o carregamento de ficheiros para contentores, consulte o artigo Carregar objetos.

  3. Faculte à sua instância a storage.objectAdmin função do IAM para o seu contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  4. Importe os dados do ficheiro:

    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_bak_file: o caminho para o ficheiro BAK
    • 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": "BAK",
          "uri": "gs://bucket_name/path_to_bak_file",
          "database": "database_name"
        }
    }
    
    

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

    Deve receber uma resposta JSON semelhante à seguinte:

    Para usar um utilizador diferente para a importação, especifique a propriedade importContext.importUser.

    Para ver a lista completa de parâmetros do pedido, consulte a página instances:import.
  5. Se não precisar de manter as autorizações de IAM que definiu anteriormente, remova-as.

Se receber um erro, como ERROR_RDBMS, certifique-se de que o ficheiro BAK existe no contentor e que tem as autorizações corretas no contentor. Para obter ajuda na configuração do controlo de acesso no Cloud Storage, consulte o artigo Crie e faça a gestão de listas de controlo de acesso.

Importe cópias de segurança diferenciais de bases de dados

Antes de importar uma cópia de segurança diferencial da base de dados, precisa de uma importação de cópia de segurança completa e a base de dados tem de estar no estado RESTORING após a importação de cópia de segurança completa.

O Cloud SQL não suporta a importação de cópias de segurança diferenciais de bases de dados em instâncias com a recuperação num determinado momento ativada. Isto deve-se ao facto de a importação de uma cópia de segurança da base de dados com --no-recovery ser um pré-requisito para a importação de cópias de segurança diferenciais da base de dados. Além disso, não pode ativar a recuperação num ponto específico no tempo numa instância se a base de dados estiver no estado RESTORING. Em caso de falha da importação, faça uma das seguintes ações para ativar a recuperação num ponto específico no tempo:

  • Coloque online a base de dados que se encontra no estado RESTORING usando a flag --recovery-only .

  • Remova a base de dados.

Para importar dados para uma instância do Cloud SQL através de uma cópia de segurança diferencial da base de dados, siga estes passos:

gcloud

  1. Crie um contentor do Cloud Storage para a importação.

    gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME

    Este passo não é obrigatório, mas recomendamos vivamente que o execute para não abrir o acesso a outros dados.

  2. Certifique-se de que configurou as funções e as autorizações necessárias.
  3. Carregue os dados do ficheiro BAK para o contentor.
  4. Descreva a instância para a qual está a importar:
    gcloud sql instances describe INSTANCE_NAME
  5. Copie o campo serviceAccountEmailAddress.
  6. Use gcloud storage buckets add-iam-policy-binding para conceder a storage.objectViewer função do IAM à conta de serviço do contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  7. Importe uma cópia de segurança completa com o --no-recovery.

    gcloud sql import bak INSTANCE_NAME gs://BUCKET_NAME/DIFFERENTIAL_BASE_FILENAME \
    --database=DATABASE_NAME --bak-type=FULL --no-recovery
  8. Importe uma cópia de segurança diferencial da base de dados.

    gcloud sql import bak INSTANCE_NAME gs://BUCKET_NAME/DIFFERENTIAL_BACKUP_FILENAME \
    --database=DATABASE_NAME --bak-type=DIFF --no-recovery
  9. Depois de restaurar todos os ficheiros de cópia de segurança, use a flag --recovery-only para colocar a base de dados importada online a partir de um estado RESTORING. Recomendamos vivamente que os utilizadores não usem comandos T-SQL para colocar a base de dados importada online.

    gcloud sql import bak INSTANCE_NAME \
    --database=DATABASE_NAME --recovery-only
  10. 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

  1. Crie um contentor do Cloud Storage.
  2. Carregue o ficheiro para o seu contentor.

    Para obter ajuda com o carregamento de ficheiros para contentores, consulte o artigo Carregar objetos.

  3. Faculte à sua instância a storage.objectAdmin função do IAM para o seu contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  4. Importe uma cópia de segurança completa com o noRecovery.

    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_BAK_FILE: o caminho para o ficheiro BAK.
    • 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": "BAK",
          "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE",
          "database": "DATABASE_NAME"
          "bakImportOptions": {
            "noRecovery": true,
            "bakType": "FULL",
          }
    
        }
    }
    
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

  5. Importe uma cópia de segurança diferencial da base de dados.

    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_bak_file: o caminho para o ficheiro BAK
    • 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": "BAK",
          "uri": "gs://bucket_name/path_to_bak_file",
          "database": "database_name"
          "bakImportOptions": {
            "bakType": "DIFF",
            "noRecovery": true,
          }
    
        }
    }
    
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/import"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/import" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

  6. Depois de restaurar todos os ficheiros de cópia de segurança, use a flag recoveryOnly para colocar a base de dados importada online a partir de um estado RESTORING. Recomendamos vivamente que os utilizadores não usem comandos T-SQL para colocar a base de dados importada online.

    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_BAK_FILE: o caminho para o ficheiro BAK
    • 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": "BAK",
          "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE",
          "database": "DATABASE_NAME"
          "bakImportOptions": {
            "recoveryOnly": true,
          }
    
        }
    }
    
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

  7. Se não precisar de manter as autorizações de IAM que definiu anteriormente, remova-as.

REST v1beta4

  1. Crie um contentor do Cloud Storage.
  2. Carregue o ficheiro para o seu contentor.

    Para obter ajuda com o carregamento de ficheiros para contentores, consulte o artigo Carregar objetos.

  3. Faculte à sua instância a storage.objectAdmin função do IAM para o seu contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  4. Importe uma cópia de segurança completa com onoRecovery.

    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_BAK_FILE: o caminho para o ficheiro BAK.
    • 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": "BAK",
          "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE",
          "database": "DATABASE_NAME"
          "bakImportOptions": {
            "noRecovery": true,
            "bakType": "FULL",
          }
        }
    }
    
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/INSTANCE_ID/import"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/INSTANCE_ID/import" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

  5. Importe uma cópia de segurança diferencial da base de dados.

    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_bak_file: o caminho para o ficheiro BAK
    • 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": "BAK",
          "uri": "gs://bucket_name/path_to_bak_file",
          "database": "database_name"
          "bakImportOptions": {
            "bakType": "DIFF",
            "noRecovery": true,
          }
        }
    }
    
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/import"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/import" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

  6. Depois de restaurar todos os ficheiros de cópia de segurança, use a flag recoveryOnly para colocar a base de dados importada online a partir de um estado RESTORING. Recomendamos vivamente que os utilizadores não usem comandos T-SQL para colocar a base de dados importada online.

    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_BAK_FILE: o caminho para o ficheiro BAK
    • 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": "BAK",
          "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE",
          "database": "DATABASE_NAME"
          "bakImportOptions": {
            "recoveryOnly": true,
          }
        }
    }
    
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/import"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/import" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

  7. Se não precisar de manter as autorizações de IAM que definiu anteriormente, remova-as.

Se receber um erro, como ERROR_RDBMS, certifique-se de que o ficheiro BAK existe no contentor e que tem as autorizações corretas no contentor. Para obter ajuda na configuração do controlo de acesso no Cloud Storage, consulte o artigo Crie e faça a gestão de listas de controlo de acesso.

Importe cópias de segurança do registo de transações

Um registo de transações é um registo das transações da sua base de dados e das modificações feitas por cada transação. Pode usá-lo para restabelecer a consistência da base de dados em caso de falha do sistema.

Para importar dados para uma instância do Cloud SQL através de uma cópia de segurança do registo de transações, siga estes passos:

gcloud

  1. Opcional: crie um contentor do Cloud Storage para a importação.

    gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
  2. Carregue os ficheiros de cópia de segurança para o contentor.
  3. Descreva a instância para a qual está a importar:
    gcloud sql instances describe INSTANCE_NAME
  4. Copie o campo serviceAccountEmailAddress.
  5. Use gcloud storage buckets add-iam-policy-binding para conceder a storage.objectViewer função do IAM à conta de serviço do contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  6. Importe uma cópia de segurança completa através do parâmetro --no-recovery. Certifique-se de que a base de dados está no estado RESTORING após a importação da cópia de segurança completa.

    gcloud sql import bak INSTANCE_NAME gs://BUCKET_NAME/BACKUP_FILENAME \
    --database=DATABASE_NAME --bak-type=FULL --no-recovery
  7. Opcional: importe uma cópia de segurança diferencial.
  8. Importe uma cópia de segurança do registo de transações.

    gcloud sql import bak INSTANCE_NAME gs://BUCKET_NAME/BACKUP_FILENAME \
    --database=DATABASE_NAME --bak-type=TLOG
    --stop-at=STOP_AT_TIMESTAMP --stop-at-mark=STOP_AT_MARK_NAME
    --no-recovery
    Substitua o seguinte:
    • INSTANCE_NAME: o nome da instância.
    • BUCKET_NAME: o nome do contentor do Cloud Storage.
    • BACKUP_FILENAME: o nome do ficheiro de cópia de segurança.
    • DATABASE_NAME: o nome de uma base de dados na instância do Cloud SQL.
    • STOP_AT_TIMESTAMP: a data/hora em que a importação do registo de transações tem de parar. Este é um campo opcional e o valor tem de usar o formato RFC 3339.
    • STOP_AT_MARK_NAME: a transação marcada na qual a importação do registo de transações tem de parar. Este é um campo opcional e pode aceitar qualquer cadeia como valor. Se o valor estiver no formato lsn:log-sequence-number, a importação do registo de transações para no número de sequência do registo indicado.
    Repita este passo até importar todas as cópias de segurança do registo de transações.
  9. Depois de restaurar todos os ficheiros de cópia de segurança, use a flag --recovery-only para colocar a base de dados importada online a partir de um estado RESTORING. Recomendamos vivamente que os utilizadores não usem comandos T-SQL para colocar a base de dados importada online.

    gcloud sql import bak INSTANCE_NAME \
    --database=DATABASE_NAME --recovery-only
  10. 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

  1. Crie um contentor do Cloud Storage.
  2. Carregue o ficheiro para o seu contentor.

    Para obter ajuda com o carregamento de ficheiros para contentores, consulte o artigo Carregar objetos.

  3. Faculte à sua instância a storage.objectAdmin função do IAM para o seu contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  4. Para ver a lista completa de parâmetros do pedido, consulte a página instances:import.
  5. Importe uma cópia de segurança completa com o noRecovery. Certifique-se de que a base de dados está no estado RESTORING após a importação da cópia de segurança completa.

    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_BAK_FILE: o caminho para o ficheiro BAK.
    • 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": "BAK",
          "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE",
          "database": "DATABASE_NAME"
          "bakImportOptions": {
            "noRecovery": true,
            "bakType": "FULL",
          }
    
        }
    }
    
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

  6. Opcional: importe uma cópia de segurança diferencial.
  7. Importe uma cópia de segurança do registo de transações.

    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_TLOG_FILE: o caminho para o ficheiro de registo de transações.
    • DATABASE_NAME: o nome de uma base de dados na instância do Cloud SQL.
    • STOP_AT_TIMESTAMP: a data/hora em que a importação do registo de transações tem de parar. Este é um campo opcional e o valor tem de usar o formato RFC 3339.
    • STOP_AT_MARK_NAME: a transação marcada na qual a importação do registo de transações tem de parar. Este é um campo opcional e pode aceitar qualquer cadeia como valor. Se o valor estiver no formato lsn:log-sequence-number, a importação do registo de transações para no número de sequência do registo indicado.

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import

    Corpo JSON do pedido:

    {
     "importContext":
       {
          "fileType": "BAK",
          "uri": "gs://BUCKET_NAME/PATH_TO_TLOG_FILE",
          "database": "DATABASE_NAME"
          "bakImportOptions": {
            "bakType": "TLOG",
            "stopAt": STOP_AT_TIMESTAMP,
            "stopAtMark": STOP_AT_MARK_NAME,
            "noRecovery": true,
          }
    
        }
    }
    
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

    Repita este passo até importar todas as cópias de segurança do registo de transações.
  8. Depois de restaurar todos os ficheiros de cópia de segurança, use a flag recoveryOnly para colocar a base de dados importada online a partir de um estado RESTORING. Recomendamos vivamente que os utilizadores não usem comandos T-SQL para colocar a base de dados importada online.

    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_BAK_FILE: o caminho para o ficheiro BAK
    • 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": "BAK",
          "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE",
          "database": "DATABASE_NAME"
          "bakImportOptions": {
            "recoveryOnly": true,
          }
    
        }
    }
    
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

  9. Se não precisar de manter as autorizações de IAM que definiu anteriormente, remova-as.

REST v1beta4

  1. Crie um contentor do Cloud Storage.
  2. Carregue o ficheiro para o seu contentor.

    Para obter ajuda com o carregamento de ficheiros para contentores, consulte o artigo Carregar objetos.

  3. Faculte à sua instância a storage.objectAdmin função do IAM para o seu contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  4. Importe uma cópia de segurança completa com o noRecovery. Certifique-se de que a base de dados está no estado RESTORING após a importação da cópia de segurança completa.

    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_BAK_FILE: o caminho para o ficheiro BAK.
    • 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": "BAK",
          "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE",
          "database": "DATABASE_NAME"
          "bakImportOptions": {
            "noRecovery": true,
            "bakType": "FULL",
          }
        }
    }
    
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/INSTANCE_ID/import"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/INSTANCE_ID/import" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

  5. Opcional: importe uma cópia de segurança diferencial.
  6. Importe uma cópia de segurança do registo de transações. Aqui, stopAt e stopAtMark são campos opcionais.

    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_BAK_FILE: o caminho para o ficheiro BAK.
    • DATABASE_NAME: o nome de uma base de dados na instância do Cloud SQL.
    • STOP_AT_TIMESTAMP: a data/hora em que a importação do registo de transações tem de parar. Este é um campo opcional e o valor tem de usar o formato RFC 3339.
    • STOP_AT_MARK_NAME: a transação marcada na qual a importação do registo de transações tem de parar. Este é um campo opcional e pode aceitar qualquer cadeia como valor. Se o valor estiver no formato lsn:log-sequence-number, a importação do registo de transações para no número de sequência do registo indicado.

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import

    Corpo JSON do pedido:

    {
     "importContext":
       {
          "fileType": "BAK",
          "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE",
          "database": "DATABASE_NAME"
          "bakImportOptions": {
            "bakType": "TLOG",
            "stopAt": STOP_AT_TIMESTAMP,
            "stopAtMark":STOP_AT_MARK_NAME,
            "noRecovery": true,
          }
    
        }
    }
    
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

    Repita este passo até importar todas as cópias de segurança do registo de transações.
  7. Depois de restaurar todos os ficheiros de cópia de segurança, use recoveryOnly para colocar a base de dados importada online.

    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_BAK_FILE: o caminho para o ficheiro BAK
    • 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": "BAK",
          "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE",
          "database": "DATABASE_NAME"
          "bakImportOptions": {
            "recoveryOnly": true,
          }
        }
    }
    
    

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

    curl

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    curl -X POST \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json; charset=utf-8" \
    -d @request.json \
    "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/import"

    PowerShell

    Guarde o corpo do pedido num ficheiro com o nome request.json, e execute o seguinte comando:

    $cred = gcloud auth print-access-token
    $headers = @{ "Authorization" = "Bearer $cred" }

    Invoke-WebRequest `
    -Method POST `
    -Headers $headers `
    -ContentType: "application/json; charset=utf-8" `
    -InFile request.json `
    -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/import" | Select-Object -Expand Content

    Deve receber uma resposta JSON semelhante à seguinte:

  8. Se não precisar de manter as autorizações de IAM que definiu anteriormente, remova-as.

Use a importação com faixas

Seguem-se as vantagens da importação segmentada:

  • Reduções no tempo necessário para a conclusão das operações
  • É possível importar bases de dados com mais de 5 TB

Uma potencial desvantagem da utilização da importação dividida é que todos os ficheiros no conjunto dividido (em vez de um único ficheiro) têm de ser carregados para a mesma pasta no contentor do Cloud Storage antes de realizar a importação.

Planear as suas operações

Na maioria dos exemplos de utilização, a importação dividida permite um melhor desempenho sem desvantagens. No entanto, se não conseguir fazer uma cópia de segurança para um conjunto dividido de uma determinada instância, ou se a sua base de dados tiver menos de 5 TB e se um desempenho mais rápido não for fundamental, é recomendável usar uma importação não dividida.

Como usar a importação com faixas

gcloud

  1. Crie um contentor do Cloud Storage para a importação.

    gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME

    Este passo não é obrigatório, mas é vivamente recomendado para não abrir o acesso a outros dados.

  2. Certifique-se de que configurou as funções e as autorizações de IAM necessárias.
  3. Crie uma nova pasta no seu contentor.
  4. Para importar a base de dados, carregue os ficheiros do conjunto dividido (da base de dados) para a nova pasta. Certifique-se de que todos os ficheiros são carregados para a pasta e que a pasta não contém ficheiros adicionais.
  5. Descreva a instância a partir da qual está a exportar:
    gcloud sql instances describe INSTANCE_NAME
  6. Copie o campo serviceAccountEmailAddress.
  7. Use gcloud storage buckets add-iam-policy-binding para conceder a storage.objectViewer função do IAM à conta de serviço do contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  8. Importe os dados da pasta. A diferença em relação a uma importação sem faixas é a seguinte: os links URI apontam para o nome da pasta para a qual o conjunto de faixas foi carregado, em vez de para um único ficheiro, e especifica o parâmetro --striped:
    gcloud beta sql import bak INSTANCE_NAME gs://BUCKET_NAME/FOLDER_NAME \
    --database=DATABASE_NAME --striped
  9. 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

  1. Crie um contentor do Cloud Storage.
  2. Carregue o ficheiro para o seu contentor.

    Para obter ajuda com o carregamento de ficheiros para contentores, consulte o artigo Carregar objetos.

  3. Faculte à sua instância a storage.objectAdmin função do IAM para o seu contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  4. Importe os dados do ficheiro:

    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_folder: o caminho para a pasta (no contentor do Cloud Storage) onde se encontra o conjunto de faixas
    • database_name: o nome de uma base de dados a criar na sua instância do Cloud SQL
    • true | false: defina como true para usar a importação dividida

    Método HTTP e URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/import

    Corpo JSON do pedido:

    {
     "importContext":
       {
          "fileType": "BAK",
          "uri": "gs://bucket_name/path_to_folder",
          "database": "database_name",
          "bakImportOptions": {
            "striped": true | false
          }
        }
    }
    

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

    Deve receber uma resposta JSON semelhante à seguinte:

    Para usar um utilizador diferente para a importação, especifique a propriedade importContext.importUser.

    Para ver a lista completa de parâmetros do pedido, consulte a página instances:import.
  5. Se não precisar de manter as autorizações de IAM que definiu anteriormente, remova-as.

REST v1beta4

  1. Crie um contentor do Cloud Storage.
  2. Carregue o ficheiro para o seu contentor.

    Para obter ajuda com o carregamento de ficheiros para contentores, consulte o artigo Carregar objetos.

  3. Faculte à sua instância a storage.objectAdmin função do IAM para o seu contentor. Para mais informações sobre a definição de autorizações de IAM, consulte o artigo Usar autorizações de IAM.
  4. Importe os dados do ficheiro:

    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_folder: o caminho para a pasta (no contentor do Cloud Storage) onde o conjunto de faixas se encontra
    • database_name: o nome de uma base de dados a criar na sua instância do Cloud SQL
    • true | false: defina como true para usar a importação dividida

    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": "BAK",
          "uri": "gs://bucket_name/path_to_folder",
          "database": "database_name",
          "bakImportOptions": {
            "striped": true | false
          }
        }
    }
    

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

    Deve receber uma resposta JSON semelhante à seguinte:

    Para usar um utilizador diferente para a importação, especifique a propriedade importContext.importUser.

    Para ver a lista completa de parâmetros do pedido, consulte a página instances:import.
  5. Se não precisar de manter as autorizações de IAM que definiu anteriormente, remova-as.

Se receber um erro, como ERROR_RDBMS, certifique-se de que a tabela existe. Se a tabela existir, confirme que tem as autorizações corretas no contentor. Para obter ajuda na configuração do controlo de acesso no Cloud Storage, consulte o artigo Crie e faça a gestão de listas de controlo de acesso.

O que se segue?