1.自动创建新表跟原表一样的结构,并复制数据(table2不用存在,会自动创建)
select *into table2 from table1
2.复制table1的数据到table2(前提:table2必须已经存在)
insert into table2 select * from table1
3.只复制部分表结构到新表
select id,nameinto table2 from table1 where 1= 2
where 1= 2表示条件不成立,条件不成立的情况下,只复制表的结构。
4.如果跨服务器,复制数据库某一个表到另一个数据库中
select * INTO [SMSDB].[dbo].[SysLog] FROM openrowset('sqloledb','目标服务器';'账号';'密码',[SMSDB].[dbo].[SysLog])
将数据库目标服务器中的SysLog表复制本地的数据库SMSDB中
如果出现以下错误:
解决方法:
系统管理员可以在本地SQL中通过使用 sp_configure 启用 ‘Ad Hoc Distributed Queries’
exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure
使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure 'Ad Hoc Distributed Queries',0 reconfigure exec sp_configure 'show advanced options',0 reconfigure