Best Practices - Copying Table with datetime stamped on name For backing up purposes I need to copy a table into the same DB but with
Date and Time on the TableName.

My solution doing this with T-sql Job:

select * into dbo.tmp from dbo.something 
go

declare @thedate as varchar(100)
set @thedate = 'something'+convert(nvarchar(MAX), getdate(), 13)

EXEC sp_rename 'tmp', @thedate
go


Is there a better practice doing this?

I am wondering if copying into a tmp table and changing the name may be
not a good idea!!!. I am receiving a message saying 
"Caution: Changing any part of an object name could break scripts and stored procedures."
The message warns you, "after rename the table, any dependent objects like views, triggers, SP or function will fail to execute. Which is normal.

If you want to avoid this message, you can use following script to backup table in same database.

DECLARE @TableToBackup VARCHAR(128) = 'Tbl_MyTable'
DECLARE @BackupTableName VARCHAR(512)  = @TableToBackup+convert(nvarchar(MAX), getdate(), 13)

EXEC  ('SELECT * INTO ['+@BackupTableName+'] FROM '+@TableToBackup+';')


Thanks!