自动将.bak文件上传到Azure

时间:2018-04-16 07:03:51

标签: sql-server powershell azure-sql-database

我是Azure的新手,其任务是自动执行现有版本数据库的过程,将其转换为较新版本,然后将其上传到Azure。

完成转换,部分简单,我正在努力的是使用PowerShell从SSMS获取.bacpac文件。我知道我可以在SSMS中使用导出数据层应用程序功能来执行此操作,但我需要它自动化。从那里我可以使用类似以下内容来实际上传数据库:

https://blogs.msdn.microsoft.com/brunoterkaly/2013/09/26/how-to-export-an-on-premises-sql-server-database-to-windows-azure-storage/

我环顾四周,无法找到解决方案,甚至不知道从哪里开始。

1 个答案:

答案 0 :(得分:1)

您可以使用SQLPackage创建本地数据库的bacpac并在本地文件夹(c:\ MyBacpacs)上找到它们。

sqlpackage.exe /Action:Export /SourceServerName:. /sdn:"DB_Foo" /tf:"c:\MyBacpacs\DB_Foo.bacpac"

然后,您可以使用AzCopy将bacpacs上传到Azure BLOB存储空间

AzCopy /Source:"c:\MyBacpacs" /Dest:"https://exampleaccount.blob.core.windows.net/bacpacs" /DestKey:storageaccountkey /Pattern:*.bacpac