您可以在目标服务器上的 SSMS 中使用
CREATE DATABASE db1 AS COPY OF sourcesrv.db1
从不同订阅中的sourcesrv.database.windows.net 复制。
但是,您必须首先检查您是否也可以在 SSMS 中连接到 SOURCE 服务器,否则您将收到一个完全令人困惑的错误消息,它隐藏了实际问题。
源服务器可能是您经常连接的服务器,但不是来自您当前所在的 IP 地址。在这种情况下,您必须将 IP 添加到服务器的防火墙规则中。使用尝试从 SSMS 连接时出现的对话框可以轻松完成此操作:
选中默认单选按钮(“添加我的客户端 IP”),然后按 OK。
如果您忽略此检查并且它无法对您进行身份验证,而不是像上面那样告诉您正确的原因,它会告诉您无法在 SOURCE 服务器上制作副本!
--In SSMS connected to targetsrv:
CREATE DATABASE db1 AS COPY OF sourcesrv.db1
--Here it should say, "Your client IP address does not have access" to sourcesrv, like when
--you try to connect in SSMS. Instead, it says you can't copy to the SOURCE, even though you
--told it to copy FROM the source to the TARGET:
--Msg 45137, Level 16, State 1, Line 7
--Insufficient permission to create a database copy on server 'sourcesrv'.
请注意,在撰写本文时,需要使用相同的管理员凭据配置两台服务器,否则 CREATE DATABASE 命令将失败并显示同样令人困惑的错误消息。