Configuración del trasvase de registros de SQL Server 2008

Configuración del trasvase de registros de SQL Server 2008

Estoy intentando configurar el envío de registros desde un clúster de dos máquinas Windows Server 2008 R2 x64 que ejecutan SQL Server 2008 R2 a una sola máquina que ejecuta el mismo sistema operativo y base de datos. La configuración parece ir bien (sin errores), pero a la hora programada aparece el siguiente par de errores en el registro de eventos de SQL Server de la máquina principal:

BACKUP No se pudo completar el comando BACKUP LOG MyDb. Consulte el registro de la aplicación de respaldo para ver mensajes detallados

Error: 3041, gravedad 16, estado 1

Preguntas: 1. ¿Dónde está el 'registro de la aplicación de respaldo'? 2. ¿Cómo puedo saber qué es el error 3041?

SQL Server y el Agente SQL Server se ejecutan en el servidor primario y secundario bajo una cuenta de dominio. Creé un recurso compartido en el secundario como \secundario\SqlLogShipData, le di control total a la cuenta del dominio y agregué dos subdirectorios: Copia de seguridad y Destino.

Cuando configuré el trasvase de registros, le di \secundario/SqlLogShipData\Backup como ruta de red a la carpeta de respaldo, y para el secundario le doy \secundario\SqlLogShipData\Destination como carpeta de destino para los archivos copiados.

Puse la carpeta de respaldo en el secundario porque el principal es un clúster y quiero que el trasvase de registros funcione cuando cualquiera de los nodos esté activo. También intenté especificar un directorio que sea local respecto al principal, pero no hubo diferencia.

No hay errores relevantes en el registro de eventos SQL del secundario.

Supongo que se trata de un problema de permisos, pero no estoy seguro de por qué. Agradecería cualquier ayuda que puedan brindarme.

Respuesta1

Configurar el envío de registros en un clúster es una configuración bastante sencilla. Lo he usado muchas veces.

Antes de comenzar, asegúrese de eliminar la configuración de envío de registros existente, ya que no funciona. Retire el secundario y luego elimine el primario.

Requisitos previos

Primero, analicemos algunos requisitos previos.

  • ¿Está la base de datos en el modelo de recuperación COMPLETO?
  • ¿Se ha realizado una copia de seguridad COMPLETA?
  • ¿Tiene implementada una tarea de copia de seguridad de LOG? Si es así, asegúrese de eliminar esta base de datos de ese trabajo. Log Shipping se encargará de las copias de seguridad de LOG por usted.

Configuración primaria

Bien, ahora intentemos repasar la configuración de envío de registros.

Primero, intente que funcione el envío de registros primario.

Vuelva a las propiedades de su base de datos y marque 'Habilitar esto como base de datos principal', y luego haga clic enConfiguración de copia de seguridadbotón.

Aquí debe especificar dos cosas: la ruta de red a sus copias de seguridad de LOG y la ruta local a las mismas.

En mi servidor es algo como esto:

  • C:\Copias de seguridad SQL\LS
  • \MiServidor\LS

Permisos de la carpeta de envío de registros

A continuación, ubique esta carpeta en el Explorador de Windows, haga clic derecho, elija propiedades y seleccione la pestaña Permisos. Aquí, deberá agregar su cuenta principal del Servicio del Agente SQL y asegurarse de que tenga permisos de lectura y escritura en esta carpeta.

A continuación, seleccione la pestaña Compartir. Aquí, deberá compartir la carpeta y asegurarse de que la cuenta del Servicio secundario de SQL Server tenga permisos de lectura en el recurso compartido.

Pruebe las copias de seguridad de envío de registros

Una vez que tenga esto implementado, probemos sus copias de seguridad de envío de registros. Mire en Trabajos del Agente SQL y debería ver algo llamado LSBackup_YourDatabase.

Haga clic derecho en el trabajo y ejecútelo. Lo más probable es que cualquier error esté relacionado con los permisos de carpetas y recursos compartidos. Publica los detalles.

No configure el secundario hasta que esta parte funcione primero.

Inicializar el secundario

Una vez que tenga la tarea de copia de seguridad de envío de registros ejecutándose varias veces sin errores, ejecute su tarea de copia de seguridad COMPLETA una vez más.

Copie y restaure la copia de seguridad COMPLETA en su servidor secundario. Asegúrese de utilizar NORECOVERY.

Configuración secundaria

Vuelva a las propiedades de la base de datos y a la sección Trasvase de registros. En el área Bases de datos secundarias, haga clic en Agregar. Conéctese a su servidor secundario.

En la pestaña Inicializar, elija 'No, el secundario está inicializado'.

En la pestaña Copiar, ingrese la carpeta local en el servidor secundario donde desea copiar los archivos de respaldo de Log Shipping. Asegúrese de que la cuenta de servicio secundaria del Agente SQL tenga permisos de lectura y escritura en esta carpeta.

Pruebe los trabajos de copia y restauración

Ejecute el trabajo de copia en el servidor secundario. Lo más probable es que cualquier error esté relacionado con la carpeta y sus permisos. Publica los detalles. Inicie sesión en el historial de trabajos. Utilice los informes de envío de registros integrados para ver hasta dónde está llegando.

Una vez que el trabajo de Copiar esté funcionando, continúe con el trabajo de Restauración. Los mismos pasos de prueba.

¡Buena suerte!

Respuesta2

Intente crear un disco de clúster adicional para realizar una copia de seguridad, en caso de que haya problemas al escribir en una de las unidades locales del nodo; de esa manera, el trasvase de registros siempre debería funcionar. De lo contrario, haga una copia de seguridad y restaure el envío de registros desde otro servidor remoto independiente.

información relacionada