En primer lugar, no debe asignar permisos al tempdb directamente. Por las razones obvias que se vuelve a crear en cada reinicio.
Lo que en realidad plantea una pregunta: ¿por qué necesita tener permisos directos a esta base de datos de todos modos?
No necesita ningún permiso además de poder conectarse al servidor SQL para crear tablas temporales. Sin embargo, si está creando tablas reales en tempdb, le sugiero encarecidamente que cambie esto para usar una base de datos dedicada para este propósito.
ACTUALIZACIÓN
Basado en el comentario de Martin todo lo que puedo decir es ¡guau. Nunca hubiera considerado que esto hubiera sido una opción.
Bien, ahora que me he recuperado del shock.
Cree un nuevo trabajo en el servidor sql que se ejecuta según un cronograma. La programación debe establecerse en "Iniciar automáticamente cada vez que se inicie el Agente de SQL Server". El trabajo debe recrear los permisos tempdb necesarios.
En pocas palabras, cuando se reinicia el servidor, el Agente de SQL Server se reiniciará (siempre que el servicio esté configurado de esa manera). Cuando se reinicie, se iniciará este trabajo que luego corregirá sus permisos. Esperaría que el sitio permaneciera inactivo solo unos segundos más de lo necesario para que el servidor SQL se reinicie por completo.
¿Qué versión (marco) de 'aspnet_regsql.exe' usó para instalarla, así que puedo probar la misma a este final? –