2017-04-22 80 views
1

我正在將數據庫從Azure VM遷移到Azure SQL數據庫。我試圖在SSMS中使用「將數據庫部署到Azure SQL數據庫」功能,但它多次失敗,這似乎是由於數據庫的大小(110 GB)造成的。因此,我在同一個源服務器上創建了一個源數據庫的副本,並將該表中的大部分數據截斷,然後再次嘗試部署。成功。SQL Server - 將表數據從一臺服務器複製到Azure SQL數據庫中的表

現在我需要從原始源表中獲取該數據到目標表中。我已經試過兩種不同的方法這一點,既給了錯誤

  1. 在SSMS中,我連接到兩個SQL服務器。我跑的下面,同時附連到目標數據庫:

    INSERT INTO dbo.DestinationTable 
        SELECT * 
        FROM [SourceServer].[SourceDatabase].dbo.SourceTable 
    

隨着我被賦予了錯誤:

Reference to database and/or server name in 'SourceServer.SourceDatabase.dbo.SourceTable' is not supported in this version of SQL Server.

  1. 在SSMS,所使用的從源表導出數據嚮導。當試圖啓動的工作,我在驗證階段收到此錯誤:

Error 0xc0202049: Data Flow Task 1: Failure inserting into the read-only column "CaptureId"

我怎樣才能做到應該是什麼這個看似簡單的任務嗎?

回答

0

我已經解決了這個問題。使用選項#2,您只需勾選「啓用身份插入」複選框並且它沒有錯誤地工作。該複選框位於「導出數據嚮導」的「編輯映射」子菜單中。的

1

,而不是使用deploy database to azure directly對於大型數據庫,你可以試試下面的步驟

本地機器上

1.Extract BACPAC
2.複印BACPAC成團塊
3.Now在創建數據庫時,您可以使用BACPAC在BLOB源

這種方式爲我們工作,是非常快的,你可能還需要確保,該斑點是在同一地區SQLAzure

+0

我不知道這種方法的。謝謝你的提示! – Stpete111

相關問題