Nein.
Wenn Sie dies von einer anderen Datenbank als tempdb
ausführen Sie erhalten
Was nicht verwundert, da alle Datenseiten etc. in der tempdb
liegen data-Dateien, sodass Sie diese nicht umbenennen könnten, um plötzlich eine permanente Tabelle in einer anderen Datenbank zu werden.
Wenn Sie dies von tempdb
aus ausführen Sie erhalten
Wenn Sie EXEC sp_helptext sp_rename
ausführen und schauen Sie sich die Definition an, das relevante Codebit, das dies verbietet, ist
--------------------------------------------------------------------------
-------------------- 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
Warum würden Sie nicht gleich eine permanente Tabelle erstellen und dann umbenennen?