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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM