• 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账号。

  • 相关阅读:
    .NET 几种数据绑定控件的区别
    .NET 使用 Highcharts生成扇形图 柱形图
    使用Jquery1.9 版本 来实现全选
    30款jQuery常用网页焦点图banner图片切换
    MVC中使用MVCPager简单分页
    HttpWebRequest 以及WebRequest的使用
    C#中的事件机制
    如何向妻子解释OOD (转)
    linux 设置时间
    git 使用操作
  • 原文地址:https://www.cnblogs.com/kingwwz/p/9437550.html
Copyright © 2020-2023  润新知