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