2017-02-17 217 views
0

我想將.bacpac數據庫從Azure Blob存儲轉移到Azure SQL數據庫。我使用sqlpackage.exe使用導入命令將SQL數據庫從Azure Blob Azure上傳到SQL數據庫

sqlpackage.exe/A:進口/ SF:< Azure的斑點.bacpac文件>/TSN:< Azure的服務器名稱>/TDN:<目標DATABSE名稱>/TU: <目標數據庫的用戶名>/TP:<目標數據庫的密碼>

但這個命令給錯誤的

「無法從加載包文件格式不支持。 」。

請注意,在/ sf字段中提供本地文件(在與sqlpackage相同的系統中的.bacpac文件),它工作正常。

---編輯---

更多細節:我想用代碼的NodeJS文件.bacpac上傳至Azure的DB。因此,我提出的唯一選擇是將用戶的.bacpac文件上傳到Azure blob,然後在配置的Azure Windows Server中調用包含sqlpackage.exe命令的自定義腳本,以將此上傳的bacpac傳輸到Azure DB。如果你能爲這種情況提供任何可行的解決方案,而不是我想到的,這將是有益的。

+1

所以,你傳遞一個URL斑點,源?記住blob不是文件系統的擴展,我懷疑'sqlpackage.exe'知道如何直接使用blob存儲。 –

+0

Hi @DavidMakogon。是的,我在blob中傳遞.bacpac文件存儲的URL。我認爲必須有一些解決方法。我仍在研究它。 –

回答

1

嗨,這可以通過門戶網站或通過PowerShell是否有特定的需要使用sqlpackage.exe?

的PowerShell指令可在:https://docs.microsoft.com/en-us/azure/sql-database/sql-database-import-powershell

入口於: https://docs.microsoft.com/en-us/azure/sql-database/sql-database-import-portal

+0

嗨@Ian。實際上,我想使用nodejs代碼將.bacpac文件上傳到Azure數據庫。因此,我提出的唯一選擇是將用戶.bacpac文件上傳到azure blob,並調用包含sqlpackage.exe命令的自定義腳本將此上傳的bacpac傳輸到Azure DB。如果您可以爲此場景提供任何可行的解決方案,將會有所幫助。 –

+0

Hi @himanshu,你有沒有想過Azure函數 - 你可以用Webhook做一個PowerShell函數,你可以從你的NodeJs代碼中調用它。使用另一個函數,您還可以使用OperationStatusLink檢查進度 - 是否可以讓您獲得您想要的位置?我剛剛進行了快速檢查,並且在Azure函數中可以識別該cmdlet。 – Ian