¿Cómo puedo hacer una copia de seguridad de una base de datos de SQL Server con Windows Server Backup?

11

Aparentemente, Windows Server Backup tiene cierto soporte para la copia de seguridad de las bases de datos de SQL Server:

Capacidad para recuperar aplicaciones. Windows Server Backup utiliza la funcionalidad VSS que está integrada en aplicaciones como Microsoft® SQL Server® para proteger los datos de la aplicación. [Fuente: TechNet ]

Además, las personas informan que Windows Server Backup parece desencadenar algún tipo de operación de copia de seguridad en SQL Server .

Sin embargo, no encuentro la documentación (oficial) sobre cómo hacer una copia de seguridad de las bases de datos de SQL Server con Windows Server Backup.

  • ¿Solo necesito hacer una copia de seguridad del .mdf? El .mdfy el .ldf?
  • ¿En línea o solo fuera de línea?
  • ¿Cuál es el procedimiento oficial para restaurar las bases de datos de SQL Server respaldadas de esta manera?
  • ¿Hay algo especial que considerar al hacer copias de seguridad incrementales / diferenciales?
  • ¿Dónde se documenta todo esto?

(Sé cómo hacer copias de seguridad con los planes de mantenimiento de SQL Server sqlmaint.exe, T-SQL BACKUP y SQL Server Agent. Solo estoy interesado en la alternativa que ofrece Windows Server Backup (¿aparentemente?)).

Heinzi
fuente
¿Qué versión de Windows Server y qué versión de SQL Server?
Pauska
@pauska: Personalmente, me interesaría Windows Server 2012 R2 y SQL Server 2012. (deliberadamente mantengo la pregunta más general para que sea más útil para otros).
Heinzi
1
Tengo un Windows Server 2008 que está haciendo una copia de seguridad completa. Por lo que puedo decir, está extrayendo las bases de datos de SQL Server Express como parte de su copia de seguridad completa, ya que cada base de datos dice que se realizó una última copia de seguridad en el momento en que se ejecuta esa copia de seguridad. Esto me ha confundido, ya que estoy tratando de descubrir cómo me las arreglé para hacer una copia de seguridad de estas bases de datos, ya que no puedo encontrar un script que lo esté haciendo en ninguna parte. Creo que escribiré un guión para hacerlo de todos modos, para que sepa que está funcionando y sé exactamente lo que tengo.
Dave Cousineau

Respuestas:

5

Windows Server Backup no pretende ser una herramienta de respaldo para SQL Server.

... Sin embargo, el diseño lo hace especialmente adecuado para organizaciones más pequeñas o personas que no son profesionales de TI ...

Cita de la Guía paso a paso de Windows Server Backup para la sección de Windows Server 2008 : "¿Quién debe usar Windows Server Backup?"

La sección que citó básicamente dice que cuando se inicia Windows Server Backup, se activará la función VSS en Windows. SQL Server sabrá que se está produciendo una instantánea de volumen y, con la ayuda del servicio SQL Server Writer, se asegurará de que se pueda realizar una copia de los archivos de la base de datos (* .mdf, * .ndf, * .ldf).

El propósito del servicio SQL Server Writer se define de la siguiente manera:

Cuando se ejecuta, Motor de base de datos se bloquea y tiene acceso exclusivo a los archivos de datos. Cuando el servicio SQL Writer no se está ejecutando, los programas de copia de seguridad que se ejecutan en Windows no tienen acceso a los archivos de datos, y las copias de seguridad deben realizarse utilizando la copia de seguridad de SQL Server.

Use el Servicio de Escritor SQL para permitir que los programas de copia de seguridad de Windows copien archivos de datos de SQL Server mientras se ejecuta SQL Server.

Cita de la sección del Servicio de Escritor SQL : "Propósito"

Entonces, eso es básicamente todo lo que sucede con la copia de seguridad de Windows Server.

Las copias de seguridad creadas con Windows Server Backup mientras se ejecuta SQL Server deben ser consistentes, pero las transacciones que aún no se han escrito en el disco no se encuentran en la instantánea de volumen. La instantánea de la base de datos se tomó mientras estaba EN LÍNEA.

Sin embargo, el artículo de MSDN Snapshot Backups dice:

Solo los siguientes tipos de copias de seguridad pueden ser copias de seguridad de instantáneas:

  • Copias de seguridad completas
  • Copias de seguridad parciales
  • Copias de seguridad de archivos
  • Copias de seguridad de bases de datos diferenciales. Estos solo son compatibles cuando el proveedor utiliza la interfaz VSS.

y adicionalmente:

Excepto como se indicó anteriormente en este tema, las copias de seguridad de instantáneas son funcionalmente equivalentes a las copias de seguridad convencionales correspondientes. Puede usar copias de seguridad de instantáneas en secuencias de restauración con copias de seguridad completas que no sean instantáneas, copias de seguridad diferenciales y copias de seguridad de registros. Al igual que otras copias de seguridad, las copias de seguridad de instantáneas se rastrean en la base de datos msdb, donde backups.is_snapshot = 1 identifica las copias de seguridad de instantáneas. Para obtener más información acerca de msdb, consulte Base de datos msdb.

SQL Server no admite la restauración en línea desde una copia de seguridad de instantánea. Al restaurar una copia de seguridad de instantánea, la base de datos se desconecta automáticamente. Una restauración gradual puede incorporar copias de seguridad de instantáneas, pero todas las secuencias de restauración son restauraciones sin conexión. Para obtener más información acerca de las restauraciones fragmentarias, consulte Realización de restauraciones fragmentarias.

Para responder tu pregunta:

  • ¿Solo necesito hacer una copia de seguridad del .mdf? El .mdf y el .ldf?
  • ¿En línea o solo fuera de línea?
  • ¿Cuál es el procedimiento oficial para restaurar las bases de datos de SQL Server respaldadas de esta manera?
  • ¿Hay algo especial que considerar al hacer copias de seguridad incrementales / diferenciales?
  • ¿Dónde se documenta todo esto?

Respuestas:

  1. Sí, puede hacer una copia de seguridad de Windows Server (VSS) de los archivos .mdf y .ldf. La copia de seguridad debe ser coherente, pero la base de datos estará DESCONECTADA después de una restauración.
  2. Si SQL Server está detenido / la base de datos está separada / la base de datos está DESCONECTADA, entonces una copia VSS de los archivos .mdf y .ldf es 100% consistente.
  3. No estoy seguro de cómo restaurar una base de datos (a un punto en el tiempo) que se realiza con Windows Server Backup, porque la base de datos se restaura en un estado sin conexión. Una base de datos en el estado DESCONECTADO ya no se puede restaurar / recuperar y si la base de datos EN LÍNEA da como resultado que una base de datos se considere totalmente recuperada. Recomendaría copias de seguridad completas de SQL Server FULL, DIFF y TLOG para garantizar que pueda realizar una restauración de la base de datos a un punto en el tiempo.
  4. Los registros de transacciones no forman parte de las instantáneas creadas con Windows Server Backup y deben realizarse adicionalmente. Las instantáneas diferenciales son compatibles con proveedores externos como parte de la secuencia de copia de seguridad, pero Windows Server Backup no parece ser capaz de realizar copias de seguridad diferenciales. En este caso, también tendría que realizar copias de seguridad diferenciales adicionales. (ver 3.)
  5. Diferentes referencias

Explicado en la implementación de la vida real

En nuestro entorno, tenemos una situación similar en la que VMware realiza una instantánea y los DBA realizan volcados de SQL Server con Commvault. El historial de copias de seguridad se ve así:

DBNAME  TYPE BACKUPSET_NAME            IS_SNAPSHOT BACKUP_START_DATE        
------- ---- ------------------------- ----------- -----------------------  
DB_NAME  Full  NULL                    1           2016-12-10 18:23:59.000  
DB_NAME  Full  CommVault Galaxy Backup 0           2016-12-10 20:07:41.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-11 06:00:40.000  
DB_NAME  Full  NULL                    1           2016-12-11 18:24:00.000  
DB_NAME  Diff  CommVault Galaxy Backup 0           2016-12-11 20:03:38.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-12 06:02:29.000  
DB_NAME  Log   CommVault Galaxy Backup 0           2016-12-12 07:02:17.000  

La instantánea de VMware creará una entrada en las tablas del historial de la base de datos de MSDB con IS_SNAPSHOT = 1y FULLpara cada instantánea de VMware que se realice (diariamente). Las copias de seguridad de SQL Server nativas (bueno, Commvault usando nativo) se realizan usando copias de seguridad COMPLETAS, DIFF y TLOG. Estas copias de seguridad no están marcadas como IS_SNAPSHOT y existen como entradas COMPLETAS adicionales (una vez por semana), DIFF (cada dos días) y LOG (cada hora) en las tablas de copia de seguridad en la base de datos msdb.

Con esta configuración, podemos realizar una restauración a la fecha y hora instantánea y luego poner la base de datos en LÍNEA, o podemos realizar una restauración individual a cualquier punto en el tiempo usando las copias de seguridad "nativas" de SQL Server.

John aka hot2use
fuente
1

No puedes O al menos probablemente no deberías. En lo que respecta a las bases de datos de SQL Server, las copias de seguridad nativas son el método admitido.

Creo que puede estar malentendido lo que dice el artículo de TechNet. El comentario que citó no indica que puede usar la copia de seguridad de Windows Server para bases de datos de SQL Server. En realidad, solo destaca que la copia de seguridad de Windows Server utiliza el mismo Servicio de instantáneas de volumen que SQL Server utiliza. Más información: TechNet: Servicio de escritor SQL

shiitake
fuente
Sé que no debería: no confiaría mis datos en una función tan poco documentada. Aún así, estoy ansioso por ver si es posible, teóricamente: SQL Server hace proporcionar un escritor de VSS, y la seguridad de Windows Server es un solicitante de VSS, por lo que voy a dejar la pregunta abierta por ahora. Tal vez sea solo una cuestión de unir esos dos (hay, por ejemplo, instrucciones en línea sobre cómo hacer esto para el escritor de Hyper-V VSS ).
Heinzi
1
Al parecer, seguridad de Windows Server no desencadenar algún tipo de copia de seguridad del servidor SQL, ver este quesiton .
Heinzi
1

La copia de seguridad SQL no solo copia datos, sino que también trunca el registro. Puede encontrar cientos de opciones en la página de manual que le ayudarán, como comprimir el archivo de copia de seguridad sobre la marcha.

Recuerdo que la copia de seguridad vss se usó para copiar una máquina virtual congelada o para tomar una instantánea de un lun en una SAN para hacer una copia de seguridad de una imagen estática, pero la copia de seguridad será "consistente con el bloqueo" al igual que la interrupción de energía y no será realmente consistente.

Relacionado

Massimiliano Piccinini
fuente
0

Yo creo que utiliza un tipo de copia de seguridad especial llamado "instantáneas de copia de seguridad".

De la documentación de SQL Server 2008:

La copia de seguridad de instantáneas de SQL Server también es utilizada por el Servicio de instantáneas de volumen (VSS) de Microsoft Windows Server 2003 y por todo el software de copia de seguridad y software de almacenamiento que utiliza este marco. Para obtener más información, vea Servicio de escritor de SQL.

Todo está muy poco claro para mí. Especialmente si esto trunca los registros de transacciones o no.

StackzOfZtuff
fuente