【问题标题】:External tables - Cross Database queries - Creating Database Scoped Credential外部表 - 跨数据库查询 - 创建数据库范围凭据
【发布时间】:2021-08-26 19:25:43
【问题描述】:

我们在 AZURE 上使用 SQL Server 2012。我想使用来自不同数据库的查询;由于 azure 不允许我们从不同的数据库中查询,所以我决定创建一个外部表。

但是,当我尝试创建时

创建数据库范围凭据凭据 身份 = 'justin@gmail.com', SECRET = '访问源数据库的用户名密码';

我收到一条错误消息 指定的架构名称“justin@gmail.com”要么不存在,要么您无权使用它。

谁能告诉我是什么问题?

谢谢你, 贾斯汀

【问题讨论】:

  • 不同的数据库是在同一台服务器上吗?或者你执行ddl语句的账号没有权限。
  • 你好@HarrisXu - 是的,数据库在同一台服务器上,我的帐户有 DDL 权限。

标签: sql sql-server azure azure-sql-database external-tables


【解决方案1】:

根据我的经验,您使用 AAD 用户“justin@gmail.com”来创建外部表。刚才创建CREATE DATABASE SCOPED CREDENTIAL不支持AD认证登录,所以不能使用AD用户创建跨库查询。

Azure 文档没有对此进行更多讨论。请使用其他普通用户和密码。

【讨论】:

  • 我相信你就在这里。但是,我们仍然是 2012 版本,我认为不支持 windows 登录。您对此有何看法?谢谢
  • 谢谢。如果不支持 Azure AD 凭据和 Windows 身份验证,那么设置外部表的替代方法是什么?
  • 嗨@Justin,据我所知,没有这样的替代方法。
  • 嗯。原因是我看到人们在 Azure SQL 上创建外部表,但我不确定他们是如何做到的:D
  • @Justin 参考本教程:docs.microsoft.com/en-us/azure/azure-sql/database/…。您只能使用普通用户(SQL 身份验证)来创建查询。你可以按照这个例子一步一步来。
猜你喜欢
  • 1970-01-01
  • 2017-03-14
  • 1970-01-01
  • 1970-01-01
  • 2012-11-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-03
相关资源
最近更新 更多