sqlserver自动重建表

作者:Dreamer
出处:http://www.dreamerlzy.com/blog/article/detail/createnewtable-job
说明:本文版权归作者所有,欢迎转载,但未经作者同意时,请在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
参考: 无

1、首先创建重命名原表、创建建表过程

create PROCEDURE ApiLogRenameAndCreateNew
as
begin
--定义新表
declare @newtablename nvarchar(100)
set @newtablename='ApiLog'+CONVERT(varchar(100), GETDATE(), 112)
--重命名原表
EXEC sp_rename 'ApiLog',@newtablename
--创建新表
create table ApiLog
(
Id                   nvarchar(100)   primary key,
CustId               int                  null,
Type                 nvarchar(100)        null,
ApiUser              nvarchar(100)        null,
ApiName              nvarchar(100)        null,
CreateTime           datetime             null,
ReuestTime           datetime             null,
RequestIp            nvarchar(100)        null,
RequestPara          nvarchar(max)        null,
ResponseStatus       nvarchar(100)        null,
ResponseTime         datetime             null,
ExcuteTime           decimal(18,2)        null,
ResponseContent      nvarchar(max)        null,
RequestRandom        nvarchar(100)        null,
ResponseCode         nvarchar(100)        null
)
--创建索引
create nonclustered index NIndex_CustId_ReuestTime
on ApiLog(CustId,ReuestTime)
end
go


2、sqlsqlserver--sql代理--创建作业