No.
Si está ejecutando esto desde una base de datos que no sea tempdb
obtienes
Lo cual no es sorprendente ya que todas las páginas de datos, etc. están en tempdb
archivos de datos para que no pueda cambiar el nombre de esto para que de repente se convierta en una tabla permanente en otra base de datos.
Si está ejecutando esto desde tempdb
obtienes
Si haces EXEC sp_helptext sp_rename
y mire la definición, el bit de código relevante que no permite esto es
--------------------------------------------------------------------------
-------------------- PHASE 32: Temporay Table Isssue -------------------
--------------------------------------------------------------------------
-- Disallow renaming object to or from a temp name (starts with #)
if (@objtype = 'object' AND
(substring(@newname,1,1) = N'#' OR
substring(object_name(@objid),1,1) = N'#'))
begin
COMMIT TRANSACTION
raiserror(15600,-1,-1, 'sys.sp_rename')
return 1
end
¿Por qué no crearía una tabla permanente en primer lugar y luego cambiaría el nombre?