Tengo una tabla user_info
en cinco ubicaciones diferentes. Ahora necesito integrar todas las filas en una tabla central user_info
. Para hacer esto, necesito una identificación única para cada fila en las tablas fuente. Porque cuando todas las filas entran en la tabla central, cada usuario debe tener una ID única.Cómo SQL Server crea uniqueidentifier usando NEWID()
Ahora mis preguntas son:
si uso
uniqueidentifier
NEWID()
para cada tabla de origen y luego se va a ser globalmente único para & tiempo de vida o tener alguna posibilidad de ser duplicado?¿Cómo crea SQL Server el
NEWID()
? Necesito saber la estructura de generación de claves.
¿Alguna documentación acerca de qué API de Windows llama SQL Server usa para 'NEWID'? Sé que 'NEWSEQUENTIALID' usa la dirección MAC, ya que es [claramente visible en el GUID] (http://stackoverflow.com/a/3398847/73226) pero no pudo ver ninguna documentación para NEWID. –
'CoCreateGuid' es más probable? Eric Lippert tenía una [serie de publicaciones de blog] [1] sobre los GUID en general. Ver también: http://stackoverflow.com/questions/39771/is-a-guid-unique-100-of-the-time Para 'NEWID()' el primer dígito hexadecimal de la tercera sección es siempre 4 (cuando pruébelo), para 'NEWSEQUENTIALID()' utiliza la dirección MAC mencionada anteriormente. No recuerdo qué sucede cuando no hay una dirección MAC en la computadora. ¿Alguien sabe lo que sucede en SQL en este caso? [1]: http://blogs.msdn.com/b/ericlippert/archive/2012/05/07/guid-guide-part-three.aspx – Seph
¿Qué tan preciso es el uso de newid()? Parece que si busco dos identificadores al mismo tiempo, debería obtener un duplicado, pero nunca lo he visto. – jumxozizi