Tengo dos tablas con 10-20 millones de filas que tienen claves principales GUID y 12 tablas relacionadas a través de clave externa. Las tablas base tienen 10-20 índices cada una.Método para alterar clave principal de GUID a BigInt en tablas relacionadas con SQL Server
Estamos pasando de GUID a claves principales BigInt. Me pregunto si alguien tiene alguna sugerencia sobre un enfoque. En este momento este es el enfoque que estoy pensando:
- Borrar todos los índices y las teclas F de todas las tablas implicadas.
- agregar la columna 'NewPrimaryKey' a cada mesa
- Haga la identidad clave en las dos tablas base
- Script, el cambio de datos "tabla de actualización x, establecer NewPrimaryKey = y donde OldPrimaryKey = z
- Cambiar el nombre del PrimaryKey originales a 'oldprimarykey'
- Cambiar el nombre de la columna 'NewPrimaryKey' 'PrimaryKey'
- Guión volver todos los índices y fkeys
¿esto parece como un buen enfoque? ¿Alguien sabe de una herramienta o script que ayudaría con esto?
TD: Editado por información adicional. Consulte esta publicación de blog que aborda un enfoque cuando el GUID es el principal: http://www.sqlmag.com/blogs/sql-server-questions-answered/sql-server-questions-answered/tabid/1977/entryid/12749/Default.aspx
¿Qué ruta acabas de llevar? Además de lo que ha dicho, la aplicación deberá asegurarse de saber que PrimaryKey ahora es su nuevo tipo de datos y no Guid. – user420667