2013-10-30 18 views
2

上我已經使用嚮導從http://sqlazuremw.codeplex.com/從移動我的數據庫:拷貝表格內容同桌其他SQL Server

Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (X64) 
Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (VM) 

Microsoft SQL Azure (RTM) - 11.0.9164.122 

這偉大的工作,但有一個表超過千兆字節的垃圾數據。所以我停止了這個過程。現在它複製了一個表結構,但忘記填充內容。我將不得不與查詢手動解決這個問題:

-- when connected to the azure db 
select into azureDb.dbo.tablename select * onPremisesServer.onPremisesDb.dbo.tablename 

但是,當我執行它,我得到:

消息40515,級別15,狀態1,第16行
參考數據庫和/或「onPremisesServer.onPremisesDb.dbo.tablename」中的服務器名稱在此版本的SQL Server中不受支持。

我找到了Cannot get Linked Servers to work in Sql Azure,它說它是客戶端相關的。所以,我擡頭一看我的版本SSMS的:

  • 微軟SQL Server Management Studio中11.0.3128.0

以至於不能導致此。我也遇到了'onPremisesServer'只是一個IP地址的問題,必須執行select name from sys.servers才能找到服務器別名,而不是使用[ipadres] forPremisesServer。仍然無法讓它工作。這些表格具有完全相同的模式。

編輯作爲DeicLone123提到,我使用了導入和導出數據。我已將表更名爲azure上的tablename-old,並運行嚮導並得到: enter image description here

+0

您是否嘗試過使用SSMS導入/導出嚮導? http://technet.microsoft.com/en-us/library/ms140052.aspx – Free2Rhyme2k

+0

服務器到服務器無法正常工作,並且導出到csv並導入很困難,因爲您必須手動設置列類型等。 –

+0

SQL Server Azure需求使所有表具有聚簇索引。將聚簇索引添加到表中。 你會發現關於如何在這裏創建聚簇索引的信息: http://msdn.microsoft.com/en-us/library/windowsazure/ee336245.aspx#cir 這裏:HTTP:// alexandrebrisebois。 wordpress.com/2013/09/29/creating-nonclustered-indexes-on-massive-tables-in-windows-azure-sql-database/ – Free2Rhyme2k

回答

1

我再次使用3.x從http://sqlazuremw.codeplex.com/遷移最後一個表。那樣容易!手動傳輸數據,列類型等是一個真正的痛苦。所以這個開源的遷移工具是真正的推薦!