zoukankan      html  css  js  c++  java
  • SQLServer xp_instance_regread returned error 5,Access is denied(配置最小权限)

    公司一套智能巡检系统,客户需要最小的权限去给这套系统使用;配置完后发现很多权限报错,有一条是关于xp_instance_regread读系统注册表error 5的报错。常理error 5.是属于系统权限问题,遂开始首先对需求注册表路径添加了everyone 的只读权限。如果能成功就不会写这个笔记了。

    系统:windows2008R2

    数据库: SQLServer2008R2

    首先创建SQL账号:

    其次赋予对xp_instance_regread权限

    use master 

    go

    grant exec on xp_instance_regread to monitor;

    execute as user='monitor'

    go

    exec xp_instance_regread 'HKEY_LOCAL_MACHINE','HARDWARE\DESCRIPTION\System\CentralProcessor\0','ProcessorNameString';

    报错如下图:

    原因就是sql账号没权限读注册表。

    下面是添加注册表:

    打开服务器 运行 输入 regedit :依次找到HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL Server

    然后展开分支:找到依MSSQL开头SQLSERVER结尾的那层目录,找到MSSQLServer目录展开

    然后新建一个键值命名为:ExtendedProcedures

    点击ExtendedProcedures,在右侧空白处新建Multi-String类型的命名为xp_regread allowed paths;

    然后打开xp_regread allowed paths这个文件,添加你要用数据库账号读的注册表路径;

    如下图:

     添加你要读的注册表路径:

    最后测试:

     这只是一种方法,这中问题遇到的概率很少,添加sysadmin权限也可以,把sql账号换成域账号也可以,估计服务器账号不识别没有服务器权限的sql账号。

  • 相关阅读:
    BZOJ3123: [Sdoi2013]森林(启发式合并&主席树)
    BZOJ3212: Pku3468 A Simple Problem with Integers(线段树)
    BZOJ3211: 花神游历各国(线段树)
    BZOJ3207: 花神的嘲讽计划Ⅰ(hash)
    BZOJ3033: 太鼓达人(欧拉回路)
    「LibreOJ NOIP Round #1」旅游路线
    bzoj 2818: Gcd
    bzoj 2006: [NOI2010]超级钢琴
    bzoj 1485: [HNOI2009]有趣的数列
    bzoj 1045: [HAOI2008] 糖果传递
  • 原文地址:https://www.cnblogs.com/kingwwz/p/9437550.html
Copyright © 2011-2022 走看看