一、如果两个数据库在同一台服务器上
1、复制表结构和数据:SELECT * INTO DatabaseB.dbo.TableB FROM DatabaseA.dbo.TableA
2、仅仅复制表结构:SELECT * INTO DatabaseB.dbo.TableB FROM DatabaseA.dbo.TableA WHERE 1=2
二、如果两个数据库在不同的服务器上
分为导出和导入两种,都需要先连接远程数据库,再进行操作。如何连接远程数据库?
在连接远程数据库之前,需要先打开Ad Hoc服务,依次执行下面四句语句(不要一次执行):
EXEC sp_configure "show advanced options",1
RECONFIGURE
EXEC sp_configure "Ad Hoc Distributed Queries",1
RECONFIGURE
这样就可以连接远程数据库了:
SELECT * INTO DatabaseB.dbo.TableB FROM opendatasource( 'SQLOLEDB', 'Data Source=IP/ServerName;User ID=SA;Password=***' ).DatabaseA.dbo.TableA WHERE 1=2
记住,为了安全起见,执行完成之后,请关闭Ad Hoc服务:
EXEC sp_configure "Ad Hoc Distributed Queries",0
RECONFIGURE
EXEC sp_configure "show advanced options",0
RECONFIGURE