La replicación de base de datos es una característica en SQL Server que permite alta disponibilidad y recuperación ante desastres. Funciona aplicando registros de transacciones desde la base de datos Principal a la base de datos Espejo. Sin embargo, ciertas operaciones, como agregar un nuevo archivo a la base de datos, no se replican automáticamente. En este artículo, discutiremos los pasos para agregar un archivo de base de datos a una base de datos involucrada en la replicación de SQL Server.
Paso 1: Romper la replicación
El primer paso es romper la replicación entre las bases de datos Principal y Espejo. Esto se puede hacer utilizando el siguiente comando:
ALTER DATABASE [USERDB1] SET PARTNER OFFPaso 2: Agregar nuevo archivo de datos o registro
A continuación, debemos agregar el nuevo archivo de datos o registro a la base de datos. Esto se puede hacer utilizando el siguiente comando:
USE [master]
GO
ALTER DATABASE [UserDB1] ADD FILE (
NAME = N'UserDB1_1',
FILENAME = N'H:MSSQL12.INS1MSSQLDATAUserDB1_1.ndf',
SIZE = 3072KB,
FILEGROWTH = 1024KB
) TO FILEGROUP [PRIMARY]Paso 3: Hacer una copia de seguridad del registro de transacciones en el Primario
Antes de continuar, es importante hacer una copia de seguridad del registro de transacciones en la base de datos Primaria. Esto se puede hacer utilizando el siguiente comando:
BACKUP LOG USERDB1 TO DISK = 'C:USERDB1_LOG.TRN'Paso 4: Restaurar la copia de seguridad del registro de transacciones en el Espejo
Ahora, debemos restaurar la copia de seguridad del registro de transacciones en la base de datos Espejo con la opción Move. Esto se puede hacer utilizando el siguiente comando:
RESTORE LOG [USERDB1] FROM DISK = N'C:USERDB1_LOG.TRN' WITH Move N'UserDB1_1' TO N'I:MSSQL12.SQL14I2MSSQLDATAUserDB1.ndf', NORECOVERY, NOUNLOAD, STATS = 10Paso 5: Restablecer la replicación de la base de datos
Finalmente, podemos restablecer la replicación de la base de datos. Primero, en la base de datos Espejo, use el siguiente comando:
ALTER DATABASE USERDB1 SET PARTNER = 'TCP://SQL2014.RohitGarg.local.in:5022'Luego, en la base de datos Principal, use el siguiente comando:
ALTER DATABASE USERDB1 SET PARTNER = 'TCP://SQL2K14_2.RohitGarg.local.in:5022'Nota: Si las bases de datos Principal y Espejo tienen la misma estructura de archivos, no se necesitan pasos especiales. El archivo se agregará automáticamente a la base de datos Espejo cuando se agregue a la base de datos Principal. Los pasos anteriores solo son válidos para estructuras de archivos diferentes en las bases de datos Principal y Espejo.
Gracias a mi amigo Sachin por señalarme esto.
Referencias:
Rohit Garg (http://mssqlfun.com/)
Puedes encontrar y seguir a MSSQLFUN en varias plataformas:
Otros perfiles vinculados: