我剛剛在我的機器上創建了一個空數據庫。我現在希望將我們的服務器數據庫中的表複製到本地數據庫。將表從一個數據庫複製到另一個數據庫
我需要運行哪些sql命令來執行此操作?我希望創建新表,從舊錶中複製數據並將其插入到新表中。
我剛剛在我的機器上創建了一個空數據庫。我現在希望將我們的服務器數據庫中的表複製到本地數據庫。將表從一個數據庫複製到另一個數據庫
我需要運行哪些sql命令來執行此操作?我希望創建新表,從舊錶中複製數據並將其插入到新表中。
Create a linked server到源服務器。最簡單的方法是在Management Studio中右鍵單擊「Linked Servers」;它位於管理 - >服務器對象下。
然後你就可以使用4部分組成的名稱,server.database.schema.table
複製表:
select *
into DbName.dbo.NewTable
from LinkedServer.DbName.dbo.OldTable
這都將創建具有相同的結構,原來的一個新的表和數據複製過來。
+1只有答案考慮到這些數據庫是在**不同的**服務器上! –
如果您使用SQL Server 2000和2012+,將無法工作https://connect.microsoft.com/SQLServer/feedback/details/731869/using-sqlncli10-to-create-a-linked-server-to- sql-server-2000-causes-a-fault – sojim2
這裏SQL Server 2000和2012+的解決方案(回答最高票數,而不是標記的答案):http://stackoverflow.com/questions/187770/copy-tables-從一個數據庫到另一個在SQL服務器 – sojim2
SELECT ... INTO:
select * into <destination table> from <source table>
假設他們是在同一臺服務器,試試這個:
SELECT *
INTO SecondDB.TableName
FROM FirstDatabase.TableName
這將創建一個新表,只是將數據從FirstDatabase.TableName
複製到SecondDB.TableName
並不會創建外鍵或索引。
最快的方法是使用RazorSQL或Toad這樣的工具。
假設您需要表的不同名稱。
如果您使用PHPmyadmin,則可以在菜單中使用它們的SQL選項。然後,您只需複製第一個表中的SQL代碼並將其粘貼到新表中。
當我從本地主機移動到虛擬主機時,這對我有用。 希望它適合你!
對於非常大的表,其SQL代碼將是一個複製和粘貼的痛苦,PHPmyadmin的**導入**和**導出**菜單可以很容易地用作好。 – tmnol
INSERT INTO ProductPurchaseOrderItems_bkp
(
[OrderId],
[ProductId],
[Quantity],
[Price]
)
SELECT
[OrderId],
[ProductId],
[Quantity],
[Price]
FROM ProductPurchaseOrderItems
WHERE OrderId=415
如果需要整個表結構(不只是基本的數據佈局),使用Task>Script Table As>Create To>New Query Window
並在新的數據庫上運行。然後,您可以在閒暇時複製數據。
如果在兩個數據庫之間不斷遷移,那麼插入到已經存在的表結構中是一種可能性。如果是這樣,那麼:
使用以下語法:
insert into DESTINATION_DB.dbo.destination_table
select *
from SOURCE_DB.dbo.source_table
[where x ...]
如果遷移表(或外鍵約束的表)的很多,我建議:
希望它有幫助!
另一種可用於將表從源數據庫複製到目標數據庫的方法是SQL Server導出和導入嚮導,該向導在SQL Server Management Studio中可用。
您可以選擇從源數據庫導出或從目標導入,以便傳輸數據。
如果您安排複製與表格關係和訂單無關的表格,此方法是將表格從源數據庫複製到目標數據庫的快速方法。
使用此方法時,表的索引和鍵將不會傳輸。如果您有興趣複製它,則需要爲這些數據庫對象生成腳本。
如果這些是外鍵,將這些表連接在一起,則需要按正確的順序導出數據,否則導出嚮導將失敗。
隨意閱讀更多關於這種方法,以及有關一些方法(包括生成腳本,SELECT INTO和第三方工具),在這篇文章中: https://www.sqlshack.com/how-to-copy-tables-from-one-database-to-another-in-sql-server/
您可以創建一個SQL INSERT腳本。請參閱http://stackoverflow.com/questions/7515110/create-sql-insert-script-with-values-gathered-from-table – mhenry1384