¿Qué tipo de datos se recomienda para las columnas de ID?

Me doy cuenta de que es muy probable que esta pregunta se haya hecho antes, pero he buscado un poco entre las preguntas en StackOverflow, y realmente no encontré una respuesta a la mía, así que aquí va. Si encuentra un duplicado, por favor enlace a él.

Por alguna razón, prefiero usarGuids uniqueidentifier en MsSql) para mis campos clave principales, pero realmente no sé por qué esto sería mejor. En muchos de los tutoriales que he recorrido recientemente,int ha sido usado. Puedo ver los pros y los contras con ambos:

A Guid siempre es del mismo tamaño y longitud, y no hay razón para preocuparse por quedarse sin ellos, mientras que hay un límite en la cantidad de registros que podría tener antes de quedarse sin números que encajen en unint.int es (al menos en C #) un tipo anulable, que se abre para un par de accesos directos cuando se consultan datos. Yint es más fácil de leer. Apuesto a que podrías encontrar al menos un par de cosas más aquí.

Entonces, tan simple como el título lo dice:Cuál es el tipo de datos recomendado para las columnas de ID (clave principal) en una base de datos?

EDIT: después de recibir un par de respuestas cortas, también debo agregar esta pregunta de seguimiento. Sin ella, su respuesta no es convincente ni educativa ...;) ¿Por qué crees que sí, y cuáles son las desventajas de la otra opción que te hacen elegir eso en su lugar?