¿No puedes simplemente declararlo como una columna de IDENTIDAD:
[ID] [bigint] IDENTIDAD(1,1) NO NULO;
El 1,1 se refiere al índice de inicio y la cantidad en la que se incrementa.
NOTA:No es necesario que proporcione un valor para la columna ID cuando realiza una inserción. Lo elegirá automáticamente. Puede modificar estos valores más tarde si es necesario.
EDITAR:
Alternativamente, puede usar un procedimiento almacenado para manejar todas las inserciones.
Ejemplo:
El procedimiento almacenado tomará variables como lo haría con una inserción normal (una variable para cada columna). La lógica dentro del procedimiento almacenado puede seleccionar el valor máximo que existe actualmente en la tabla y elegirlo como su valor máximo.
DECLARE @yourVariable = SELECT MAX(ID) FROM YourTable
Use @yourVariable como su valor de inserción. Puede incrementarlo o cambiar el valor según sea necesario.