En esta página se describe cómo exportar e importar datos en instancias de Cloud SQL mediante archivos BAK y cómo importar datos en instancias de Cloud SQL mediante archivos de registro de transacciones.
Antes de empezar
Las exportaciones usan recursos de la base de datos, pero no interfieren con las operaciones normales de la base de datos, a menos que la instancia no tenga suficientes recursos.
Para consultar las prácticas recomendadas, consulta el artículo Prácticas recomendadas para importar y exportar datos.
Después de completar una operación de importación, verifica los resultados.
Exportar datos de Cloud SQL para SQL Server
Cloud SQL admite la exportación de archivos BAK integrados.
Si quieres crear una instancia a partir de un archivo exportado, te recomendamos que restaures una copia de seguridad en otra instancia o que clones la instancia.
Cloud SQL realiza una copia de seguridad completa de la base de datos seleccionada durante una operación de exportación.
Roles y permisos necesarios para exportar datos desde Cloud SQL para SQL Server
Para exportar datos de Cloud SQL a Cloud Storage, el usuario que inicie la exportación debe tener uno de los siguientes roles:
- El rol Editor de Cloud SQL
- Un rol personalizado,
que incluya los siguientes permisos:
cloudsql.instances.get
cloudsql.instances.export
Además, la cuenta de servicio de la instancia de Cloud SQL debe tener uno de los siguientes roles:
- El rol
storage.objectAdmin
Gestión de Identidades y Accesos (IAM) - Un rol personalizado que incluya los siguientes permisos:
storage.objects.create
storage.objects.list
(para la exportación de franjas y la exportación del registro de transacciones)storage.objects.delete
(para la exportación de franjas y la exportación del registro de transacciones)storage.buckets.get
(solo para la exportación de registros de transacciones)
Para obtener ayuda con los roles de gestión de identidades y accesos, consulta Gestión de identidades y accesos.
Exportar datos a un archivo BAK desde Cloud SQL para SQL Server
Consola
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
- Haz clic en Exportar.
- En la sección Formato de archivo, haga clic en BAK.
- En la sección Datos que se van a exportar, use el menú desplegable para seleccionar la base de datos de la que quiera exportar datos.
- En la sección Destino, selecciona Buscar para buscar un segmento o una carpeta de Cloud Storage para la exportación.
- Haz clic en Exportar para iniciar la exportación.
gcloud
- Crea un segmento de Cloud Storage.
- Busca la cuenta de servicio de la instancia de Cloud SQL desde la que vas a exportar los datos. Para ello, ejecuta el comando
gcloud sql instances describe
. Busca el camposerviceAccountEmailAddress
en el resultado.gcloud sql instances describe INSTANCE_NAME
- Usa
gcloud storage buckets add-iam-policy-binding
para asignar elstorage.objectAdmin
rol de gestión de identidades y accesos a la cuenta de servicio. Para obtener más información sobre cómo configurar permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos. - Exporta la base de datos:
gcloud sql export bak INSTANCE_NAME gs://BUCKET_NAME/FILENAME \ --database=DATABASE_NAME
Para obtener información sobre el uso del comando
gcloud sql export bak
, consulta la página de referencia de comandos. - Si no necesitas conservar el rol de gestión de identidades y accesos que has definido anteriormente, revócalo ahora.
REST v1
-
Crea un segmento de Cloud Storage para la exportación.
gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
Este paso no es obligatorio, pero es muy recomendable para que no abras el acceso a ningún otro dato.
- Asigna a tu instancia el
legacyBucketWriter
rol de gestión de identidades y accesos de tu segmento. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos. - Exporta tu base de datos:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto
- INSTANCE_ID: el ID de instancia
- BUCKET_NAME: el nombre del segmento de Cloud Storage
- PATH_TO_DUMP_FILE: la ruta al archivo de volcado de SQL
- DATABASE_NAME_1: el nombre de una base de datos dentro de la instancia de Cloud SQL
- DATABASE_NAME_2: el nombre de una base de datos dentro de la instancia de Cloud SQL
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/export
Cuerpo JSON de la solicitud:
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
- Si no necesitas conservar el rol de gestión de identidades y accesos que has definido anteriormente, elimínalo ahora.
REST v1beta4
-
Crea un segmento de Cloud Storage para la exportación.
gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
Este paso no es obligatorio, pero es muy recomendable para que no abras el acceso a ningún otro dato.
- Asigna a tu instancia el
storage.objectAdmin
rol de gestión de identidades y accesos de tu segmento. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos. - Exporta tu base de datos:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto
- INSTANCE_ID: el ID de instancia
- BUCKET_NAME: el nombre del segmento de Cloud Storage
- PATH_TO_DUMP_FILE: la ruta al archivo de volcado de SQL
- DATABASE_NAME_1: el nombre de una base de datos dentro de la instancia de Cloud SQL
- DATABASE_NAME_2: el nombre de una base de datos dentro de la instancia de Cloud SQL
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/export
Cuerpo JSON de la solicitud:
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
- Si no necesitas conservar el rol de gestión de identidades y accesos que has definido anteriormente, revócalo ahora.
Exportar copias de seguridad diferenciales de bases de datos
Antes de exportar una copia de seguridad diferencial de la base de datos, debes exportar una base diferencial.
Si otros servicios o funciones, como la recuperación a un punto en el tiempo y la réplica de lectura, activan una copia de seguridad completa entre la exportación de la copia de seguridad completa y la exportación de la copia de seguridad diferencial, debes volver a activar una exportación de la copia de seguridad completa.
Para entenderlo mejor, veamos el siguiente ejemplo:
- Envías una solicitud de copia de seguridad completa a las 7:00.
- Habilitas la recuperación a un momento dado a las 9:00. Esto activa una copia de seguridad completa en tu instancia.
- Intentas crear una copia de seguridad diferencial a las 17:00. Esta solicitud de exportación falla y muestra un mensaje de error porque la última copia de seguridad completa se activó mediante la recuperación a un momento dado.
Cloud SQL no admite solicitudes de exportación de bases de datos con --differential-base
o --bak-type=DIFF
en instancias de réplica.
gcloud
- Crea un segmento de Cloud Storage.
- Busca la cuenta de servicio de la instancia de Cloud SQL desde la que vas a exportar.
Para ello, ejecuta el comando
gcloud sql instances describe
. Busca el camposerviceAccountEmailAddress
en el resultado.gcloud sql instances describe INSTANCE_NAME
- Usa
gcloud storage buckets add-iam-policy-binding
para asignar elstorage.objectAdmin
rol de gestión de identidades y accesos a la cuenta de servicio. Para obtener más información sobre cómo configurar permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos. Exporta la base de datos como base diferencial.
gcloud sql export bak INSTANCE_NAME gs://BUCKET_NAME/DIFFERENTIAL_BASE_FILENAME \ --database=DATABASE_NAME --differential-base
Para obtener información sobre el uso del comando
gcloud sql export bak
, consulta la página de referencia de comandos.Exporta una copia de seguridad diferencial.
gcloud sql export bak INSTANCE_NAME gs://BUCKET_NAME/DIFFERENTIAL_BACKUP_FILENAME \ --database=DATABASE_NAME --bak-type=DIFF
Para obtener información sobre el uso del comando
gcloud sql export bak
, consulta la página de referencia de comandos.- Si no necesitas conservar el rol de gestión de identidades y accesos que has definido anteriormente, revócalo ahora.
REST v1
-
Crea un segmento de Cloud Storage para la exportación.
gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
Este paso no es obligatorio, pero es muy recomendable para que no abras el acceso a ningún otro dato.
- Asigna a tu instancia el
legacyBucketWriter
rol de gestión de identidades y accesos de tu segmento. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos. - Exporta la copia de seguridad completa de tu base de datos como base diferencial.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto
- INSTANCE_ID: el ID de instancia
- BUCKET_NAME: el nombre del segmento de Cloud Storage
- PATH_TO_BAK_FILE: la ruta al archivo BAK de SQL
- DATABASE_NAME: el nombre de la base de datos dentro de la instancia de Cloud SQL
offload
: para habilitar y usar la exportación sin servidor, asigna el valor TRUE.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/export
Cuerpo JSON de la solicitud:
{ "exportContext": { "fileType": "BAK", "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE", "databases": ["DATABASE_NAME"] "offload": TRUE | FALSE "bakExportOptions": { "differentialBase":true } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
- Exporta una copia de seguridad diferencial.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia.
- bucket_name: nombre del segmento de Cloud Storage
- path_to_dump_file: ruta al archivo de volcado de SQL
- database_name_1: nombre de una base de datos de la instancia de Cloud SQL
- database_name_2: nombre de una base de datos de la instancia de Cloud SQL
- offload: habilita la exportación sin servidor. Asigna el valor
true
para usar la opción sin servidor.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/export
Cuerpo JSON de la solicitud:
{ "exportContext": { "fileType": "BAK", "uri": "gs://bucket_name/path_to_dump_file", "databases": ["database_name"] "offload": true | false "bakExportOptions": { bakType:"DIFF" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
- Si no necesitas conservar el rol de gestión de identidades y accesos que has definido anteriormente, elimínalo ahora.
REST v1beta4
-
Crea un segmento de Cloud Storage para la exportación.
gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
Este paso no es obligatorio, pero es muy recomendable para que no abras el acceso a ningún otro dato.
- Asigna a tu instancia el
storage.objectAdmin
rol de gestión de identidades y accesos de tu segmento. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos. - Exporta la copia de seguridad completa de tu base de datos como base diferencial.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia
- bucket_name: el nombre del segmento de Cloud Storage
- path_to_dump_file: la ruta al archivo de volcado de SQL
- database_name_1: el nombre de una base de datos dentro de la instancia de Cloud SQL
- database_name_2: el nombre de una base de datos dentro de la instancia de Cloud SQL
- offload: para habilitar y usar la exportación sin servidor, asigna el valor
true
.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export
Cuerpo JSON de la solicitud:
{ "exportContext": { "fileType": "BAK", "uri": "gs://bucket_name/path_to_dump_file", "databases": ["database_name"] "offload": true | false "bakExportOptions": { "differentialBase":true } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
- Exportar una copia de seguridad diferencial:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia
- bucket_name: el nombre del segmento de Cloud Storage
- path_to_dump_file: la ruta al archivo de volcado de SQL
- database_name_1: el nombre de una base de datos dentro de la instancia de Cloud SQL
- database_name_2: el nombre de una base de datos dentro de la instancia de Cloud SQL
- offload: para habilitar y usar las exportaciones sin servidor, asigna el valor
true
.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export
Cuerpo JSON de la solicitud:
{ "exportContext": { "fileType": "BAK", "uri": "gs://bucket_name/path_to_dump_file", "databases": ["database_name"] "offload": true | false "bakExportOptions": { bakType:"DIFF" } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
- Si no necesitas conservar el rol de gestión de identidades y accesos que has definido anteriormente, revócalo ahora.
Exportar registros de transacciones
Puedes exportar los registros de transacciones de todas las instancias de Cloud SQL para SQL Server que tengan habilitada la recuperación a un momento dado (PITR) y cuyos registros estén almacenados en Cloud Storage.
gcloud
-
Crea un segmento de Cloud Storage para la exportación.
gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
Este paso no es obligatorio, pero es muy recomendable para que no abras el acceso a ningún otro dato.
- Busca la cuenta de servicio de la instancia de Cloud SQL desde la que vas a exportar.
Para ello, ejecuta el comando
gcloud sql instances describe
. Busca el camposerviceAccountEmailAddress
en el resultado.gcloud sql instances describe INSTANCE_NAME
- Usa
gcloud storage buckets add-iam-policy-binding
para asignar elstorage.Admin
rol de gestión de identidades y accesos a la cuenta de servicio. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta el artículo Definir y gestionar políticas de gestión de identidades y accesos en cubos. Exporta los registros de transacciones.
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 obtener información sobre el uso del comando
gcloud sql export bak
, consulta la página de referencia de comandos.- Si no necesitas conservar el rol de gestión de identidades y accesos que has definido anteriormente, revócalo ahora.
REST
Crea un segmento de Cloud Storage.
Este paso no es obligatorio, pero es muy recomendable para que no abras el acceso a ningún otro dato.
- Asigna a tu instancia el
storage.Admin
rol de gestión de identidades y accesos de tu segmento. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta Definir y gestionar políticas de gestión de identidades y accesos en los contenedores. - Exporta los registros de transacciones.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto.
- INSTANCE_ID: el ID de instancia.
- BUCKET_NAME: el nombre del segmento de Cloud Storage.
- FOLDER_PATH: la ruta a la carpeta del segmento de Cloud Storage. Cloud SQL exporta los registros de transacciones a esta carpeta.
- DATABASE_NAME: el nombre de la base de datos dentro de la instancia de Cloud SQL.
exportLogStartTime
: la fecha y la hora de inicio de los registros de transacciones que se van a exportar.exportLogEndTime
: la fecha y la hora de finalización de los registros de transacciones que se van a exportar.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/export
Cuerpo JSON de la solicitud:
{ "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 tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
- Si no necesitas conservar el rol de gestión de identidades y accesos que has definido anteriormente, elimínalo ahora.
Usar la exportación rayada
Estas son las ventajas de la exportación segmentada:
- Reducción del tiempo necesario para completar las operaciones
- Se pueden exportar bases de datos de más de 5 TB
Una posible desventaja de usar la exportación en bandas es que la copia de seguridad, en lugar de constar de un archivo, se divide en un conjunto de archivos. Este conjunto se denomina "conjunto de franjas". Consulta Crear copias de seguridad en un conjunto de medios con franjas (un conjunto de franjas). En Cloud SQL, se exporta a una carpeta vacía de Cloud Storage en lugar de generar un solo archivo. Para obtener más información, consulta Cómo usar la exportación segmentada.
Planificar las operaciones
La exportación segmentada puede mejorar el rendimiento de las exportaciones. Sin embargo, si tu caso práctico requiere un solo archivo de salida o si tu base de datos tiene un tamaño inferior a 5 TB y no es fundamental que el rendimiento sea más rápido, puedes usar una exportación sin franjas.
Si decides usar la exportación segmentada, ten en cuenta el número de segmentos. Puede especificar este valor en su comando de la interfaz de línea de comandos de gcloud o en su llamada a la API REST. Sin embargo, si quieres que haya un número óptimo de franjas para mejorar el rendimiento o no sabes cuántas franjas quieres, omite el número. Se establece automáticamente un número óptimo de franjas.
El número máximo de franjas que admite Cloud SQL para SQL Server es 64.
Cómo usar la exportación rayada
gcloud
- Crea un segmento de Cloud Storage.
- Busca la cuenta de servicio de la instancia de Cloud SQL desde la que vas a exportar los datos. Para ello, ejecuta el comando
gcloud sql instances describe
. Busca el camposerviceAccountEmailAddress
en el resultado.gcloud sql instances describe INSTANCE_NAME
- Usa
gcloud storage buckets add-iam-policy-binding
para asignar elstorage.objectAdmin
rol de gestión de identidades y accesos a la cuenta de servicio. Para obtener más información sobre cómo configurar permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos. - Para exportar la base de datos, especifique el parámetro
--striped
o un valor para--stripe_count
. Si se define un valor para--stripe_count
, se da por hecho que se pretende usar el parámetro--striped
. Se produce un error si especifica--no-striped
pero indica un 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 obtener información sobre el uso del comando
gcloud beta sql export bak
, consulta la página de referencia de comandos. - Si no necesitas conservar el rol de gestión de identidades y accesos que has definido anteriormente, revócalo ahora.
REST v1
-
Crea un segmento de Cloud Storage para la exportación.
gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
Este paso no es obligatorio, pero es muy recomendable para que no abras el acceso a ningún otro dato.
- Asigna a tu instancia el
legacyBucketWriter
rol de gestión de identidades y accesos de tu segmento. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos. - Exporta tu base de datos:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia.
- bucket_name: nombre del segmento de Cloud Storage
- path_to_folder: ruta a la carpeta (en el segmento de Cloud Storage) a la que se exportará el conjunto de franjas.
- database_name: el nombre de una base de datos de tu instancia de Cloud SQL
- true | false: asigna el valor
true
para usar la exportación con franjas. Si especificastrue
sin especificar un número de franjas, se establecerá automáticamente un número óptimo de franjas. - number_of_stripes: número de franjas que se van a usar. Si se especifica,
striped
se implica comotrue
.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/export
Cuerpo JSON de la solicitud:
{ "exportContext": { "fileType": "BAK", "uri": "gs://bucket_name/path_to_folder", "databases": ["database_name"], "bakExportOptions": { "striped": true | false, "stripe_count": ["number_of_stripes"] } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
- Si no necesitas conservar el rol de gestión de identidades y accesos que has definido anteriormente, elimínalo ahora.
REST v1beta4
-
Crea un segmento de Cloud Storage para la exportación.
gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
Este paso no es obligatorio, pero es muy recomendable para que no abras el acceso a ningún otro dato.
- Asigna a tu instancia el
legacyBucketWriter
rol de gestión de identidades y accesos de tu segmento. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos. - Exporta tu base de datos:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia.
- bucket_name: nombre del segmento de Cloud Storage
- path_to_folder: ruta a la carpeta (en el segmento de Cloud Storage) a la que se exportará el conjunto de franjas.
- database_name: el nombre de una base de datos de tu instancia de Cloud SQL
- true | false: asigna el valor
true
para usar la exportación con franjas. Si especificastrue
sin especificar un número de franjas, se establecerá automáticamente un número óptimo de franjas. - number_of_stripes: número de franjas que se van a usar. Si se especifica,
striped
se implica comotrue
.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/export
Cuerpo JSON de la solicitud:
{ "exportContext": { "fileType": "BAK", "uri": "gs://bucket_name/path_to_folder", "databases": ["database_name"], "bakExportOptions": { "striped": true | false, "stripe_count": ["number_of_stripes"] } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
- Si no necesitas conservar el rol de gestión de identidades y accesos que has definido anteriormente, elimínalo ahora.
Importar a Cloud SQL para SQL Server
Roles y permisos necesarios para importar datos en Cloud SQL para SQL Server
Para importar datos de Cloud Storage a Cloud SQL, el usuario que inicie la importación debe tener uno de los siguientes roles:
- El rol Administrador de Cloud SQL
- Un rol personalizado,
que incluya los siguientes permisos:
cloudsql.instances.get
cloudsql.instances.import
Además, la cuenta de servicio de la instancia de Cloud SQL debe tener uno de los siguientes roles:
- Rol de gestión de identidades y accesos
storage.objectAdmin
- Un rol personalizado que incluya los siguientes permisos:
storage.objects.get
storage.objects.list
(solo para importaciones rayadas)
Para obtener ayuda con los roles de gestión de identidades y accesos, consulta Gestión de identidades y accesos.
Importar datos de un archivo BAK a Cloud SQL para SQL Server
Para usar la importación rayada, consulta Usar la importación rayada.
Hay varios frameworks de importación disponibles. Por ejemplo, Cloud SQL para SQL Server admite la captura de datos de cambios (CDC) en las siguientes versiones de la base de datos:
- SQL Server 2017 Standard
- SQL Server 2017 Enterprise
- SQL Server 2019 Standard
- SQL Server 2019 Enterprise
- SQL Server 2022 Standard
- SQL Server 2022 Enterprise
Al importar una base de datos con CDC habilitado, se conserva la marca KEEP_CDC.
Si la versión de tu instancia es Microsoft SQL Server Enterprise Edition, puedes importar archivos BAK cifrados.
Las instancias de Microsoft SQL Server Standard Edition también importan archivos BAK cifrados, pero solo a través de la CLI de gcloud.
Las únicas extensiones BAK admitidas son .bak
y .bak.gz
. Actualmente no se admiten copias de seguridad cifradas con GPG.
Para seguir las instrucciones que se indican a continuación, prepara una base de datos nueva. No crees una base de datos antes de empezar a importar el archivo BAK.
Para importar datos a una instancia de Cloud SQL mediante un archivo BAK, sigue estos pasos:
Consola
-
En la Google Cloud consola, ve a la página Instancias de Cloud SQL.
- Para abrir la página Overview (Resumen) de una instancia, haz clic en su nombre.
- Haz clic en Importar.
- En el campo Selecciona un archivo para importarlo, introduce la ruta al segmento y al archivo BAK que quieras usar para la importación.
Puedes importar un archivo comprimido (
.gz
) o sin comprimir. En la sección Formato de archivo, selecciona BAK.
- En la sección Destino, especifica la base de datos de tu instancia de Cloud SQL en la que quieres importar el archivo BAK.
- Para iniciar la importación, haz clic en Importar.
gcloud
Crea un segmento de Cloud Storage para la importación.
gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
Este paso no es obligatorio, pero es muy recomendable para que no abras el acceso a ningún otro dato.
- Asegúrate de que has configurado los roles y permisos necesarios.
- Sube los datos del archivo BAK al segmento.
- Describe la instancia a la que vas a importar:
gcloud sql instances describe INSTANCE_NAME
- Copia el campo
serviceAccountEmailAddress
. - Usa
gcloud storage buckets add-iam-policy-binding
para conceder elstorage.objectViewer
rol de gestión de identidades y accesos a la cuenta de servicio del cubo. Para obtener más información sobre cómo configurar permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos. - Importa los datos del archivo:
Para las importaciones cifradas, usa el siguiente comando:gcloud sql import bak INSTANCE_NAME gs://BUCKET_NAME/FILE_NAME \ --database=DATABASE_NAME
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
- Si no necesitas conservar los permisos de gestión de identidades y accesos que hayas definido anteriormente, quítalos con
gcloud storage buckets remove-iam-policy-binding
.
REST v1
- Crea un segmento de Cloud Storage.
Sube el archivo al segmento.
Para obtener ayuda sobre cómo subir archivos a los contenedores, consulta el artículo Subir objetos.
- Proporciona a tu instancia el
storage.objectAdmin
rol de gestión de identidades y accesos para tu segmento. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos. - Importa los datos del archivo:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia.
- bucket_name: nombre del segmento de Cloud Storage
- path_to_bak_file: ruta del archivo BAK
- database_name: nombre de una base de datos de la instancia de Cloud SQL
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/import
Cuerpo JSON de la solicitud:
{ "importContext": { "fileType": "BAK", "uri": "gs://bucket_name/path_to_bak_file", "database": "database_name" } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
Para usar otro usuario en la importación, especifica la propiedad
Para ver la lista completa de parámetros de la solicitud, consulta la página instances:import.importContext.importUser
. - Si no necesitas conservar los permisos de gestión de identidades y accesos que has definido anteriormente, quítalos.
REST v1beta4
- Crea un segmento de Cloud Storage.
Sube el archivo al segmento.
Para obtener ayuda sobre cómo subir archivos a los contenedores, consulta el artículo Subir objetos.
- Proporciona a tu instancia el
storage.objectAdmin
rol de gestión de identidades y accesos para tu segmento. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta Uso de permisos de gestión de identidades y accesos. - Importa los datos del archivo:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia.
- bucket_name: nombre del segmento de Cloud Storage
- path_to_bak_file: ruta del archivo BAK
- database_name: nombre de una base de datos de la instancia de Cloud SQL
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/import
Cuerpo JSON de la solicitud:
{ "importContext": { "fileType": "BAK", "uri": "gs://bucket_name/path_to_bak_file", "database": "database_name" } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
Para usar otro usuario en la importación, especifica la propiedad
Para ver la lista completa de parámetros de la solicitud, consulta la página instances:import.importContext.importUser
. - Si no necesitas conservar los permisos de gestión de identidades y accesos que has definido anteriormente, quítalos.
Si se produce un error como ERROR_RDBMS
, comprueba que el archivo BAK
esté en el segmento y que tengas los permisos
correctos en el segmento. Para obtener ayuda sobre cómo configurar el control de acceso en Cloud Storage, consulta el artículo
Crear y gestionar listas de control de acceso.
Importar copias de seguridad diferenciales de bases de datos
Antes de importar una copia de seguridad diferencial de una base de datos, debes importar una copia de seguridad completa y tu base de datos debe estar en el estado RESTORING
después de la importación de la copia de seguridad completa.
Cloud SQL no admite la importación de copias de seguridad de bases de datos diferenciales en instancias en las que se ha habilitado la recuperación a un momento dado. Esto se debe a que la importación de una copia de seguridad de la base de datos con --no-recovery
es un requisito previo para importar copias de seguridad diferenciales de la base de datos. Además, no puedes habilitar la recuperación a un momento dado en una instancia si la base de datos está en el estado RESTORING
.
Si se produce un error en la importación, haz una de las siguientes acciones para habilitar la recuperación a un momento dado:
Ponga online la base de datos que esté en el estado
RESTORING
mediante la marca--recovery-only
.Elimina la base de datos.
Para importar datos a una instancia de Cloud SQL mediante una copia de seguridad diferencial de la base de datos, sigue estos pasos:
gcloud
Crea un segmento de Cloud Storage para la importación.
gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
Este paso no es obligatorio, pero te recomendamos que lo hagas para no abrir el acceso a otros datos.
- Asegúrate de haber configurado los roles y permisos necesarios.
- Sube los datos del archivo BAK al segmento.
- Describe la instancia a la que vas a importar:
gcloud sql instances describe INSTANCE_NAME
- Copia el campo
serviceAccountEmailAddress
. - Usa
gcloud storage buckets add-iam-policy-binding
para conceder elstorage.objectViewer
rol de gestión de identidades y accesos a la cuenta de servicio del cubo. Para obtener más información sobre cómo configurar permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos. Importa una copia de seguridad completa con
--no-recovery
.gcloud sql import bak INSTANCE_NAME gs://BUCKET_NAME/DIFFERENTIAL_BASE_FILENAME \ --database=DATABASE_NAME --bak-type=FULL --no-recovery
-
Importa una copia de seguridad diferencial de la base de datos.
gcloud sql import bak INSTANCE_NAME gs://BUCKET_NAME/DIFFERENTIAL_BACKUP_FILENAME \ --database=DATABASE_NAME --bak-type=DIFF --no-recovery
-
Después de restaurar todos los archivos de copia de seguridad, usa la marca
--recovery-only
para poner en línea la base de datos importada desde un estadoRESTORING
. Recomendamos encarecidamente a los usuarios que no utilicen comandos de T-SQL para poner en línea la base de datos importada.gcloud sql import bak INSTANCE_NAME \ --database=DATABASE_NAME --recovery-only
- Si no necesitas conservar los permisos de gestión de identidades y accesos que hayas definido anteriormente, quítalos con
gcloud storage buckets remove-iam-policy-binding
.
REST v1
- Crea un segmento de Cloud Storage.
Sube el archivo al segmento.
Para obtener ayuda sobre cómo subir archivos a los contenedores, consulta el artículo Subir objetos.
- Proporciona a tu instancia el
storage.objectAdmin
rol de gestión de identidades y accesos para tu segmento. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos. -
Importa una copia de seguridad completa con
noRecovery
.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto.
- INSTANCE_ID: el ID de instancia.
- BUCKET_NAME: el nombre del segmento de Cloud Storage.
- PATH_TO_BAK_FILE: la ruta del archivo BAK.
- DATABASE_NAME: el nombre de una base de datos dentro de la instancia de Cloud SQL.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import
Cuerpo JSON de la solicitud:
{ "importContext": { "fileType": "BAK", "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE", "database": "DATABASE_NAME" "bakImportOptions": { "noRecovery": true, "bakType": "FULL", } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
- Importa una copia de seguridad diferencial de la base de datos.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia
- bucket_name: el nombre del segmento de Cloud Storage
- path_to_bak_file: la ruta al archivo BAK
- database_name: el nombre de una base de datos dentro de la instancia de Cloud SQL
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/import
Cuerpo JSON de la solicitud:
{ "importContext": { "fileType": "BAK", "uri": "gs://bucket_name/path_to_bak_file", "database": "database_name" "bakImportOptions": { "bakType": "DIFF", "noRecovery": true, } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
Después de restaurar todos los archivos de copia de seguridad, usa la marca
recoveryOnly
para poner en línea la base de datos importada desde un estadoRESTORING
. Recomendamos encarecidamente a los usuarios que no utilicen comandos de T-SQL para poner en línea la base de datos importada.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto
- INSTANCE_ID: el ID de instancia
- BUCKET_NAME: el nombre del segmento de Cloud Storage
- PATH_TO_BAK_FILE: la ruta al archivo BAK
- DATABASE_NAME: el nombre de una base de datos dentro de la instancia de Cloud SQL
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import
Cuerpo JSON de la solicitud:
{ "importContext": { "fileType": "BAK", "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE", "database": "DATABASE_NAME" "bakImportOptions": { "recoveryOnly": true, } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
- Si no necesitas conservar los permisos de gestión de identidades y accesos que has definido anteriormente, quítalos.
REST v1beta4
- Crea un segmento de Cloud Storage.
Sube el archivo al segmento.
Para obtener ayuda sobre cómo subir archivos a los contenedores, consulta el artículo Subir objetos.
- Proporciona a tu instancia el
storage.objectAdmin
rol de gestión de identidades y accesos para tu segmento. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta Uso de permisos de gestión de identidades y accesos. -
Importa una copia de seguridad completa con
noRecovery
.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT-ID: el ID del proyecto.
- INSTANCE_ID: el ID de instancia.
- BUCKET_NAME: el nombre del segmento de Cloud Storage.
- PATH_TO_BAK_FILE: la ruta del archivo BAK.
- DATABASE_NAME: el nombre de una base de datos dentro de la instancia de Cloud SQL.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/INSTANCE_ID/import
Cuerpo JSON de la solicitud:
{ "importContext": { "fileType": "BAK", "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE", "database": "DATABASE_NAME" "bakImportOptions": { "noRecovery": true, "bakType": "FULL", } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
- Importa una copia de seguridad diferencial de la base de datos.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia
- bucket_name: el nombre del segmento de Cloud Storage
- path_to_bak_file: la ruta al archivo BAK
- database_name: el nombre de una base de datos dentro de la instancia de Cloud SQL
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/import
Cuerpo JSON de la solicitud:
{ "importContext": { "fileType": "BAK", "uri": "gs://bucket_name/path_to_bak_file", "database": "database_name" "bakImportOptions": { "bakType": "DIFF", "noRecovery": true, } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
Después de restaurar todos los archivos de copia de seguridad, usa la marca
recoveryOnly
para poner en línea la base de datos importada desde un estadoRESTORING
. Recomendamos encarecidamente a los usuarios que no utilicen comandos de T-SQL para poner en línea la base de datos importada.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto
- INSTANCE_ID: el ID de instancia
- BUCKET_NAME: el nombre del segmento de Cloud Storage
- PATH_TO_BAK_FILE: la ruta al archivo BAK
- DATABASE_NAME: el nombre de una base de datos dentro de la instancia de Cloud SQL
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/import
Cuerpo JSON de la solicitud:
{ "importContext": { "fileType": "BAK", "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE", "database": "DATABASE_NAME" "bakImportOptions": { "recoveryOnly": true, } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
- Si no necesitas conservar los permisos de gestión de identidades y accesos que has definido anteriormente, quítalos.
Si se produce un error como ERROR_RDBMS
, comprueba que el archivo BAK existe en el segmento y que tienes los permisos correctos en el segmento. Para obtener ayuda sobre cómo configurar el control de acceso en Cloud Storage, consulta el artículo
Crear y gestionar listas de control de acceso.
Importar copias de seguridad de registros de transacciones
Un registro de transacciones es un registro de las transacciones de tu base de datos y de las modificaciones que ha realizado cada transacción. Puedes usarlo para restablecer la coherencia de la base de datos en caso de fallo del sistema.
Para importar datos a una instancia de Cloud SQL mediante una copia de seguridad del registro de transacciones, sigue estos pasos:
gcloud
Opcional: Crea un segmento de Cloud Storage para la importación.
gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
- Sube los archivos de copia de seguridad al segmento.
- Describe la instancia a la que vas a importar:
gcloud sql instances describe INSTANCE_NAME
- Copia el campo
serviceAccountEmailAddress
. - Usa
gcloud storage buckets add-iam-policy-binding
para conceder elstorage.objectViewer
rol de gestión de identidades y accesos a la cuenta de servicio del cubo. Para obtener más información sobre cómo configurar permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos. Importa una copia de seguridad completa con el parámetro
--no-recovery
. Asegúrate de que tu base de datos esté en el estadoRESTORING
después de importar la copia de seguridad completa.gcloud sql import bak INSTANCE_NAME gs://BUCKET_NAME/BACKUP_FILENAME \ --database=DATABASE_NAME --bak-type=FULL --no-recovery
- Opcional: importa una copia de seguridad diferencial.
-
Importa una copia de seguridad del registro de transacciones.
Sustituye lo siguiente: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
- INSTANCE_NAME: el nombre de la instancia.
- BUCKET_NAME: el nombre del segmento de Cloud Storage.
- BACKUP_FILENAME: el nombre del archivo de copia de seguridad.
- DATABASE_NAME: el nombre de una base de datos dentro de la instancia de Cloud SQL.
- STOP_AT_TIMESTAMP: la marca de tiempo en la que debe detenerse la importación del registro de transacciones. Este campo es opcional y el valor debe usar el formato RFC 3339.
- STOP_AT_MARK_NAME: la
transacción marcada
en la que debe detenerse la importación del registro de transacciones. Este es un campo opcional y puede tener cualquier cadena como valor. Si el valor tiene el formato
lsn:log-sequence-number
, la importación del registro de transacciones se detiene en el número de secuencia del registro.
-
Después de restaurar todos los archivos de copia de seguridad, usa la marca
--recovery-only
para poner en línea la base de datos importada desde un estadoRESTORING
. Recomendamos encarecidamente a los usuarios que no utilicen comandos de T-SQL para poner en línea la base de datos importada.gcloud sql import bak INSTANCE_NAME \ --database=DATABASE_NAME --recovery-only
- Si no necesitas conservar los permisos de gestión de identidades y accesos que hayas definido anteriormente, quítalos con
gcloud storage buckets remove-iam-policy-binding
.
REST v1
- Crea un segmento de Cloud Storage.
Sube el archivo al segmento.
Para obtener ayuda sobre cómo subir archivos a los contenedores, consulta el artículo Subir objetos.
- Proporciona a tu instancia el
storage.objectAdmin
rol de gestión de identidades y accesos para tu segmento. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos.
Para ver la lista completa de parámetros de la solicitud, consulta la página instances:import.
-
Importa una copia de seguridad completa con
noRecovery
. Asegúrate de que tu base de datos esté en el estadoRESTORING
después de importar la copia de seguridad completa.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto.
- INSTANCE_ID: el ID de instancia.
- BUCKET_NAME: el nombre del segmento de Cloud Storage.
- PATH_TO_BAK_FILE: la ruta del archivo BAK.
- DATABASE_NAME: el nombre de una base de datos dentro de la instancia de Cloud SQL.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import
Cuerpo JSON de la solicitud:
{ "importContext": { "fileType": "BAK", "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE", "database": "DATABASE_NAME" "bakImportOptions": { "noRecovery": true, "bakType": "FULL", } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
- Opcional: importa una copia de seguridad diferencial.
- Importa una copia de seguridad del registro de transacciones.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto.
- INSTANCE_ID: el ID de instancia.
- BUCKET_NAME: el nombre del segmento de Cloud Storage.
- PATH_TO_TLOG_FILE: la ruta al archivo de registro de transacciones.
- DATABASE_NAME: el nombre de una base de datos dentro de la instancia de Cloud SQL.
- STOP_AT_TIMESTAMP: la marca de tiempo en la que debe detenerse la importación del registro de transacciones. Este campo es opcional y el valor debe usar el formato RFC 3339.
- STOP_AT_MARK_NAME: la
transacción marcada
en la que debe detenerse la importación del registro de transacciones. Este es un campo opcional y puede tener cualquier cadena como valor. Si el valor tiene el formato
lsn:log-sequence-number
, la importación del registro de transacciones se detiene en el número de secuencia del registro.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import
Cuerpo JSON de la solicitud:
{ "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 tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
Repite este paso hasta que se hayan importado todas las copias de seguridad de los registros de transacciones. Después de restaurar todos los archivos de copia de seguridad, usa la marca
recoveryOnly
para poner en línea la base de datos importada desde un estadoRESTORING
. Recomendamos encarecidamente a los usuarios que no utilicen comandos de T-SQL para poner en línea la base de datos importada.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto
- INSTANCE_ID: el ID de instancia
- BUCKET_NAME: el nombre del segmento de Cloud Storage
- PATH_TO_BAK_FILE: la ruta al archivo BAK
- DATABASE_NAME: el nombre de una base de datos dentro de la instancia de Cloud SQL
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import
Cuerpo JSON de la solicitud:
{ "importContext": { "fileType": "BAK", "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE", "database": "DATABASE_NAME" "bakImportOptions": { "recoveryOnly": true, } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
- Si no necesitas conservar los permisos de gestión de identidades y accesos que has definido anteriormente, quítalos.
REST v1beta4
- Crea un segmento de Cloud Storage.
Sube el archivo al segmento.
Para obtener ayuda sobre cómo subir archivos a los contenedores, consulta el artículo Subir objetos.
- Proporciona a tu instancia el
storage.objectAdmin
rol de gestión de identidades y accesos para tu segmento. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta Uso de permisos de gestión de identidades y accesos. -
Importa una copia de seguridad completa con
noRecovery
. Asegúrate de que tu base de datos esté en el estadoRESTORING
después de importar la copia de seguridad completa.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT-ID: el ID del proyecto.
- INSTANCE_ID: el ID de instancia.
- BUCKET_NAME: el nombre del segmento de Cloud Storage.
- PATH_TO_BAK_FILE: la ruta del archivo BAK.
- DATABASE_NAME: el nombre de una base de datos dentro de la instancia de Cloud SQL.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT-ID/instances/INSTANCE_ID/import
Cuerpo JSON de la solicitud:
{ "importContext": { "fileType": "BAK", "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE", "database": "DATABASE_NAME" "bakImportOptions": { "noRecovery": true, "bakType": "FULL", } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
- Opcional: importa una copia de seguridad diferencial.
- Importa una copia de seguridad del registro de transacciones. Aquí,
stopAt
ystopAtMark
son campos opcionales.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto.
- INSTANCE_ID: el ID de instancia.
- BUCKET_NAME: el nombre del segmento de Cloud Storage.
- PATH_TO_BAK_FILE: la ruta del archivo BAK.
- DATABASE_NAME: el nombre de una base de datos dentro de la instancia de Cloud SQL.
- STOP_AT_TIMESTAMP: la marca de tiempo en la que debe detenerse la importación del registro de transacciones. Este campo es opcional y el valor debe usar el formato RFC 3339.
- STOP_AT_MARK_NAME: la
transacción marcada
en la que debe detenerse la importación del registro de transacciones. Este es un campo opcional y puede tener cualquier cadena como valor. Si el valor tiene el formato
lsn:log-sequence-number
, la importación del registro de transacciones se detiene en el número de secuencia del registro.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID/import
Cuerpo JSON de la solicitud:
{ "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 tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
Repite este paso hasta que se hayan importado todas las copias de seguridad del registro de transacciones. Después de restaurar todos los archivos de copia de seguridad, usa
recoveryOnly
para poner en línea la base de datos importada.Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- PROJECT_ID: el ID del proyecto
- INSTANCE_ID: el ID de instancia
- BUCKET_NAME: el nombre del segmento de Cloud Storage
- PATH_TO_BAK_FILE: la ruta al archivo BAK
- DATABASE_NAME: el nombre de una base de datos dentro de la instancia de Cloud SQL
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID/import
Cuerpo JSON de la solicitud:
{ "importContext": { "fileType": "BAK", "uri": "gs://BUCKET_NAME/PATH_TO_BAK_FILE", "database": "DATABASE_NAME" "bakImportOptions": { "recoveryOnly": true, } } }
Para enviar tu solicitud, elige una de estas opciones:
curl
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente 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 ContentDeberías recibir una respuesta JSON similar a la siguiente:
- Si no necesitas conservar los permisos de gestión de identidades y accesos que has definido anteriormente, quítalos.
Usar la importación rayada
Estas son las ventajas de la importación segmentada:
- Reducción del tiempo necesario para completar las operaciones
- Se pueden importar bases de datos de más de 5 TB
Una posible desventaja de usar la importación por franjas es que todos los archivos del conjunto de franjas (en lugar de un solo archivo) deben subirse a la misma carpeta de tu segmento de Cloud Storage antes de realizar la importación.
Planificar las operaciones
En la mayoría de los casos prácticos, la importación segmentada ofrece un mejor rendimiento sin ningún inconveniente. Sin embargo, si no puedes crear una copia de seguridad en un conjunto de bandas desde una instancia determinada, o si tu base de datos tiene menos de 5 TB y no es fundamental que el rendimiento sea más rápido, puedes usar una importación sin bandas.
Cómo usar la importación de franjas
gcloud
Crea un segmento de Cloud Storage para la importación.
gcloud storage buckets create gs://BUCKET_NAME --location=LOCATION_NAME --project=PROJECT_NAME
Este paso no es obligatorio, pero es muy recomendable para que no abras el acceso a ningún otro dato.
- Asegúrate de que has configurado los roles y permisos de gestión de identidades y accesos necesarios.
- Crea una carpeta en tu contenedor.
- Para importar la base de datos, sube los archivos del conjunto de bandas (de la base de datos) a la nueva carpeta. Asegúrate de que todos los archivos se hayan subido a la carpeta y de que esta no contenga archivos adicionales.
- Describe la instancia desde la que vas a exportar:
gcloud sql instances describe INSTANCE_NAME
- Copia el campo
serviceAccountEmailAddress
. - Usa
gcloud storage buckets add-iam-policy-binding
para conceder elstorage.objectViewer
rol de gestión de identidades y accesos a la cuenta de servicio del cubo. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta Uso de permisos de gestión de identidades y accesos. - Importa los datos de la carpeta. La diferencia con una importación sin franjas es la siguiente: el URI enlaza con el nombre de la carpeta a la que se ha subido el conjunto de franjas, en lugar de a un solo archivo, y se especifica el parámetro
--striped
:gcloud beta sql import bak INSTANCE_NAME gs://BUCKET_NAME/FOLDER_NAME \ --database=DATABASE_NAME --striped
- Si no necesitas conservar los permisos de gestión de identidades y accesos que hayas definido anteriormente, quítalos con
gcloud storage buckets remove-iam-policy-binding
.
REST v1
- Crea un segmento de Cloud Storage.
Sube el archivo al segmento.
Para obtener ayuda sobre cómo subir archivos a los contenedores, consulta el artículo Subir objetos.
- Proporciona a tu instancia el
storage.objectAdmin
rol de gestión de identidades y accesos para tu segmento. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos. - Importa los datos del archivo:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia.
- bucket_name: nombre del segmento de Cloud Storage
- path_to_folder: ruta a la carpeta (en el segmento de Cloud Storage) en la que se encuentra el conjunto de franjas
- database_name: nombre de la base de datos que se va a crear en la instancia de Cloud SQL
- true | false: se define como
true
para usar la importación por franjas.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/import
Cuerpo JSON de la solicitud:
{ "importContext": { "fileType": "BAK", "uri": "gs://bucket_name/path_to_folder", "database": "database_name", "bakImportOptions": { "striped": true | false } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
Para usar otro usuario en la importación, especifica la propiedad
Para ver la lista completa de parámetros de la solicitud, consulta la página instances:import.importContext.importUser
. - Si no necesitas conservar los permisos de gestión de identidades y accesos que has definido anteriormente, quítalos.
REST v1beta4
- Crea un segmento de Cloud Storage.
Sube el archivo al segmento.
Para obtener ayuda sobre cómo subir archivos a los contenedores, consulta el artículo Subir objetos.
- Proporciona a tu instancia el
storage.objectAdmin
rol de gestión de identidades y accesos para tu segmento. Para obtener más información sobre cómo definir permisos de gestión de identidades y accesos, consulta Usar permisos de gestión de identidades y accesos. - Importa los datos del archivo:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- project-id: el ID del proyecto
- instance-id: el ID de instancia.
- bucket_name: nombre del segmento de Cloud Storage
- path_to_folder: ruta a la carpeta (en el segmento de Cloud Storage) en la que se encuentra el conjunto de franjas
- database_name: nombre de la base de datos que se va a crear en la instancia de Cloud SQL
- true | false: se define como
true
para usar la importación por franjas.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/import
Cuerpo JSON de la solicitud:
{ "importContext": { "fileType": "BAK", "uri": "gs://bucket_name/path_to_folder", "database": "database_name", "bakImportOptions": { "striped": true | false } } }
Para enviar tu solicitud, despliega una de estas opciones:
Deberías recibir una respuesta JSON similar a la siguiente:
Para usar otro usuario en la importación, especifica la propiedad
Para ver la lista completa de parámetros de la solicitud, consulta la página instances:import.importContext.importUser
. - Si no necesitas conservar los permisos de gestión de identidades y accesos que has definido anteriormente, quítalos.
Si aparece un error como ERROR_RDBMS
, comprueba que la tabla exista. Si la tabla existe, confirma que tienes los permisos correctos en el contenedor. Para obtener ayuda sobre cómo configurar el control de acceso en Cloud Storage, consulta el artículo
Crear y gestionar listas de control de acceso.
Siguientes pasos
- Obtén más información sobre cómo comprobar el estado de las operaciones de importación y exportación.
- Consulta más información sobre las prácticas recomendadas para importar y exportar datos.
- Problemas conocidos de importación y exportación