none
执行master.sys.fn_hadr_backup_is_preferred_replica('DBName')账号需要的最小权限是什么 RRS feed

  • 问题

  • 各位好,

    我的测试环境是SQL Server 2012 SP4,AlwaysOn架构,作业是在主节点执行。在执行某个作业的时候,作业执行失败,查看报错信息是提示执行作业的账号执行权限不足,

    我的作业执行的T-SQL语句是一个判断语句,具体如下:

    DECLARE @preferredReplica int

     

    SET @preferredReplica = (SELECT [master].sys.fn_hadr_backup_is_preferred_replica('TSDB01'))

     

    IF (@preferredReplica = 1)

    BEGIN

    SELECT * FROM [TSDB01].[dbo].Table01

    END

    其中执行账号TSUSER01对于数据库TSDB01的权限是db_owner,服务器角色权限是public;

    SELECT * FROM [TSDB01].[dbo].Table01在单独执行的时候是可以成功的,但是加上上述的判断句式后就始终提示执行账号权限不足,请问一下执行SELECT [master].sys.fn_hadr_backup_is_preferred_replica('TSDB01')这个语句的账号所需要的最小权限应该是什么。

    感谢!



    2018年8月9日 12:26

答案

  • 这个是实例级权限控制,非DB级权限,所以在db_owner里没用应该是VIEW SERVER STATE权限(未实测)

    SQL Server 2016 ~ 2000 性能优化、方案设计 QQ:315054403 田园嘉兴

    2018年8月10日 4:29
  • Hi Allen_Wang33,

    除了@iDBApp所说的权限之外,还需要AG的VIEW DEFINITION权限,请使用以下query来给用户授权:

    USE master; GRANT VIEW DEFINITION ON AVAILABILITY GROUP::TSDB01 TO TSUSER01; GO

    Best Regards,

    Teige


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年8月10日 5:56
    版主

全部回复

  • 这个是实例级权限控制,非DB级权限,所以在db_owner里没用应该是VIEW SERVER STATE权限(未实测)

    SQL Server 2016 ~ 2000 性能优化、方案设计 QQ:315054403 田园嘉兴

    2018年8月10日 4:29
  • Hi Allen_Wang33,

    除了@iDBApp所说的权限之外,还需要AG的VIEW DEFINITION权限,请使用以下query来给用户授权:

    USE master; GRANT VIEW DEFINITION ON AVAILABILITY GROUP::TSDB01 TO TSUSER01; GO

    Best Regards,

    Teige


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年8月10日 5:56
    版主
  • Hi Teige,

    我还有一个问题:VIEW SERVER STATE是执行上述判断语句的最小允许权限了吗?

    2018年8月13日 3:31
  • 是的,这两个权限都需要

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年8月13日 4:12
    版主