是否可以记录从本地 SQL 服务器到 Azure SQL 托管实例的传送?

Nik*_*Nik 3 sql-server azure-sql-managed-instance

从文档来看,似乎可以恢复完整的数据库备份文件,但也可以恢复事务日志吗?

(这个想法是尽量减少从本地迁移到 MI 过程中的停机时间)。

谢谢。

Dan*_*ava 6

我在 SQL 托管实例产品组工作。我们现在(2021 年 2 月)启用了日志传送,作为称为日志重播服务 (LRS) 的外部服务的一部分。出于安全考虑,我们无法直接从 T-SQL 启用日志传送。

NORECOVERY调用 LRS 服务时,LRS 服务将在托管实例的后台模式下执行日志传送。有关此版本的更多信息,请参阅文档:

使用日志重播服务(预览版)将数据库从 SQL Server 迁移到 SQL 托管实例


DMS 和 LRS 都是使用日志传送将数据移动到托管实例的相同技术。以下是 DMS 和 LRS 之间针对迁移选项的差异:

  • Azure DMS 在后台使用 LRS(日志传送)。两个迁移选项(DMS 和 LRS)之间的区别在于,您可以将 DMS 用作易于使用的迁移,无需任何经验。DMS 基本上是建立在 LRS 之上的工具,只需单击几下即可为您简化操作。
  • 另一方面,如果您想要完全自定义和控制日志传送迁移体验,并且万一您无法使用 DMS(由于各种技术原因,例如无法 .exe在本地运行、没有管理员权限或无法打开网络端口) ),您可以自行使用 LRS 与 PowerShell 和 CLI 命令来手动编排日志传送到托管实例。


Aar*_*and 5

不可以,无法将日志传送到托管实例;它只支持完整备份的恢复。请参阅此线程:

RESTORE以及托管实例文档中的有限语法图:

该文档暗示这RESTORE ... FROM URL将隐式添加WITH RECOVERY,因此在初始恢复后将没有机会应用日志。因此,您的停机时间将 >= 进行 COPY_ONLY 完整备份、将其放在 MI 可以访问的地方、恢复它并重新指向您的应用程序所需的时间。您可能还想阅读本教程,了解不同的方法