【问题标题】:Issue with Database Scoped Credential in SSDT (Visual Studio 2017)SSDT 中的数据库范围凭据问题 (Visual Studio 2017)
【发布时间】:2017-10-19 22:44:54
【问题描述】:

将数据库范围凭据导入 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] 的引用未解析。

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

【问题讨论】:

  • 我通过右键单击“安全>添加>新项目...>凭据”解决了这个错误

标签: azure-sql-database visual-studio-2017 sql-server-data-tools


【解决方案1】:

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

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

【讨论】:

  • 感谢您的回复。我手动导入了 Database Scoped Credential 脚本,现在模型得到了验证。现在在下一步中,自动生成的部署脚本在使用该凭证的 CREATE EXTERNAL DATA SOURCE [mySource] 语句上失败。 SQL72014 .Net SqlClient 数据提供程序... 'EXTERNAL.我还有什么需要做的吗?
  • 您能否更具体地说明失败?如,数据库项目是否无法构建?当您尝试将数据库项目发布到 SQL Server 实例(例如 SQL Server 2014)时,是否会出现该错误?在几种不同的情况下可以看到该错误...
  • 我还没有到部署到 Azure SQL 数据库的地步(尽管这是最终目标)。现在我刚刚将数据库架构从 Azure SQL 数据库下载到 Visual Studio 并尝试构建它。输出的最后几行是: 执行批处理时发生错误。完成构建项目“MyDatabaseProject.sqlproj”——失败。构建失败。 ========== 构建:1 成功或最新,0 失败,0 跳过 ========== ========== 部署:0 成功, 1 失败, 0 跳过 ==========
  • 我怀疑这可能是一个已知问题,已在最新版本的 SSDT 中得到修复。您是否下载并安装了最新版本的 SSDT? (docs.microsoft.com/en-us/sql/ssdt/…)
  • 是的,我有最新版本。我想我意识到了我的问题 - 构建没问题,但错误出现在部署步骤中。我将标记为已解决,感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-23
相关资源
最近更新 更多