Published on

July 16, 2024

Cómo mover los archivos de base de datos replicada de SQL Server

Quedarse sin espacio en disco para una base de datos replicada de SQL Server es un problema común que debe abordarse para respaldar el negocio. En este artículo, exploraremos dos opciones para mover los archivos de la base de datos de una base de datos de publicación sin afectar la replicación transaccional.

Opción 1: sp_detach_db

La primera opción es utilizar el comando sp_detach_db. Sin embargo, es importante tener en cuenta que esta función está obsoleta y no estará disponible en futuras versiones de SQL Server. Al intentar utilizar este comando en una base de datos de publicación de replicación, encontrará un mensaje de error que indica que no se puede eliminar la base de datos porque se está utilizando para la replicación.

Para realizar la operación de desmontaje, debe desactivar la opción de publicación utilizando el procedimiento almacenado sp_replicationdboption. Si este procedimiento almacenado no funciona, deberá utilizar el procedimiento almacenado sp_removedbreplication, que elimina todos los objetos de replicación en la base de datos.

Opción 2: ALTER DATABASE MODIFY FILE

Para superar las limitaciones de la opción 1, puede utilizar el comando alter database modify file. Esta opción le permite mover los archivos de la base de datos del publicador sin afectar la replicación transaccional.

Aquí hay un ejemplo de cómo mover el archivo de registro de una base de datos de publicación de replicación:

ALTER DATABASE r_pub
MODIFY FILE (NAME = r_pub_Log, 
             FILENAME = 'Ingrese la ruta válida de la ubicación de la unidad\r_pub_Log.ldf');

Después de ejecutar este comando, deberá detener el trabajo del agente de lectura de registros de replicación y el trabajo del agente de distribución en SQL Server Management Studio. Esto se hace para evitar que el agente de lectura de registros se conecte a la base de datos del publicador.

A continuación, deberá poner la base de datos del publicador sin conexión utilizando el siguiente comando:

ALTER DATABASE r_pub SET OFFLINE;

Una vez que la base de datos esté sin conexión, puede mover el archivo de registro a la nueva ubicación en el Explorador de Windows. Después de mover el archivo de registro, vuelva a poner la base de datos en línea utilizando el siguiente comando:

ALTER DATABASE r_pub SET ONLINE;

Finalmente, regrese al Monitor de actividad de trabajos del Agente de SQL Server y inicie los trabajos de replicación, incluido el agente de lectura de registros y el agente de distribución.

Siguiendo estos pasos, debería poder mover los archivos de la base de datos replicada de SQL Server sin ningún problema.

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.