Ventanas.  virus  Cuadernos.  Internet.  oficina.  Utilidades.  Conductores

Y también: copia de seguridad SQL, copia de seguridad 1C.

El servidor 1C contiene datos en la base de datos, que se encuentra en el servidor SQL. Hoy estamos considerando MS SQL 2005/2008.

Para garantizar que los datos no se pierdan en caso de que se queme un disco del servidor u otras situaciones de fuerza mayor, es necesario realizar copias de seguridad desde el principio.

Por supuesto, nadie quiere hacer bolígrafos todos los días Copia de seguridad de la base de datos SQL 1C. Hay herramientas automáticas para esto. Conozcámoslos.

Configuración de BackupSQL

Configurar Backup SQL para una base de datos 1C no es diferente de configurar un respaldo para cualquier otra base de datos.

Para configurar, ejecute MS SQL Management Studio. Este programa está en el grupo de programas MS SQL.

Adición de una tarea de copia de seguridad de la base de datos SQL 1C

Las tareas para la copia de seguridad automática de las bases de datos SQL se encuentran en la rama Gestión / Planes de mantenimiento.

Para agregar una nueva tarea de copia de seguridad, haga clic en el grupo Planes de mantenimiento botón derecho del ratón haga clic y seleccione Nuevo plan de mantenimiento.

Introduzca el nombre de la tarea. El nombre solo te importa a ti. Por si acaso, es mejor usar caracteres ingleses.

Configuración de una tarea de copia de seguridad de la base de datos SQL 1C

Se abrirá el Editor de trabajos. Tenga en cuenta que los trabajos pueden realizar varias operaciones con la base de datos, y no solo copias de seguridad.

La lista de opciones para las operaciones se muestra en la parte inferior izquierda. Seleccione Tarea de copia de seguridad de la base de datos haciendo doble clic o simplemente arrastrando hacia la derecha.

Fíjate en la flecha. Puede arrastrar y soltar varias operaciones diferentes o idénticas y vincularlas con flechas. Luego se ejecutarán varias tareas a la vez en la secuencia especificada por usted.

En la ventana de configuración, seleccione las bases de datos SQL 1C requeridas (puede tener varias o una a la vez).

Seleccione la ubicación para guardar la copia de seguridad de la base de datos SQL 1C. Debe seleccionar un disco duro físicamente diferente. Organizativamente, puede marcar la casilla "Crear subcarpetas".

Ahora vamos a configurar el programa de copia de seguridad. El programa de copia de seguridad predeterminado se agregó solo. Pero puede agregar varios horarios (por ejemplo, uno diario, uno semanal, etc.). Haga clic en el botón de configuración del programa de copia de seguridad.

La captura de pantalla muestra un ejemplo de una base de datos SQL de copia de seguridad diaria 1C a las 3 am.

Para que el programa de copia de seguridad de la lista sea agradable y comprensible, puede cambiarlo.

Guardar una tarea de copia de seguridad de la base de datos SQL 1C

Haga clic en grabar. La tarea aparecerá en el lado izquierdo de la lista.

¡Es importante! Compruebe que la tarea de copia de seguridad de la base de datos SQL se haya creado correctamente. Para hacer esto, haga clic derecho en la tarea y seleccione Ejecutar.

Como resultado, debería aparecer un archivo de copia de seguridad en la ruta especificada. Si algo está mal, elimine la tarea (Del) y comience desde el principio.

Después de estudiar mucha información de diferentes fuentes, decidí describir el proceso de configuración Copia de reserva Base de datos MS servidor SQL Para completo modelos de recuperación, qué modelo usar depende de usted, pero por mi cuenta agregaré que si su base de datos tiene un gran flujo de información (por ejemplo, se crean decenas, cientos o miles de documentos en 1 hora), entonces la pérdida de información para un día de trabajo será simplemente inaceptable, en este caso solo un modelo completo garantizará la seguridad de sus datos. Este artículo es para principiantes. administradores del sistema y contiene en mi opinión el conjunto mínimo de acciones para la copia de seguridad de la base de datos 1C. Instalar \ Configurar el propio servidor SQL e implementar una base de datos en él no está dentro del alcance de este artículo.

Todas las configuraciones se realizarán utilizando SQL Management Studio. Primero debe crear un dispositivo de respaldo, no puede crearlo, pero en mi opinión, es mucho más conveniente y más correcto. en un instante SQL Management Studio -> Objetos del servidor-> Dispositivos de copia de seguridad. Debe especificar el nombre del dispositivo y el archivo en el que se almacenarán las copias de seguridad (preferiblemente con la extensión BAK), luego puede ver el contenido de los medios, todas las copias de seguridad se enumerarán allí.

Ahora puede comenzar a configurar el Plan de mantenimiento. Puede crear un Plan de mantenimiento para todas las bases de datos a la vez, pero es más conveniente crear su propio plan de mantenimiento para cada base de datos.

Nuestro Plan de Mantenimiento tendrá tres subplanes: 1 - copia de seguridad de la base de datos (Full); 2 - copia de seguridad de la base de datos (Diferencial); 3 - Respaldo del Registro de Transacciones. Cada subplan tiene su propio cronograma de ejecución. Todos ajustan el cronograma según su propia discreción, en mi caso, la copia completa se realiza una vez a la semana el domingo, la copia diferencial todos los días excepto el domingo, JT: registro de transacciones cada hora. Con este modelo de copia de seguridad, puede restaurar la base de datos deseada a cualquier fecha y hora, y ahorramos espacio en el disco duro. en realidad, una copia de seguridad completa se realiza una vez a la semana y solo cambia durante la semana.

Establecimiento de un horario diario. El semanal difiere solo en la casilla marcada "Domingo" y eliminado de "Lunes" a "Sábado"

Horario para ZhT. El rojo resalta el tiempo de ahorro durante el día, tiene sentido, por ejemplo, si los usuarios trabajan con la base de datos durante un período determinado, si el modo de funcionamiento es 24x7, entonces lo dejamos por defecto.

La siguiente figura muestra el editor del subplan semanal, se compone de tareas que se realizan en una secuencia dada. La secuencia se establece manualmente, y las flechas verdes significan que la siguiente tarea se ejecutará solo si la tarea anterior se completa con éxito, y la azul significa que la tarea se ejecutará en cualquier finalización de la tarea anterior. En el editor de subplanes de mantenimiento, se pueden agregar tareas desde el "Panel de elementos" que se encuentra en la esquina superior izquierda cuando el editor está abierto.

Tareas. Debe ingresar a cada tarea y seleccionar la base de datos para la que se realizará y una serie de otras configuraciones (si corresponde). Considere qué tareas contiene el subplan semanal de nuestro plan de mantenimiento.

1. "Tarea de comprobación de integridad de la base de datos". La siguiente tarea se ejecutará solo si la base de datos no contiene errores. (¿Reemplazar para hacer una copia de seguridad de una base de datos con errores?)

2. "Reconstruir índice" (tarea de reconstrucción de índice). Es necesario restaurar (reconstruir) el índice todos los días, porque cuando se trabaja con índices, están muy fragmentados, y cuando la fragmentación es superior al 25%, SQL comienza a "ralentizarse" notablemente. Esta operación requiere muchos recursos, por lo que se puede realizar al menos una vez a la semana, y en tiempo de día subplan para reemplazar su tarea de "Reorganización de índices" que requiere menos recursos.

3. "Actualizar Estadísticas" (Tarea Actualizar Estadísticas). Para optimizar... Por cierto, esta tarea se puede realizar varias veces durante el día, si su base de datos está muy cargada.

4. Después de actualizar las estadísticas, es OBLIGATORIO borrar el caché de procedimiento. Para hacer esto, arrastre la tarea "Ejecutar declaración T-SQL" al editor y en el " declaración T-SQL:" escribir un procedimiento DBCC FREEPROCCACHE. Pero tenga en cuenta que este procedimiento borra el caché de TODAS las bases de datos, ¡y actualizamos las estadísticas una por una! Cómo borrar el caché de procedimiento para una base de datos específica, lea. En resumen: DBCC FLUSHPROCINDB(DB_ID)

5. "Copia de seguridad de la base de datos" (tarea de copia de seguridad de la base de datos). En esta tarea, indicamos de qué base de datos estamos respaldando, el tipo de respaldo (Para un subplan semanal - Completo, para uno diario - Diferencial, para uno por hora - Registro de transacciones). Configure el interruptor en "Copia de seguridad de bases de datos en uno". o más archivos" y agregue un dispositivo de copia de seguridad creado anteriormente. En este caso, TODAS las copias se guardan en un archivo, que se especificó al crear dispositivos de copia de seguridad, si el interruptor se deja en "Crear un archivo de copia de seguridad para cada base de datos", se creará para cada copia de seguridad archivo separado y en el Full y en el Differential y en el ZhT, que es muy inconveniente para la recuperación, pero conveniente para el almacenamiento. ¡No olvide especificar que necesita comprimir las copias de seguridad!

6. "Limpieza de diario" Borra las entradas creadas durante la ejecución de las tareas. También puede habilitar la tarea "Limpiar después del mantenimiento" y configurarla para eliminar registros de texto u obsoletos copias de seguridad.

El plan secundario para la copia de seguridad de VT consiste en una tarea "Copia de seguridad de la base de datos". Es más conveniente para mí guardar el VT no en el dispositivo de respaldo, sino en un archivo separado, que debe especificarse en la configuración de la tarea.

Este artículo está dedicado a las soluciones para la recuperación de MS SQL. Intentaremos considerar los puntos principales y los detalles importantes que debe tener en cuenta al planificar y elegir una solución para recuperar una base de datos MS SQL.

Dentro de la planificación de recuperación ante desastres de MS SQL, dos parámetros son de particular interés: el objetivo de tiempo de recuperación (RTO) y el objetivo de punto de recuperación (RPO).

En otras palabras, RPO es el período de tiempo desde el momento de la última copia de seguridad hasta el momento del incidente, durante el cual se perderá una cantidad no crítica de datos (información). RTO es el tiempo permisible por el cual es necesario restaurar el servicio/sistema a la capacidad de trabajo desde el momento del incidente. Ambas opciones tienen valor variable y dependen de los requisitos para un sistema en particular. Por lo tanto, para cumplir con los RPO y RTO establecidos, es necesario contar con un plan de respaldo adecuado. Usando un ejemplo, analicemos posibles incidentes de emergencia e intentemos resaltar los puntos de falla de nuestro servidor SQL y cómo solucionarlos:

Para cada incidente designado, existe toda una gama de medidas para evitar las consecuencias del incidente.

ALTA DISPONIBILIDAD MS SQL

Con altos requisitos para RPO y RTO (segundos/minutos), la única solución para garantizar la tolerancia a fallas de MS SQL es la organización de tecnología de servidor de alta disponibilidad:

  • MS SQL y SO integrados Servidor de windows podemos lograr una alta disponibilidad (High Availability) implementando un Windows Server Failover Cluster (WSFC), incluido el uso de la tecnología AlwaysOn. Un clúster de conmutación por error consta de al menos dos nodos/servidores. Cuando el servidor activo falla, se produce la conmutación por error servidor disponible, se activa. En este caso, todos los servicios que estaban alojados en el servidor se transfieren automática o manualmente a otro nodo disponible.
  • En los casos con una máquina virtual MS SQL, se puede proporcionar alta disponibilidad con la ayuda de las herramientas de virtualización de alta disponibilidad de VMware HA-cluster o Hyper-V. En este caso, cuando el servidor físico falla, le permite iniciar automáticamente máquina virtual en otro servidor de clúster.

Ambos métodos se pueden implementar por separado o juntos, si es necesario. La agrupación en clústeres está más diseñada para corregir rápidamente una falla de hardware.

Beneficios de MS SQL de alta disponibilidad:

  • cambio instantáneo de nodo a nodo, sin tiempo de inactividad
  • sin dependencia de servidores físicos
  • le permite mantener servidores sin interrumpir el trabajo con la base de datos

Desventajas de MS SQL de alta disponibilidad:

  • la implementación requiere infraestructura y recursos adicionales
  • alto costo de la solución para licencias y equipos
  • servicio más complejo y altamente calificado

RESPALDO MS SQL

En los casos en que los requisitos para RTO y RPO no sean altos y no haya necesidad de alta disponibilidad (agrupación en clústeres), para garantizar la tolerancia a fallas de las bases de datos MS SQL en un entorno físico o servidor virtual condición necesaria es una copia de seguridad. Para hacer esto, puede usar las funciones integradas de SQL Server o usar sistemas especializados separados que admitan varios métodos de copia de seguridad de MS SQL, por ejemplo:

Estos sistemas ayudarán a evitar fallas tanto de hardware como de software en la operación del servidor de base de datos.

Después de calcular los valores de RTO y RPO, puede continuar con la planificación de la configuración del servidor SQL. Para lograr estos valores, podemos usar tanto las tecnologías de alta disponibilidad enumeradas anteriormente como las copias de seguridad de la base de datos.

política de copia de seguridad de MS SQL

  • Las copias de seguridad deben estar en medios físicos diferentes de los archivos de la base de datos original
  • Use un servidor de prueba (sandbox) para probar el procedimiento para restaurar copias de seguridad
  • haz tu diario
  • Hágalo tan a menudo como sea posible. Ocupan mucho menos espacio de almacenamiento y reducen aún más el riesgo de pérdida de datos
  • Realice una copia de seguridad de los registros de transacciones con la mayor frecuencia posible. Los registros de transacciones contienen todo actividades recientes ocurrido en la base de datos. Los registros se pueden utilizar para restaurar la base de datos a cierto momento tiempo, y esta es la mayor ventaja. Las copias de seguridad del registro de transacciones se pueden realizar mientras el sistema está en funcionamiento. Si la frecuencia de creación de nuevos datos en su base de datos es muy alta, entonces puede hacer una copia de seguridad del registro de transacciones cada 10 minutos, mientras que para otras bases de datos menos activas, dichas copias de seguridad se pueden realizar cada 30 o 60 minutos.
  • Hacer una copia de seguridad bases del sistema Datos de MS SQL: servidor, maestro, modelo y msdb. Estas bases de datos son absolutamente esenciales, ya que contienen la configuración del sistema, así como la información de trabajo de SQL Server que deberá restaurarse en caso de una restauración completa del sistema.

CONFIGURACIÓN DE RESPALDO DE MS SQL MEDIANTE BACKUP EXEC

Backup Exec ofrece tres métodos de copia de seguridad de MS SQL: completo, diferencial y solo copia completa. El método Completo realiza una copia de seguridad completa de toda la base de datos, mientras que Diferencial solo realiza una copia de seguridad de los bloques modificados en la base de datos desde la última copia de seguridad completa. El método de solo copia completa es idéntico a una copia de seguridad completa, excepto que no afecta las tareas de copia de seguridad diferencial posteriores.

Consideremos cada caso con más detalle Para ello, crearemos una nueva tarea en el sistema para hacer una copia de seguridad de las bases de datos principal y del sistema.

Luego, en la configuración de parámetros (opciones), seleccione el tipo de tarea (primero configure Copia de seguridad completa y luego diferencial).



Backup Exec tiene una función muy importante y característica útil"Comprobación de la integridad de la base de datos antes y después de la copia de seguridad" (Comprobación de coherencia antes/después de la copia de seguridad), hay cuatro opciones para elegir:

  • no revises
  • cheque completo, excluyendo índices
  • verificación completa basada en índices
  • solo comprobacion fisica


Para configurar la copia de seguridad diferencial, debe (de manera similar a la copia de seguridad completa del trabajo) primero agregar un nuevo trabajo diferencial de trabajo y luego seleccionar uno de los métodos de copia de seguridad en la pestaña Microsoft SQL.


En esta lista, estamos principalmente interesados ​​en "Diferencial: copia de seguridad de los cambios en la base de datos desde la última vez que se completó"(creando una copia de seguridad diferencial basada en una copia de seguridad completa). También es posible crear una copia de seguridad diferencial (a nivel de bloque) con posterior conversión a una máquina virtual "Diferencial (nivel de bloque): copia de seguridad de los cambios en la base de datos desde la última vez que se completó; utilícelo con el trabajo de conversión a máquina virtual".

Otro parámetro importante es "Registro: realizar una copia de seguridad y truncar el registro de transacciones" para la copia de seguridad del registro de transacciones de MS SQL.

Hemos cubierto los puntos principales de la copia de seguridad de MS SQL. Tenga en cuenta que la copia de seguridad es parte del Plan de recuperación ante desastres (DRP) general, por lo tanto, antes de planificar una copia de seguridad, es necesario realizar un análisis completo de los sistemas y la infraestructura para garantizar el RPO y el RTO. Y si es posible realizar la planificación de DRP durante el desarrollo del sistema, esto ayudará a eliminar muchos problemas y, posiblemente, a reducir el costo de operación del sistema.

La información utilizada en el artículo está tomada de fuentes oficiales.

Seguimos hablando de respaldo y hoy aprenderemos crear un archivo Bases de microsoft Servidor SQL 2008. Consideraremos todo como de costumbre con ejemplos usando tanto la interfaz gráfica como usando la consulta SQL, y también configuraremos automático crear una copia de seguridad usando un archivo por lotes.

No volveremos a la cuestión de la importancia de la copia de seguridad de la base de datos, ya que ya hemos planteado este tema más de una vez, por ejemplo, en los materiales:

Y en el último artículo, dije que consideraríamos la posibilidad de crear un archivo en el DBMS de MS SQL Server 2008, así que ahora haremos precisamente eso.

Y como ya había mucha teoría, pasemos inmediatamente a la práctica, es decir, a crear una base de respaldo.

¡Nota! Como se puede ver en el título del artículo, haremos el archivo en el DBMS de Microsoft SQL 2008 usando Management Studio. El servidor está ubicado localmente. Sistema operativo Windows 7.

Cómo crear un archivo de una base de datos del servidor SQL

Decidamos que haremos un archivo de una base de datos de prueba llamada "prueba". Desde el principio hasta interfaz gráfica de usuario, y en el proceso de esto, escribiremos un script para que en el futuro podamos simplemente ejecutarlo y no distraernos ingresando todo tipo de parámetros.

Abra Management Studio, expanda « Base de datos» , elegir base deseada, haga clic derecho sobre él, seleccione Tareas->Copia de seguridad

Verás la ventana " Copia de seguridad de la base de datos”, donde puede configurar los parámetros de archivo. acabo de dar un nombre Conjunto de copia de seguridad", y también cambié el nombre del archivo y la ruta, ya que por defecto se creará en la carpeta Archivos de programa, por ejemplo, tenía la ruta predeterminada

C:\Archivos de programa\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\

Por ejemplo, lo cambié a C:\temp\ y nombré el archivo test_arh.bak

También si vas a la pestaña « Opciones», luego puede establecer la configuración para sobrescribir todos los conjuntos de datos, ahora explicaré qué es. Si dejas todo como está, es decir, agregar a un conjunto de datos existente, entonces tendrá un archivo de copia de seguridad, pero con varias instancias de conjuntos de datos, es decir al restaurar, simplemente seleccione el conjunto que necesita. Y si pones " Sobrescribir todos los conjuntos de copias de seguridad existentes”, entonces el conjunto siempre será el mismo, luego, en este caso, deberá crear archivos (digamos diarios) con diferentes nombres. Lo configuré para sobrescribir, porque digamos, en el futuro, planeo crear archivos para cada día con la fecha en el nombre de estos archivos, para poder copiar rápidamente la copia de seguridad que necesito para una fecha determinada en cualquier lugar si es necesario. .

Y por cierto, en este punto, después de ingresar todos los parámetros, puede crear un script para grabarlo y usarlo más tarde. Para hacer esto, simplemente haga clic en la parte superior Guión».

Y como resultado de esta acción, abrirá una ventana de consulta, en la que habrá un código para este script. Volveremos un poco más adelante, pero por ahora, haga clic en "Aceptar" y una vez que se complete la operación, verá una ventana en la que se indicará el resultado de la copia de seguridad, si todo está bien, aparecerá el siguiente mensaje. aparecer

Cree un archivo de la base de datos del servidor SQL a través de una consulta

Si ha hecho todo lo anterior aquellos. hizo clic en "Guión"), entonces ha abierto una ventana de consulta, que en realidad contiene la solicitud de creación de archivo en sí, pero lo reharemos un poco, ya que dije que planeamos ejecutarlo todos los días, para que el nombre sea apropiado, escribiremos esto instrucción SQL.

DECLARE @path AS VARCHAR(200) SET @path = N"C:\temp\test_arh_" + CONVERT(varchar(10), getdate(), 104) + ".bak" RESPALDO DE BASE DE DATOS EN DISCO = @path SIN FORMATO, INIT, NOMBRE = N"Prueba de base de datos", SALTAR, SIN VIENTO, SIN CARGA, ESTADÍSTICAS = 10 IR

Y ahora, si lo ejecutamos, crearemos una copia de seguridad de la base de datos con el nombre test_arh_ la fecha actual.bak

Creación automática de copia de seguridad en el servidor SQL

Para estos fines, MS SQL 2008 tiene oportunidad especial con derecho " Planes de servicio”, donde puede configurar un programa para crear una copia de seguridad de la base de datos, pero sugiero usar un archivo bat para estos fines para configurarlo en el programador y ejecutarlo todos los días y hacer una copia de seguridad de la base de datos.

Para hacer esto, copie la instrucción SQL que revisamos anteriormente y péguela en el bloc de notas ( Recomiendo el Bloc de notas++), luego guardar con extensión .sql aquellos. este script se ejecutará en MS Sql 2008. Luego tendremos que escribir un archivo por lotes para que se conecte al servidor SQL y ejecute nuestro script. También escriba en el bloc de notas:

SET cur_date=%date:~6.4%%date:~3.2%%date:~0.2% osql -S localhost -i C:\temp\test.sql -o C:\temp\%cur_date %_log_sql.log -E

donde, creé una variable cur_date para almacenar la fecha actual en ella, luego me conecto a servidor local, a través de la utilidad osql, que usa ODBC y ejecuta nuestro script ( Lo llamé test.sql), y también escribir un registro, donde y solo necesitábamos nuestra variable, eso es todo, guardar con la extensión .murciélago, creamos una tarea en el programador y podemos decir que nos olvidamos del proceso de archivo de la base de datos, bueno, solo verificamos periódicamente si el archivo se ha creado o no.

Para lo básico, esto es suficiente, ahora que sabe cómo puede hacer una copia de seguridad de las bases de datos en un servidor SQL 2008, en el próximo artículo veremos cómo puede restaurar una base de datos en MS SQL Server 2008. Mientras tanto, eso es todo ! ¡Buena suerte!

Veamos cómo organizar las dos tareas de administración de SQL Server más comunes:

  • Copia de seguridad automática de la base de datos;
  • Eliminación de copias de seguridad antiguas.

Planificación de copias de seguridad de la base de datos

  • Abra SQL Management Studio y conéctese a la base de datos requerida. Asegúrese de que el Agente SQL Server se esté ejecutando;
  • Expanda el nodo Gestión - Mantenimiento (para esto debe tener el rol "SYSADMIN") - haga clic con el botón derecho y seleccione "Nuevo plan de mantenimiento";
  • Introduzca un nombre para el nuevo plan de mantenimiento;
  • Haga clic en el icono de calendario en el lado derecho de la línea única. En la ventana que se abre, configure el tiempo de ejecución de la tarea. Elija un momento en que la base de datos esté menos ocupada;
  • Desde la sección Caja de herramientas, arrastre la Tarea de copia de seguridad de la base de datos al área principal;
  • Haga doble clic en Tarea de copia de seguridad de la base de datos; se abrirá la ventana de configuración de la tarea de copia de seguridad; establezca la configuración deseada;
  • Haga clic en Aceptar; ahora se crearán copias de seguridad de acuerdo con la hora programada;




Eliminación de copias de seguridad antiguas

Dado que los archivos de copia de seguridad se crearán con frecuencia, pronto tendrá menos espacio libre en su disco duro. Por lo tanto, deberá eliminar los archivos de copia de seguridad obsoletos. Sigamos configurando el plan de mantenimiento:

  • Desde la Caja de herramientas, arrastre la Tarea de limpieza de mantenimiento al área principal;
  • Haga doble clic en Tarea de limpieza de mantenimiento para abrir la ventana de propiedades. En él se debe definir la ubicación de las copias de seguridad, su extensión y determinar la antigüedad de los archivos a eliminar. Es una buena práctica mantener copias de seguridad hasta por un mes;
  • Haga clic en Aceptar y guarde el plan de mantenimiento;
  • Luego, puede esperar hasta el próximo momento de ejecución del plan de mantenimiento o ejecutarlo manualmente (haciendo clic con el botón derecho en el plan de mantenimiento en el Explorador de objetos).

Si nota un error, seleccione un fragmento de texto y presione Ctrl + Enter
COMPARTIR: