Azure SQL在部署数据库中的脚本上下文中运行时不会让您访问其他数据库,因此运行SELECT type_version FROM master.dbo.sysdac_instances
只会导致错误:
此版本的SQL server不支持引用"master.dbo.sysdac_instances"中的数据库和/或服务器名称。
我正在尝试使用一个手动运行的部署脚本来利用该版本,但它需要在与已部署数据库的连接中运行,而Azure不允许它访问master
。有没有其他方法可以获得DacPac版本?
除非在同一个数据库中,否则不能在查询中添加数据库名称。您的查询在master数据库中执行良好。
或者,您需要创建跨数据库连接,并创建一个外部表来查询master中的数据。
您可以参考此文档进行跨数据库查询。