【问题标题】:Permissions Issue when running a stored procedure运行存储过程时的权限问题
【发布时间】:2015-06-07 15:12:35
【问题描述】:

我们正在设置一个数据分析以每晚刷新,除了从SERVER2 中提取财务数据外,一切正常。我们设置它的方式是在SERVER1 上运行一个存储过程SummaryView 来自 SERVER2。当我们使用“admin”用户登录时,我们可以手动运行存储过程。但是,我们不能将其作为计划作业运行。我们正在获得SummaryView 的模式锁定权限。有什么想法可以解决这个问题吗?!

编辑:这是错误消息

执行查询“exec Financial_sp”失败,出现以下错误:“链接服务器“Server02”的 OLE DB 提供程序“SQLNCLI10”不包含表“XYZ”。“dbo”。“SummaryView”。表不存在或当前用户对该表没有权限。”。可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或者连接没有正确建立。

【问题讨论】:

    标签: sql-server schema permission-denied


    【解决方案1】:

    用于执行计划作业的用户需要对该过程的执行权限。

    【讨论】:

    • 我试图改变它,但 Sql 不接受我的更新。我认为我使用的帐户没有足够的权限。 (我正在使用域管理员帐户登录)
    • 请不要使用 ADMIN 帐户 - 它非常非常不安全。创建一个对所涉及的表/视图具有选择权限的 SQL Server 帐户,运行 BCP 并将您刚刚在 BCP 中创建的帐户作为用户,然后您就可以使用了。您必须为每个 SQL Server 实例执行此操作。如果您通过存储过程获取数据,您所要做的就是将存储过程的执行权限授予 BCP 中的用户。
    • 但是我如何在没有正确权限的情况下创建一个 sql server 帐户。和 sql 账户,已经存在了!!
    • 什么 SQL 帐户 - 管理员?让 SQL Server 管理员创建一个具有足够权限的帐户来执行存储过程并使用该帐户。
    • 我刚刚找到了 sa 密码,并且我将 admin 的权限更改为对该数据库具有“执行”权限。 “执行”权限应该在数据库上吧?而不是视图? (不确定你是否可以这样做)
    猜你喜欢
    • 1970-01-01
    • 2011-04-02
    • 2014-01-12
    • 2021-02-13
    • 2012-10-28
    • 2017-07-05
    • 1970-01-01
    • 2012-03-14
    • 1970-01-01
    相关资源
    最近更新 更多