Cómo crear un identificador secuencial en una tabla de SQL Server

Para crear un identificador único de secuencia en una tabla de SQL Server lo más sencillo es definir un campo de tipo Identity, y que se vaya generando sólo, pero si no se puede utilizar esta solución, o no es apropiada para un caso concreto, una solución muy sencilla para informar de manera puntual un campo con un número secuencial para cada fila es utlizar ROW_NUMBER() OVER para generar esa secuencia.

Si, por ejemplo, queremos generar estos identificadores consecutivos para todas las filas de una tabla 'MyTable' en un campo 'MyRow_id' , sólo tenemos que hacer algo así:

-- Update MyRow_id with a sequential identifier

;WITH TableRanked AS(
SELECT ROW_NUMBER() OVER(ORDER BY (SELECT NULL)) as rownumber, 
       MyRow_id
FROM MyTable
) 
UPDATE TableRanked SET MyRow_id=rownumber
OPTION (MAXDOP 1)

Esta sería una solución puntual, otra cosa es si se desea mantener este campo actualizado..