# SQL Server - Cómo ofuscar datos sensibles en servidores propios para enviar base de datos a Finnegans

**URL:** <https://bc.finneg.com/t/sql-server-como-ofuscar-datos-sensibles-en-servidores-propios-para-enviar-base-de-datos-a-finnegans/674>\
**Category:** Soporte técnico\
**Tags:** sql-server, backup, base-de-datos\
**Created:** [29 Diciembre, 2021 15:12 UTC](https://bc.finneg.com/t/sql-server-como-ofuscar-datos-sensibles-en-servidores-propios-para-enviar-base-de-datos-a-finnegans/674 "2021-12-29T15:12:51Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![mfernandez](https://bc.finneg.com/user_avatar/bc.finneg.com/mfernandez/32/13958_2.png) [@mfernandez](https://bc.finneg.com/u/mfernandez)\
**Post date:** [29 Diciembre, 2021 15:12 UTC](https://bc.finneg.com/t/sql-server-como-ofuscar-datos-sensibles-en-servidores-propios-para-enviar-base-de-datos-a-finnegans/674/1 "2021-12-29T15:12:51Z")

</div>

**Consulta:**

¿Cómo ofuscar datos para enviar un backup de la base de datos a Finnegans?

* * *

**Respuesta:**

Para ofuscar datos sensibles, ejecutar el script correspondiente en una base de datos de prueba y hacer un backup nuevo con los datos codificados.  
Para realizar esta tarea se debe utilizar Microsoft SQL Server Management Studio

**Nota:** Este artículo es exclusivamente para personal técnico.

Para realizar los siguientes pasos se necesitan conocimientos de administración de _SQL Server_. También se debe contar con los permisos para acceder a las bases y poder realizar modificaciones.

Al no ser productos comercializados por Finnegans, todo lo relacionado a seguridad lo debes resolver con el responsable de administración del servidor. En este caso, dejamos a disposición la documentación oficial del proveedor del producto.

Por favor, no ejecutar el procedimiento si se tienen dudas y comunicarse con Finnegans.

* * *

**Pasos a seguir** :

1. Crear una nueva base de datos de prueba. Luego realizar un backup de la base de datos de producción y restaurarlo en la base de datos creada.

Para hacerlo seguir los pasos de la documentación oficial de Microsoft.

> **[Inicio rápido: copia de seguridad y restauración de la base de datos con SSMS...](https://learn.microsoft.com/es-es/sql/relational-databases/backup-restore/quickstart-backup-restore-database?view=sql-server-ver15)**
>
> En este artículo, aprenderá a crear una nueva base de datos, realizar una copia de seguridad de la base de datos y restaurar la copia de seguridad en SQL Server con SSMS.

1. Ejecutar el script realizando los siguientes pasos:

- Abrir SQL Server Management Studio  
 ![SSMS](https://bc.finneg.com/uploads/default/original/1X/46e609336a5d84ce5689cbe7cfae2c7254a2ace0.jpeg)

- Seleccionar Nueva Consulta  
 ![newQuery](https://bc.finneg.com/uploads/default/original/1X/def6345365dc584f6a510072f546c77432255545.jpeg)

- Seleccionar en el combo la nueva base de datos creada  
 ![SelectBD](https://bc.finneg.com/uploads/default/original/1X/002de5ac2ec0a314959e03cc19b1b9c80ed759e6.jpeg)

- Copiar el siguiente script y pegarlo en la pestaña abierta en el SQL Server Management Studio

> ```auto
> update BSOrganizacion
> set Nombre = 'Organizacion '+ convert(varchar,OrganizacionID), 
> Codigo = 'ORG'+convert(varchar,OrganizacionID),
> Descripcion = case when Descripcion <> '' then 'Descripcion Empresa '+ convert(varchar,OrganizacionID) else '' end ,
> RazonSocial = 'Organizacion '+ convert(varchar,OrganizacionID) ,
> CUIT = left(CUIT,3)+
> replace(replace(replace(replace(replace(replace(replace(right(CUIT,10),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)) ,
> ClaveBancaria = replace(replace(replace(replace(replace(replace(replace(ClaveBancaria,
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)) ,
> OrganizacionImagen = ''	
> 
> update FAFEmpresa
> set Nombre = 'Empresa '+ convert(varchar,EmpresaID) , 
> Codigo = 'EMP'+convert(varchar,EmpresaID) ,
> Descripcion = case when Descripcion <> '' then 'Descripcion Empresa '+ convert(varchar,EmpresaID) else '' end ,
> CUIT = left(CUIT,3)+
> replace(replace(replace(replace(replace(replace(replace(right(CUIT,10),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)) ,
> NroIIBB = replace(replace(replace(replace(replace(replace(replace(NroIIBB,
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> Logo = '' ,
> CodigoCertificado = case when CodigoCertificado <> '' then 'CODIGO '+ convert(varchar,EmpresaID) else '' end ,
> CBUFacturaCredito = replace(replace(replace(replace(replace(replace(replace(CBUFacturaCredito,
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)) ,
> Email = case when Email <> '' then 'empresa'+ convert(varchar,EmpresaID)+'@mail.com' else '' end 
> 	
> update BSpersona
> set Nombre = 'Nombre'+ convert(varchar,PersonaID)+ ' Apellido'+ convert(varchar,PersonaID), 
> Codigo = 'PER'+convert(varchar,PersonaID),
> Descripcion = case when Descripcion <> '' then 'Descripcion Persona '+ convert(varchar,PersonaID) else '' end ,
> Email = case when Email <> '' then 'persona'+ convert(varchar,PersonaID)+'@mail.com' else '' end,
> PersonaNombre = 'Nombre'+ convert(varchar,PersonaID),
> PersonaApellido = 'Apellido'+ convert(varchar,PersonaID), 
> IdentificacionTributariaNumero = left(IdentificacionTributariaNumero,3)+
> replace(replace(replace(replace(replace(replace(replace(right(IdentificacionTributariaNumero,10),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)),
> FLOOR(RAND()*(9-0)+0),FLOOR(RAND()*(9-0)+0)) 
> 
> update BSProducto
> set Nombre = 'Producto '+ convert(varchar,ProductoID), 
> Codigo = 'PROD'+convert(varchar,ProductoID)
> 
> update BSSucursal
> set Nombre = 'Sucursal '+ convert(varchar,SucursalID), 
> Codigo = 'SUC'+convert(varchar,SucursalID)
> 
> ```

- Ejecutar el script  
 ![Execute](https://bc.finneg.com/uploads/default/original/1X/024de6342359f792b0b65c23f7fa1153da68c158.jpeg)

1. Realizar un backup de la base de datos de prueba generada y enviar el archivo generado mediante el FTP de Finnegans, utilizando las credenciales que le han sido entregadas por Finnegans.
