¿Cómo adjuntar masivamente las bases de datos del ADD (nuevo visor) mediante SQL Management Studio?

Adjuntar ADD SQL server

Este proceso nos ayuda a optimizar mucho tiempo para el proceso de mantenimiento o migración de los sistemas.

A continuación menciono el proceso para poder adjuntar masivamente las base de datos del ADD esto para el nuevo visor mediante SQL server

1. Copiar la base de datos ADD_catalogos.mdf, DB_Directory.mdf y .ldf para ambos,  y las bases de datos de los ADD (Son 4: DB_DocumentsMetadata, DB_DocumentsContent, DB_OthersMetadata, DB_OthersContent todas con su respectivo .mdf y .ldf ) de las empresas de la instancia original a la carpeta DATA de la nueva instancia.
2. Mediante SQL Management Studio, Adjuntar la base de datos DB_Directory y ADD_catalogos.mdf
3. Ejecutar las consultas para adjuntar las bases de datos según corresponda. (Modificando la ruta por la nueva donde se encuentran las bases de datos ejemplo: C:\Program Files\Microsoft SQL Server\MSSQL10_50.COMPAC_R2\MSSQL\DATA\’):

Nota: En total son 4 bases de datos por cada ADD y tienen la siguiente estructura:

  • document_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX_content
  • document_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX_metadata
  • other_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX_content
  • other_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX_metadata

Las bases de datos se componen de 2 archivos .mdf  y .ldf.
Los archivos .ldf pueden tener 3 estructuras, por ejemplo:

Caso 1: Cuando el nombre del archivo .ldf tiene su terminación correcta.

Caso 2: Cuando el nombre del archivo .ldf tiene sufijo _log

Caso 3: Cuando el nombre del archivo .ldf tiene prefijo mastlog.ldf

  • other_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX_content.ldf
  • other_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX_content_log.ldf
  • mastlog.ldfother_XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX_content.ldf

Al ejecutar el query para restaurar las base de datos están cada escenario separado por una linea de comentario — ( ejecutar el query quitando los guiones de comentario (– ) ) , y ejecutar el query por cada escenario .

Adjuntar las base de datos DB_OthersMetadata

use DB_Directory
declare @DB_DocumentsMetadata nvarchar(1000)
declare @MDF nvarchar(1000),@LDF nvarchar(1000),@ruta nvarchar(1000)
set @ruta=’C:\Program Files (x86)\Microsoft SQL Server\MSSQL12.COMPAC2014\MSSQL\DATA\’
DECLARE Empresas CURSOR FOR
select DB_DocumentsMetadata from DatabaseDirectory
OPEN Empresas
FETCH NEXT FROM Empresas into @DB_DocumentsMetadata;
WHILE @@FETCH_STATUS = 0
BEGIN
set @MDF =@ruta+@DB_DocumentsMetadata+’.mdf’
— set @LDF =@ruta+@DB_DocumentsMetadata+’.ldf’
— set @LDF =@ruta+@DB_DocumentsMetadata+’_log.ldf’
— set @LDF =@ruta+’mastlog.ldf’+@DB_DocumentsMetadata+’.ldf’
EXEC sp_attach_db @dbname = @DB_DocumentsMetadata, @filename1=@MDF, @filename2 = @LDF
FETCH NEXT FROM Empresas into @DB_DocumentsMetadata;
END;
CLOSE Empresas;
DEALLOCATE Empresas;


Adjuntar las base de datos DB_DocumentsContent

use DB_Directory
declare @DB_DocumentsContent nvarchar(1000)
declare @MDF nvarchar(1000),@LDF nvarchar(1000),@ruta nvarchar(1000)
set @ruta=’C:\Program Files (x86)\Microsoft SQL Server\MSSQL12.COMPAC2014\MSSQL\DATA\’
DECLARE Empresas CURSOR FOR
select DB_DocumentsContent from DatabaseDirectory
OPEN Empresas
FETCH NEXT FROM Empresas into @DB_DocumentsContent;
WHILE @@FETCH_STATUS = 0
BEGIN
set @MDF =@ruta+@DB_DocumentsContent+’.mdf’
— set @LDF =@ruta+@DB_DocumentsContent+’.ldf’
— set @LDF =@ruta+@DB_DocumentsContent+’_log.ldf’
— set @LDF =@ruta+’mastlog.ldf’+@DB_DocumentsContent+’.ldf’
EXEC sp_attach_db @dbname = @DB_DocumentsContent, @filename1=@MDF, @filename2 = @LDF
FETCH NEXT FROM Empresas into @DB_DocumentsContent;
END;
CLOSE Empresas;
DEALLOCATE Empresas;


Adjuntar las base de datos DB_OthersMetadata

use DB_Directory
declare @DB_OthersMetadata nvarchar(1000)
declare @MDF nvarchar(1000),@LDF nvarchar(1000),@ruta nvarchar(1000)
set @ruta=’C:\Program Files (x86)\Microsoft SQL Server\MSSQL12.COMPAC2014\MSSQL\DATA\’
DECLARE Empresas CURSOR FOR
select DB_OthersMetadata from DatabaseDirectory
OPEN Empresas
FETCH NEXT FROM Empresas into @DB_OthersMetadata;
WHILE @@FETCH_STATUS = 0
BEGIN
set @MDF =@ruta+@DB_OthersMetadata+’.mdf’
–set @LDF =@ruta+@DB_OthersMetadata+’.ldf’
–set @LDF =@ruta+@DB_OthersMetadata+’_log.ldf’
set @LDF =@ruta+’mastlog.ldf’+@DB_OthersMetadata+’.ldf’
EXEC sp_attach_db @dbname = @DB_OthersMetadata, @filename1=@MDF, @filename2 = @LDF
FETCH NEXT FROM Empresas into @DB_OthersMetadata;
END;
CLOSE Empresas;
DEALLOCATE Empresas;


Adjuntar las base de datos DB_OthersContent

use DB_Directory
declare @DB_OthersContent nvarchar(1000)
declare @MDF nvarchar(1000),@LDF nvarchar(1000),@ruta nvarchar(1000)
set @ruta=’C:\Program Files (x86)\Microsoft SQL Server\MSSQL12.COMPAC2014\MSSQL\DATA\’
DECLARE Empresas CURSOR FOR
select DB_OthersContent from DatabaseDirectory
OPEN Empresas
FETCH NEXT FROM Empresas into @DB_OthersContent;
WHILE @@FETCH_STATUS = 0
BEGIN
set @MDF =@ruta+@DB_OthersContent+’.mdf’
— set @LDF =@ruta+@DB_OthersContent+’.ldf’
— set @LDF =@ruta+@DB_OthersContent+’_log.ldf’
— set @LDF =@ruta+’mastlog.ldf’+@DB_OthersContent+’.ldf’
EXEC sp_attach_db @dbname = @DB_OthersContent, @filename1=@MDF, @filename2 = @LDF
FETCH NEXT FROM Empresas into @DB_OthersContent;
END;
CLOSE Empresas;
DEALLOCATE Empresas;

4. Verificar se hayan adjuntado correctamente las bases de datos.
5. Cerrar SQL Management Studio.
6. Verificar en el sistema correspondiente que la empresa abra su ADD

Puntuación del Post
¡Haz clic para calificar esta publicación!
[Total: 1 Promedio: 5]

Talvez le guste...

Posts populares

Deja un comentario