SQL语句:在两个数据库间复制表结构和数据数据库

一、如果两个数据库在同一台服务器上

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

posted @ 2012-11-06 17:28  zhcnblog  阅读(715)  评论(0编辑  收藏  举报