2011-09-09 271 views
2

我有一個本地SQL Server Express數據庫,我想將它複製到服務器上的SQL Server數據庫。我沒有對服務器的完全權限,所以我不能直接附加它。有人告訴我,我可以通過使用SqlBulkCopy[MSDN]這個類來做到這一點。將SQL Server Express表遷移到SQL Server數據庫

我找不出如何使用它。我沒有做足夠的數據庫編程來熟悉這種事情是如何完成的。

基本上,我想複製一個數據庫中的所有表到另一個。表格之間有關係,我不知道這是否會影響複製。不是很多,所以僅僅複製數據然後手動重新分配關係並不重要。

這是據我可以去

var localDatabase = new SqlConnection("connection string"); 
var serverDatabase = new SqlConnection("other connection string"); 
SomehowCopyAllTables(localDatabase, serverDatabase); 

但不幸的是,C先生#不想承認SomehowCopyAllTables方法的存在。

如何將所有表格從一個數據庫複製到另一個數據庫?

+0

你解決了嗎? –

+0

@ p.campbell感謝您檢查我!我其實昨天終於做到了。我得到了用於複製表格的腳本,但我必須將數據導出爲CSV,然後將數據從CSV導入到服務器上的數據庫中。 –

回答

4

在SQL Server Management Studio中使用SQL Server的生成腳本命令。

  • 右鍵單擊數據庫;任務 - >生成腳本
  • 選擇表,單擊下一步
  • 單擊高級按鈕數據
  • 查找類型的腳本 - 做出選擇,只要你喜歡:包括數據或不。
  • 然後你可以選擇保存到文件,或放入新的查詢窗口。
  • 結果INSERT對於在項目符號2中選擇的所有表格數據的聲明。
  • 將新查詢窗口中的輸出複製/粘貼到目標服務器上。

SQL Server Generate Scripts Data

2

從我的角度來看,最好的方法是在SQL Express中創建SQL腳本並在您的服務器上執行生成的腳本。整個數據將被複制。

+0

當然,但我該怎麼做? –

+0

嘗試MSDN上的此鏈接:http://msdn.microsoft.com/en-us/library/ms178078.aspx – hsalimi

+0

您可以通過加載Sql Server Management Studio在對象資源管理器中打開Express實例來生成腳本,選擇您的數據庫,右鍵單擊並選擇任務 - >生成腳本...請參閱http://msdn.microsoft.com/en-us/library/ms178078.aspx以獲取更多詳細信息。 –

2

要生成從SQL Server Management Studio數據庫腳本:

  1. 右擊數據庫
  2. 選擇任務 - >生成腳本
  3. (如果你的點擊next介紹屏幕)
  4. 選擇「選擇特定的數據庫對象」
  5. 選擇的對象生成腳本(表,存儲過程等)
  6. 點擊下一步,然後指定輸出文件名
  7. 單擊Finish生成腳本

這將生成僅限架構。如果您還想執行數據生成腳本,請在步驟6)中單擊高級按鈕並向下滾動到「腳本數據類型」,並將其從「僅架構」更改爲「僅數據」或「架構和數據」

0

簡單地使用Atlantis Interactive的Schema InspectorData Inspector而不是自己編程它可能會更容易。只需將架構與當前系統上的空白數據庫進行比較即可。

相關問題