2017-02-17 195 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