SQL Server - Errorres en copias SQL SERVER y VSS

 
Vista:
sin imagen de perfil

Errorres en copias SQL SERVER y VSS

Publicado por ANTONIO (1 intervención) el 01/09/2023 13:31:45
Buenos días y un saludo a todos.

El problema es el siguiente.

Tengo un servidor MS SQL SERVER que tiene programadas 1 copia completa semanal, una diaria diferencial y una copia cada 4 horas diferencial del registro de transacciones. De esta manera puedo recuperar copias anteriores en el tiempo.

Por otro lado realizo copias del disco duro donde se encuentras las copias de SQL SERVER con aplicaciones de terceros(COBIAN REFLECTOR) y usando Instantáneas de Volumen VSS.

El problema es que cuando realiza las copias COBIAN con VSS, me altera el fichero de copias de SQL SERVER, impidiéndome hacer las copias diferenciales desde el AGENTE DE SQL SERVER dándome el siguiente mensaje:

"Ejecutado como usuario: NT SERVICE\SQLSERVERAGENT. No se puede hacer una copia de seguridad diferencial para la base de datos porque no hay una copia de seguridad de la base de datos actual. Realice una copia de seguridad completa de la base de datos: utilice BACKUP DATABASE sin la opción WITH DIFFERENTIAL. [SQLSTATE 42000] (Error 3035) Fin anómalo de BACKUP DATABASE. [SQLSTATE 42000] (Error 3013)."

Si vuelvo a hacer una copia completa desde el AGENTE SQL SERVER ya me vuelve a dejar hacer las copias diferenciales. Pero en cuando se ejecuta de nuevo la copia externa de COBIAN o cualquier otra aplicación que use copia utilizando VSS, vuelve otra vez a dar el error.

¿Alguien podría decirme si existe solución para este problema?

Gracias y un cordial saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Errorres en copias SQL SERVER y VSS

Publicado por adm8080 (1 intervención) el 07/09/2023 17:41:26
No es problema de usar VSS. El Agente de SQL Server también utiliza ese servicio al realizar las copias.

Para que una copia no "rompa" la secuencia de copias completas y diferenciales, hay que añadir el modificador "COPY_ONLY".
Por ejemplo:

BACKUP DATABASE miBaseDeDatos TO DISK = 'N:\copia.bak'
WITH COPY_ONLY;


Referencia:
https://learn.microsoft.com/es-es/sql/relational-databases/backup-restore/copy-only-backups-sql-server?view=sql-server-ver16#TsqlProcedure
(al principio del artículo explica el concepto).

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar