1

我有一个有趣的案例。我无法访问 Azure 订阅。但是,我仍然可以发布 ASP.Net 应用程序,因为我配置了一个发布配置文件,它仍然有效。请注意,这并不是违法的——关于 VS 订阅的公司内部政策;足以说,该应用程序是我的,由我编写,由我维护等。

我需要创建数据库的备份,但我唯一能做的就是发布应用程序。应用程序显然在设置中嵌入了连接字符串,但由于防火墙设置(仅限 Azure 服务),我无法连接到数据库。所以我需要找到一种方法来使用控制器和操作转储数据。

到目前为止,我设法手动转储了大多数表(例如var data = context.Table.ToList();),然后将结果输出到视图中。但是,这不会导出我无法直接访问的内部 ASP.Net 表(例如,用户/角色声明等)

请记住,我们讨论的是 Azure SQL,它与常规 SQL Server 不同。

如何备份数据库,以便将应用程序迁移到不同的订阅?

4

1 回答 1

0

如果你也可以发布你的 webapp。您可以创建一个API函数并调用它。类似于:https://yourwebsite.azurewebsites.net/backup/start

你可以创建PROCEDURE,运行它来生成.bak文件到blob(前提是你需要知道blob的相关信息)。

示例代码如:

C# SQL Server 将远程数据库备份到远程默认备份位置而不直接访问远程位置?

于 2020-10-16T06:24:52.517 回答