Sql server Sql Server。中央数据库中的存储过程拒绝了对目标数据库中表的读取权限

Sql server Sql Server。中央数据库中的存储过程拒绝了对目标数据库中表的读取权限,sql-server,Sql Server,有一个中央数据库,存放“用户”信息。存在由“区域”拥有的目标数据库。用户可以在任何目标数据库中执行业务 中央数据库中的存储过程用于为用户提供事务摘要。 它只是提供了DatabaseA和DatabaseB的联合,并且。。。记录 SSMS可以正常工作,但调用代码在应用程序中失败,因为目标数据库表上的select权限被拒绝 我已尝试在目标数据库中创建具有代表NT SERVICE\MSSQLSERVER和xxxxx\sql服务的dbo权限的新用户,但仍然出现权限错误 处理这种情况的正确方法是什么?(我完

有一个中央数据库,存放“用户”信息。存在由“区域”拥有的目标数据库。用户可以在任何目标数据库中执行业务

中央数据库中的存储过程用于为用户提供事务摘要。 它只是提供了DatabaseA和DatabaseB的联合,并且。。。记录

SSMS可以正常工作,但调用代码在应用程序中失败,因为目标数据库表上的select权限被拒绝

我已尝试在目标数据库中创建具有代表NT SERVICE\MSSQLSERVER和xxxxx\sql服务的dbo权限的新用户,但仍然出现权限错误

处理这种情况的正确方法是什么?(我完全控制数据库的安全性)


感谢您在评论中回顾讨论:

  • 对于正在使用的登录,您需要确保对所有数据库中的所有基础表都具有权限

  • 如果所有数据库和对象的所有者相同,则可以使用跨数据库链接来简化权限管理


  • 当它失败时,与正常工作时相比,您使用什么登录?此登录是否具有实际表的权限?在分配显式选择权限时,我错过了其中一个表。这似乎不是一个强有力的处理方法。将来会有新的目标数据库,必须有人记住分配权限。我已经更改了当前数据库的所有权,因此它们都由一个共同所有者拥有。“跨数据库链接”是答案吗?是的,我想如果你有相同的数据库所有者,你可以使用它。好的。感谢您对此的回复。