A partir de los documentos de MS:
http://msdn.microsoft.com/en-us/library/ms177399(SQL.90).aspx
tablas temporales
Las tablas temporales son similares a las tablas permanentes, excepto las tablas temporales se almacenan en tempdb y se eliminan automáticamente cuando ya no se usan
Hay dos tipos de tablas temporales: locales y globales. Se diferencian entre sí en sus nombres, su visibilidad y su disponibilidad.Las tablas temporales locales tienen un solo signo de número (#) como primer carácter de sus nombres; solo son visibles para la conexión actual del usuario y se borran cuando el usuario se desconecta de la instancia de SQL Server.
tablas temporales globales tienen dos signos de número (##) como los primeros caracteres de su nombre; son visibles para cualquier usuario después de su creación y se eliminan cuando todos los usuarios que hacen referencia a la tabla se desconectan de la instancia de SQL Server.
Por ejemplo, si crea los empleados de mesa, la mesa puede ser utilizado por cualquier persona que tiene los permisos de seguridad en la base de datos para utilizarlo, hasta que se elimine la tabla. Si una sesión de base de datos crea los #employees de tablas temporales locales, solo la sesión puede funcionar con la tabla y se elimina cuando la sesión se desconecta. Si crea los empleados de la tabla temporal global ##, cualquier usuario de la base de datos puede trabajar con esta tabla. Si ningún otro usuario trabaja con esta tabla después de crearla, la tabla se elimina cuando se desconecta. Si otro usuario trabaja con la tabla después de crearla, SQL Server la elimina después de desconectarse y después de que todas las otras sesiones ya no la estén usando activamente.
Además de Curt que corrige el error de mis caminos, y en caso de que se pierda la cita en el comentario:
http://msdn.microsoft.com/en-us/library/ms191132.aspx
si se crea un local de tabla temporal dentro de una procedimiento almacenado, la tabla temporal existe solo para el propósito del procedimiento almacenado; desaparece al salir del procedimiento almacenado .
Si ejecuta un procedimiento almacenado que llama a otro procedimiento almacenado, el llamado procedimiento almacenado puede acceder a todos los objetos creados por el primer procedimiento almacenado, incluyendo tablas temporales.
Bien, ahora esta afirmación tiene sentido para mí: "Cuando la tabla va precedida por un único signo '#', se define como una tabla temporal local y su alcance está limitado a la sesión en la que se creó". ¡La palabra "sesión" me dejó perplejo! – marc
¿Qué hay de las tablas temporales globalmente visibles (## tableName)? –
Las tablas temporales globales no tienen acceso a una conexión, por lo que no se descartarán. –