Autor: Daniel Davila Lopez

Daniel Davila Lopez

Servicios Críticos, Inicio BCP

         Dentro del plan de continuidad del negocio (BCP) establecemos las prioridades de servicios instalados en la empresa, de tal manera que cualquier eventualidad, el impacto al negocio se contenga y el tiempo de recuperación sea mínimo o nulo.

         El plan de recuperación (DRP) le permite conocer el equipo y el rol de cada uno de los que están a cargo del plan de recuperación, así como la lista de procedimientos a seguir. 

         El Plan de continuidad del negocio (BCP) es el último eslabón de la cadena y se aplica únicamente para proteger las aplicaciones que son vitales para la actividad de la empresa. A diferencia del BCP que protege contra problemas de hardware, el DRP protege contra desastres exteriores.

Anatomia de un BCP

      Para tener una idea exacta del plan, se deben determinar cuales áreas son vulnerables y cuales son los procesos con potencial perdida de datos, el siguiente paso es desarrollar un plan, esto involucra 6 pasos generales:

1.- Identificar el alcance del plan

2.- Identificar las áreas clave del negocio

3.- Identificar las funciones criticas

4.- Identificar las dependencias entre varias áreas de negocio y sus funciones

5.- Determinar los tiempos de caída para cada función critica

6.- Crear un plan para mantener las operaciones.

Prioridades, inventario y roles de Servidores

          Cada modulo de aplicaciones debe ser evaluado para determinar su criticidad en caso de crisis y el trato que debe dársele. 
         Esta etapa nos permite simplemente conocer la necesidad de respaldo y restauración de algunos datos y servidores. 

Nota: se debe tener en cuenta que hacer una copia de respaldo de todo es imposible.

Definición de Técnicas de Recuperación y Tiempos 

          Esta claro que lo mejor es la menor perdida de datos y el menor tiempo posible de recuperación. De tal manera que estructuraremos nuestros procedimientos acorde a la tecnología actual optimizando recursos y tiempo. Tenemos 4 tipos de recuperación

1.- Backup VEEAM y Granular

2.- Replicación VEEAM 

3.- Replicacion 3PAR (Remote Copy)

4.- DAG (Only Exchange 2016)

          De primera instancia se explicara de manera genérica los procedimientos para la recuperación de los datos.

Documento Confidencial

SQL, Insertar datos con identity y constraint

Se ejecuta el siguiente query para generar el query de inserción de datos

	--
	--********************************************  CAMPOS  ***************************************
	declare @ServerS as varchar(50) = 'srvbattanet'
	declare @BDataS as varchar(50) = 'battanet'
	declare @BData as varchar(100) = 'battanet' ----baasedatos destino
	declare @Tabla as varchar(200) = 'tipos'
	declare @Regs as varchar(600) = '('
	
	DECLARE objects_cursor CURSOR LOCAL FAST_FORWARD READ_ONLY FOR 
			SELECT  c.name 
			FROM sys.columns c JOIN sys.tables t 
			ON c.object_id = t.object_id
			WHERE t.name = @Tabla
	DECLARE @object_name AS varchar(100) 
	OPEN objects_cursor 
	FETCH NEXT FROM objects_cursor into @object_name
	WHILE @@FETCH_STATUS = 0 
		BEGIN
			set @Regs = @Regs + @object_name + ','
			FETCH NEXT FROM objects_cursor into @object_name
	end;	 		
	CLOSE objects_cursor; 
    DEALLOCATE objects_cursor;
	
	set @Regs = substring(@Regs,1,LEN(@Regs)-1) + ')'
	
	print	'--ALTER TABLE '+ @BData + '.dbo.[' + @Tabla + '] NOCHECK CONSTRAINT ALL'
	print   'set identity_insert '+ @BData + '.dbo.[' + @Tabla + '] on'
	print   'insert into '+ @BData + '.dbo.[' + @Tabla + ']' + @Regs 
	print   'SELECT T.* FROM ' + @ServerS + '.' + @BDataS + '.dbo.' + @Tabla + ' T  WITH (NOLOCK)'
	print   'set identity_insert '+ @BData + '.dbo.[' + @Tabla + '] oFF'
	print   '--ALTER TABLE '+ @BData + '.dbo.[' + @Tabla + '] CHECK CONSTRAINT ALL'
	--**********************************************************************************************
	--*******************************************  EJEMPLO  ****************************************
		ALTER TABLE battanet.dbo.[tipos] NOCHECK CONSTRAINT ALL
		set identity_insert battanet.dbo.[tipos] on
		insert into battanet.dbo.[tipos](id_tipo,tipo_grupo,tipo_subgrupo,nombre,descripcion,id_estatus)
		SELECT T.* FROM srvbattanet.battanet.dbo.tipos T  WITH (NOLOCK)
		set identity_insert battanet.dbo.[tipos] oFF
		ALTER TABLE battanet.dbo.[tipos] CHECK CONSTRAINT ALL
	--Caracteristica:  conectado a la base de datos donde se insertaran los datos y tener un linked server de donde se extraera la informacion}}