Estoy buscando una manera casera de codificar los datos de producción para su uso en el desarrollo y la prueba. He creado un par de scripts que crean números aleatorios de la seguridad social, cambian las fechas de nacimiento, codifican los correos electrónicos, etc. Pero me he topado con una pared tratando de mezclar los nombres de los clientes. Quiero conservar los nombres reales para que podamos usarlos o buscarlos de manera que la generación de letras al azar esté fuera. Lo que he intentado hasta ahora es construir una tabla temporal de todos los apellidos en la tabla y luego actualizar la tabla de clientes con una selección aleatoria de la tabla temporal. De esta manera:Ofuscación/máscara/información personal de Scramble
DECLARE @Names TABLE (Id int IDENTITY(1,1),[Name] varchar(100))
/* Scramble the last names (randomly pick another last name) */
INSERT @Names SELECT LastName FROM Customer ORDER BY NEWID();
WITH [Customer ORDERED BY ROWID] AS
(SELECT ROW_NUMBER() OVER (ORDER BY NEWID()) AS ROWID, LastName FROM Customer)
UPDATE [Customer ORDERED BY ROWID] SET LastName=(SELECT [Name] FROM @Names WHERE ROWID=Id)
Esto funcionó bien en la prueba, pero completamente atasca tratar con grandes cantidades de datos (> 20 minutos para 40K filas)
Todo eso a preguntar, ¿cómo codificar los nombres de clientes mientras mantiene los nombres reales y el peso de los datos de producción?
ACTUALIZACIÓN: Nunca falla, intenta poner toda la información en la publicación y olvida algo importante. Esta información también se usará en nuestros entornos de demostración & de ventas que están disponibles públicamente. Algunas de las respuestas son lo que intento hacer para "cambiar" los nombres, pero mi pregunta es, literalmente, ¿cómo codificar en T-SQL?
Como dije, necesito nombres reales con un peso similar/similar a la producción, por lo que las búsquedas se realizan de forma similar. –
ROT13 adicional en realidad no codifica los datos, ya que es un algoritmo fácilmente reversible ... – Guvante
sí, es fácilmente reversible, pero cumple los criterios de "máscara" u "ocultación": al menos debe reconocer que es sido ROT13, y lo DESTRUYE :) – warren