SqlServer將數據庫中的表復制到另一個數據庫


SqlServer將數據庫中的表復制到另一個數據庫

一、如果兩個數據庫在同一台服務器上

1、復制表結構和數據(A->B):SELECT * INTO DatabaseB.dbo.TableB FROM DatabaseA.dbo.TableA

2、僅僅復制表結構(A->B):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,

復制表結構與數據的圖文方法

復制表結構

首先,打開並連接Sql Server,在源數據庫Source_db(源數據庫名稱)上右鍵,然后依次點擊“編寫表腳本為”→“CREATE到”→“新查詢編輯器窗口”。

在上一步產生的編輯器中按”crtl+a“組合鍵全選內容,然后右鍵“復制“(或按"crtl+c"鍵)。

新建查詢,然后右鍵”粘貼“(或ctrl+v);如圖所示,將代碼中Source_db(源數據庫名)改為target_db(目標數據庫名)。接着右鍵單擊”執行“執行代碼。

然后,在目標數據庫的表結構中就可以看到被復制過來的表了。

其實上面的操作一句sql語句就可以實現了

select * into new_table from old_table;

表的數據內容復制圖文方法

選中目標數據庫target_db,然后點擊”任務“→”導入數據“。

進入”SQL Server導入導出向導“,根據提示步驟操作。

選擇數據源(源數據庫)。

選擇目標(目標數據庫)、指定表復制或查詢。

選擇源表和源視圖:設置源表和目標表后,單擊“編輯映射”按鈕,在彈出窗口中選中“啟用標識插入”。(否則后面會出錯)

一直點擊“下一步”至最后完成操作。

有點是不用輸入這么多字段名了。

對應sql語句如下:

insert into table1(col1,col2,col3,...)
select [col1,col2,col3...] from table2 ;

到這里這篇關於SqlServer將數據庫中的表復制到另一個數據庫的文章就介紹到這了,更多相關SqlServer表復制內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

https://www.jb51.net/article/208685.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM