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表復制內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!