Lo que yo te mostré era la forma para generar el código, luego tendrías que hacer el insert into a tu tabla y como codigo de carnet le pasas ese valor.
Eso de que el 001 permanece estatico pues si, pero se supone que tu debes realizar una consulta tipo max a la tabla y recuperar el último valor para concatenarlo al código, no lo puse porque me pareció que se sobreentendía.
Código sql:
Ver originalDECLARE @cod_carnet VARCHAR(20)
DECLARE @fecha datetime
SET @fecha = getdate()
SET @cod_carnet = 'Id'+ REPLACE(CONVERT(VARCHAR(10),@fecha,103),'/','')+'001'
--
INSERT INTO tutabla(codigo_carnet, campo1, campo2, etc) VALUES(@cod_carnet, valor1, valor2, etc)
Saludos.