El otro día cuando realizaba un Health Check en un servidor SQL Server de un cliente, ejecuté el típico script de tablas sin Primary Key, devolvió más de 200 tablas, el resultado era de esperar ya que es una base de datos que fue creciendo sin control ni mantenimiento.

Nunca está de mas recordar una frase que todo DBA tendría que tener escrita a fuego Todas las tablas tienen que tener una Primary Key(y un índice clustered), si no sabéis porqué, este enlace os ayudará a entenderlo mejor.

Teniendo el punto anterior claro, me puse a buscar un script que me auto generara la Primary Key y su índice clustered asociado, después de un rato buscando en Google no encontré nada, por lo que finalmente me tocó crear el script.

Aquí os lo dejo los dos scripts que realicé para que no os pase como a mí:

En mi caso me encontré con que algunas tablas ya tenían creado un campo Identity, por lo que simplemente había que generar el código de creación de la PK utilizando el campo Identity existente.

 

El resto de tablas no tenían ni campo Identity ni PK, por lo que había que generar primero el código de creación del campo Identity y el código de creación de la PK utilizando el nuevo campo.

Recent Posts

Leave a Comment