mssql sql server 快速将表数据 全部迁移至另外表的方法


摘要:
实验环境:
sql server 2008 R2
下文主要讲述,在同一数据库中快速将表数据全部迁移至另外表的方法
————————————————
最近接到用户需求,每天晚上需在系统停机5分钟内,将指定表中的数据全部转入历史数据表中,主要要求快速操作,
我们采用了select into 等插入操作,发现插入速度都得不到质的提升,最后发现了 switch to 函数。
switch to:可以快速的将一个表的数据全部链接至结构相同并且数据为空的另外一张表中。


例:

 create table A(keyId int ,name varchar(100))
insert into  A(keyId,name)values(1,'a')
insert into  A(keyId,name)values(2,'b')
insert into  A(keyId,name)values(3,'c') 
create table B (keyId int ,name varchar(100))
go

alter table  A SWITCH TO B   ---将数据表A迁移至数据表B
go 
  
select * from A 
select * from B 
go
 
truncate table A 
drop     table A 
truncate table B
drop     table B
mssql_sqlserver_switch_to数据迁移

mssql_sqlserver_switch_to数据迁移