En este instructivo, se describe cómo crear una copia de seguridad de una base de datos de Microsoft SQL Server 2022 directamente en un bucket de Cloud Storage y restablecerla más adelante. La función nativa de copia de seguridad de SQL Server, que se introdujo en SQL Server 2022, ofrece una estrategia rentable y sin inconvenientes para la recuperación ante desastres y la migración de datos basadas en la nube.
La función nativa de copia de seguridad de SQL Server aprovecha los comandos BACKUP TO URL y RESTORE FROM URL que admiten el almacenamiento de objetos compatible con S3, incluido Cloud Storage. Esto elimina la necesidad de almacenamiento local intermedio, lo que simplifica el flujo de trabajo de la copia de seguridad y reduce la sobrecarga operativa.
Este instructivo está dirigido a administradores e ingenieros de bases de datos.
Objetivos
En este instructivo, se muestra cómo completar las siguientes tareas para alcanzar tu objetivo:- Crear un nuevo bucket de Cloud Storage
- Configura un conector de SQL Server
- Crea una copia de seguridad de tu base de datos
- Restablece tu base de datos desde la copia de seguridad
Costos
En este documento, usarás los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costos en función del uso previsto,
usa la calculadora de precios.
Cuando completes las tareas que se describen en este documento, podrás borrar los recursos que creaste para evitar que se te siga facturando. Para obtener más información, consulta Realiza una limpieza.
Antes de comenzar
Para este instructivo, necesitas un Google Cloud proyecto. Puedes crear uno nuevo o seleccionar un proyecto que ya hayas creado:
-
En la consola de Google Cloud , en la página del selector de proyectos, selecciona o crea un proyecto de Google Cloud .
Roles necesarios para seleccionar o crear un proyecto
- Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
-
Crea un proyecto: Para crear un proyecto, necesitas el rol de Creador de proyectos (
roles/resourcemanager.projectCreator), que contiene el permisoresourcemanager.projects.create. Obtén más información para otorgar roles.
-
Verifica que la facturación esté habilitada para tu proyecto de Google Cloud .
-
En la consola de Google Cloud , activa Cloud Shell.
-
Asegúrate de que Microsoft SQL Server 2022 o una versión posterior esté instalado y en ejecución.
Asegúrate de que tanto tu proyecto de Google Cloud como SQL Server tengan los permisos necesarios para realizar tareas de copia de seguridad y restauración.
Asegúrate de que el usuario o la cuenta de servicio asociados con las claves de acceso tengan permisos para crear y ver objetos en el bucket de Cloud Storage.
Asegúrate de que la cuenta de usuario de SQL Server que se usa para realizar la copia de seguridad tenga permisos de copia de seguridad de la base de datos y del registro.
Cree un bucket de Cloud Storage
Puedes crear un bucket de Cloud Storage con la consola de Google Cloud o el comando gcloud storage.
Para crear un bucket de Cloud Storage con el comando gcloud storage, sigue estos pasos.
Seleccionar tu Google Cloud proyecto.
gcloud config set project PROJECT_ID
Crea un bucket. Para crear el bucket, ejecuta el comando
gcloud storage buckets createde la siguiente manera.gcloud storage buckets create gs://BUCKET_NAME --location=BUCKET_LOCATION
Reemplaza lo siguiente:
BUCKET_NAME: con un nombre único para tu bucket.BUCKET_LOCATION: con la ubicación de tu bucket.
Configura la interoperabilidad de S3 y crea una clave de acceso
Para permitir que SQL Server se comunique con Cloud Storage a través del protocolo S3, debes habilitar la interoperabilidad y generar una clave de acceso siguiendo estos pasos:
Navega a la configuración de Cloud Storage en la consola de Google Cloud .
Selecciona la pestaña Interoperabilidad.
En Claves de acceso para tu cuenta de usuario, haz clic en Crear una clave.

Guarda de forma segura la clave de acceso y el secreto generados. Los necesitarás en el siguiente paso.
Para los entornos de producción, te recomendamos que uses una clave de código de autenticación de mensajes basado en hash (HMAC) de cuenta de servicio para mejorar la seguridad y la administración.
Agrega credenciales a SQL Server
Para permitir que SQL Server se autentique con tu bucket de Cloud Storage, debes crear un objeto de credencial dentro de SQL Server para almacenar la clave de acceso y el secreto de Cloud Storage. Para ello, ejecuta el siguiente comando de T-SQL en SQL Server Management Studio (SSMS).
CREATE CREDENTIAL CREDENTIAL_NAME
WITH
IDENTITY = 'S3 Access Key',
SECRET = 'ACCESS_KEY:SECRET';
Reemplaza lo siguiente:
CREDENTIAL_NAMEpor un nombre para tus credenciales.ACCESS_KEY: con la clave de acceso que creaste en la sección anterior.SECRET: con el Secret que creaste en la sección anterior.
IDENTITY = 'S3 Access Key' es fundamental, ya que le indica a SQL Server que use el nuevo conector S3. El secreto debe tener el formato de la clave de acceso, seguido de dos puntos y, luego, la clave secreta.
Ejemplo:
CREATE CREDENTIAL sql_backup_credentials
WITH
IDENTITY = 'S3 Access Key',
SECRET = 'GOOGGE3SVF7OQE5JRMLQ7KWB:b31Pl8Tx1ARJfdGOsbgMFQNbk3nPdlT2UCYzs1iC';
Crea una copia de seguridad de tus datos en Cloud Storage
Con la credencial establecida, ahora puedes crear una copia de seguridad de tu base de datos directamente en el bucket de Cloud Storage con el comando BACKUP DATABASE y la opción TO URL. Antepón el prefijo s3://storage.googleapis.com a la URL para usar el conector de S3, como se muestra a continuación.
BACKUP DATABASE DATABASE_NAME
TO URL = 's3://storage.googleapis.com/BUCKET_NAME/FOLDER_NAME/BACKUP_FILE_NAME.bak'
WITH
CREDENTIAL = 'CREDENTIAL_NAME',
FORMAT,
STATS = 10,
MAXTRANSFERSIZE = 10485760,
COMPRESSION;
Reemplaza lo siguiente:
CREDENTIAL_NAMEEs el nombre de la credencial que creaste en el paso 3. Por ejemplo,sql_backup_credentials.BUCKET_NAMEEs el nombre del bucket que creaste en el paso 1.FOLDER_NAMEEs el nombre de la carpeta en la que deseas almacenar el archivo de copia de seguridad.BACKUP_FILE_NAMEEl nombre del archivo de copia de seguridad.
Las descripciones de los parámetros de copia de seguridad que se usan en el comando son las siguientes:
FORMAT: Reemplaza los archivos de copia de seguridad existentes y crea un nuevo conjunto de medios.STATS: Informa el progreso de la copia de seguridad.COMPRESSION: Comprime la copia de seguridad, lo que puede reducir el tamaño del archivo y el tiempo de carga.MAXTRANSFERSIZE: Se recomienda para evitar errores de E/S con archivos de copia de seguridad grandes.
Para obtener más información, consulta Copia de seguridad de SQL Server en URL para almacenamiento de objetos compatible con S3.
Para bases de datos muy grandes, puedes dividir la copia de seguridad en varios archivos de la siguiente manera.
BACKUP DATABASE DATABASE_NAME
TO
URL = 's3://storage.googleapis.com/BUCKET_NAME/FOLDER_NAME/BACKUP_FILE_NAME_0.bak',
URL = 's3://storage.googleapis.com/BUCKET_NAME/FOLDER_NAME/BACKUP_FILE_NAME_1.bak'
-- ... more files
WITH
CREDENTIAL = 'CREDENTIAL_NAME',
FORMAT,
STATS = 10,
MAXTRANSFERSIZE = 10485760,
COMPRESSION;
Restablece tus datos desde Cloud Storage
Puedes restablecer tu base de datos directamente desde un archivo de copia de seguridad almacenado en Cloud Storage con el comando RESTORE DATABASE de la siguiente manera.
RESTORE DATABASE DATABASE_NAME
FROM URL = 's3://storage.googleapis.com/BUCKET_NAME/FOLDER_NAME/BACKUP_FILE_NAME.bak'
WITH
CREDENTIAL = 'CREDENTIAL_NAME';
Reemplaza lo siguiente:
CREDENTIAL_NAMEEs el nombre de la credencial que creaste en el paso 3. Por ejemplo,sql_backup_credentials.BUCKET_NAMEEs el nombre del bucket que creaste en el paso 1.FOLDER_NAMEEs el nombre de la carpeta en la que deseas almacenar el archivo de copia de seguridad.BACKUP_FILE_NAMEEl nombre del archivo de copia de seguridad.
Realiza una limpieza
Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en este instructivo, sigue estos pasos:
Borra el proyecto
- En la Google Cloud consola, ve a la página Administrar recursos.
- En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
- En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.
¿Qué sigue?
- Explora arquitecturas de referencia, diagramas y prácticas recomendadas sobre Google Cloud. Consulta nuestro Cloud Architecture Center.