Estoy tratando de realizar una copia de seguridad de una BD SQLServer a un Blob Storage, pero no ha sido posible

Davif F. Ocampo 0 Puntos de reputación
2024-05-21T20:53:52.9566667+00:00

Estoy intentando realizar una copia de seguridad de una base de datos SQL Server en un Azure Blob Storage, pero no he tenido éxito. Curiosamente, en el mismo servidor tengo varias bases de datos y algunas se respaldan correctamente mientras que otras no.

He verificado los permisos del blob, las capacidades y la conexión. Anteriormente, las copias de seguridad se realizaban sin problemas, pero desde hace algún tiempo han dejado de funcionar, a pesar de que no se ha cambiado nada en la configuración.

A continuación, proporciono algunos detalles adicionales y pasos que he seguido para intentar resolver el problema:

  1. Verificación de Permisos: He confirmado que la Shared Access Signature (SAS) tiene los permisos necesarios (rwl - read, write, list).
  2. Conectividad: La resolución DNS y la conectividad a blob.core.windows.net funcionan correctamente.
  3. Formato de la URL: La URL utilizada está correctamente formateada y termina con el nombre del archivo de respaldo.
  4. Logs y Configuración de Firewall: No hay restricciones de firewall o configuraciones de red que estén bloqueando el acceso a Azure Blob Storage.
  5. Revisión Manual: Usé Azure Storage Explorer para subir archivos manualmente utilizando la misma SAS y URL, y funcionó correctamente.

A pesar de todo esto, sigo recibiendo errores al intentar realizar las copias de seguridad.

===================================

Backup failed for Server 'NAME-SERVER'. (Microsoft.SqlServer.SmoExtended)


For help, click: https://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=17.100.31.0&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Backup+Server&LinkId=20476


Program Location:

at Microsoft.SqlServer.Management.Smo.Backup.SqlBackup(Server srv)

at Microsoft.SqlServer.Management.SqlManagerUI.BackupPropBackupOptions.OnRunNow(Object sender)

===================================

Microsoft.Data.SqlClient.SqlError: Write on "https://storageaccount.blob.core.windows.net/backup-bd/bd_backup.bak" failed: 1117(The request could not be performed because of an I/O device error.) (Microsoft.SqlServer.Smo)


For help, click: https://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=17.100.31.0&LinkId=20476


Program Location:

at Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQueryWithMessage(StringCollection queries, ServerMessageEventHandler dbccMessageHandler, Boolean errorsAsMessages, Boolean retry)

at Microsoft.SqlServer.Management.Smo.BackupRestoreBase.ExecuteSql(Server server, StringCollection queries)

at Microsoft.SqlServer.Management.Smo.Backup.SqlBackup(Server srv)

Azure
Azure
Plataforma e infraestructura de informática en la nube para crear, implementar y administrar aplicaciones y servicios a través de una red mundial de centros de datos administrados por Microsoft.
412 preguntas
SQL Server
SQL Server
Familia de sistemas de análisis y administración de bases de datos relacionales de Microsoft para soluciones de comercio electrónico, línea de negocio y almacenamiento de datos.
108 preguntas
0 comentarios No hay comentarios
{count} votos

1 respuesta

Ordenar por: Muy útil
  1. Roger Carias 15 Puntos de reputación
    2024-05-24T16:44:00.9466667+00:00

    Puedes seguir estos pasos para realizar una copia de seguridad de una base de datos SQL Server a un Blob Storage de Azure utilizando SQL Server Management Studio (SSMS) y Azure Storage Explorer. Aquí tienes los pasos para hacerlo:

    Paso 1: Configurar el Blob Storage en Azure

    1. Inicia sesión en el Portal de Azure.
    2. Crea un nuevo Blob Storage o selecciona uno existente.
    3. Anota la cadena de conexión al Blob Storage, que necesitarás más tarde.

    Paso 2: Crear una cuenta de almacenamiento en SQL Server Management Studio (SSMS)

    1. Abre SQL Server Management Studio (SSMS) y conéctate al servidor SQL Server donde se encuentra la base de datos que deseas respaldar.
    2. Navega a "SQL Server Agent" > "Maintenance Plans".
    3. Haz clic derecho en "Maintenance Plans" y selecciona "New Maintenance Plan".

    Paso 3: Configurar la tarea de copia de seguridad

    1. Arrastra la tarea "Back Up Database Task" desde el panel de la izquierda a la pestaña de diseño.
    2. Configura la tarea para respaldar la base de datos deseada.
    3. En la pestaña "Destination", selecciona "Disk" y elige una ubicación de archivo temporal.
    4. Haz clic en "OK" para guardar la tarea.

    Paso 4: Agregar una tarea de copia de seguridad de Blob Storage

    1. En el Maintenance Plan Designer, haz clic derecho en un área en blanco y selecciona "New Task" > "Execute T-SQL Statement Task".
    2. En la configuración de la tarea, ingresa un nombre para la tarea y en el campo "SQL Statement", ingresa el siguiente comando T-SQL para copiar el archivo de respaldo al Blob Storage:
    sqlCopiar código
    EXECUTE
    

    Paso 5: Ejecutar el plan de mantenimiento

    1. Haz clic en el botón "Save" para guardar el plan de mantenimiento.
    2. Haz clic derecho en el plan de mantenimiento en el Explorador de objetos y selecciona "Execute" para ejecutar el plan.

    Paso 6: Verificar la copia de seguridad en el Blob Storage

    1. Abre Azure Storage Explorer y conéctate a tu cuenta de Azure.
    2. Navega hasta el contenedor Blob donde esperas encontrar la copia de seguridad de la base de datos.
    3. Verifica que el archivo de copia de seguridad se haya cargado correctamente en el contenedor.

    Siguiendo estos pasos, deberías poder realizar una copia de seguridad de tu base de datos SQL Server en un Blob Storage de Azure. Asegúrate de ajustar los nombres de base de datos y las URL según corresponda en tu entorno.

    0 comentarios No hay comentarios

Su respuesta

Las respuestas se pueden marcar como respuestas aceptadas por el autor de la pregunta, lo que ayuda a los usuarios a conocer la respuesta que resolvió el problema del autor.