SSDT 中的数据库范围凭证问题(Visual Studio 2017)

Issue with Database Scoped Credential in SSDT (Visual Studio 2017)

将数据库范围的凭据导入 SSDT 时出现问题。

在 Azure SQL 数据库上使用 SSMS 我创建了一个数据库范围的凭据,我用它来创建一个外部数据源以连接到外部表。在 SSMS 中一切正常,我可以看到我在 sys.database_scoped_credentials、sys.external_data_sources、sys.external_tables 中创建的所有内容,并且我可以正常访问外部表。

我在 Visual Studio 2017 年(SSDT 版本 15.1)将数据库导入到数据库项目中。 Database Scoped Credential 没有导入,因此外部数据源找不到它并且构建失败。

错误代码:SQL71501:SQLExternalDataSource:[myExternalDataSource] 具有对 SqlDatabaseCredential [myCredential] 的未解析引用。

有人知道如何解决这个问题吗?提前致谢。

任何在导入操作期间未自动创建的对象都可以手动创建。对于数据库范围的凭据,它类似于:

  • 在解决方案资源管理器中右键单击数据库项目,然后单击“添加新项”
  • 搜索 select 脚本(构建)并以您的数据库范围的凭据命名它
  • 在 SQL 服务器对象资源管理器 window 中,右键单击数据库范围的凭据并 select 查看代码
  • 将数据库范围的凭据定义从“查看代码”选项卡复制并粘贴到“数据库项目”选项卡中。