SQL Server 只读账号/只读登录名可查看存储过程及函数权限

本文主要是介绍SQL Server 只读账号/只读登录名可查看存储过程及函数权限,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

公司为了收紧生产数据库的登录名,目前我们公司生产数据库登录名基本赋予了sa账户的权限,这样做是很危险的,所以领导要求给运维同事授予数据库只读查询的账号,但同时又需要让运维同事可查看存储过程,因为存储过程和函数中有很多拦截异常的判断,当提示报错内容时,运维同事可以通过报错的关键字来查找错误是来自程序、存储过程或者是函数等等。

如下是通过关键字查询“自动化设备传入重量为空!请重新称重”:

SELECT 
NAME,[type],CASE 
WHEN [type]='F' THEN N'FOREIGN KEY 约束'WHEN [type]='FN' THEN N'标量函数'WHEN [type]='IF' THEN N'内联表值函数'
WHEN [type]='IT' THEN N'内部表'WHEN [type]='P' THEN N'存储过程'WHEN [type]='PK' THEN N'PRIMARY KEY 约束'
WHEN [type]='S' THEN N'系统基表'WHEN [type]='TF' THEN N'表值函数'WHEN [type]='U' THEN N'表(用户定义类型)'
WHEN [type]='UQ' THEN N'UNIQUE 约束'WHEN [type]='V' THEN N'视图' WHEN [type]='TR' THEN N'触发器' 
ELSE N'不知名名的' END AS 类型名称,create_date,modify_date
FROM sys.objects (NOLOCK) WHERE [object_id] IN (SELECT id FROM sys.syscomments(NOLOCK) WHERE [text] LIKE N'%自动化设备传入重量为空!请重新称重%') 
ORDER BY modify_date DESC

如下是通过关键字找到该报错来自于存储过程“Autogetweight_sp”中

NAME                                                                                                                             type 类型名称           create_date             modify_date
-------------------------------------------------------------------------------------------------------------------------------- ---- -------------- ----------------------- -----------------------
Autogetweight_sp                                                                                                                 P    存储过程           2017-04-28 10:00:47.080 2018-09-10 10:16:53.450(1 行受影响)

 

如下是通过只读账户queryuser(我自己建的只读账户)来查看上面找到的存储过程Autogetweight_sp

sp_helptext 'Autogetweight_sp'--这是查看整个存储过程,如果没有授权只读账户访问存储过程的权限,将会报错。消息 15009,级别 16,状态 1,过程 sp_helptext,行 54 [批起始行 0]
对象 'Autogetweight_sp' 在数据库 '我的生产数据库名' 中不存在或对于此操作无效。

如下开启/撤销只读账户可访问存储过程

USE TCsfc--(生产数据库名)
GRANT VIEW Definition TO queryuser--开启,只读账户queryuser在TCsfc数据库中可查看存储过程及标量值函数的权限USE TCsfc--(生产数据库名)
REVOKE VIEW Definition TO queryuser--撤销,只读账户queryuser在TCsfc数据库中可查看存储过程及标量值函数的权限

开启访问后通过只读账户queryuser来查看上面找到的存储过程Autogetweight_sp,因为存储过程太长就不粘贴复制。

 

这篇关于SQL Server 只读账号/只读登录名可查看存储过程及函数权限的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1002694

相关文章

java中BigDecimal里面的subtract函数介绍及实现方法

《java中BigDecimal里面的subtract函数介绍及实现方法》在Java中实现减法操作需要根据数据类型选择不同方法,主要分为数值型减法和字符串减法两种场景,本文给大家介绍java中BigD... 目录Java中BigDecimal里面的subtract函数的意思?一、数值型减法(高精度计算)1.

pytest+allure环境搭建+自动化实践过程

《pytest+allure环境搭建+自动化实践过程》:本文主要介绍pytest+allure环境搭建+自动化实践过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、pytest下载安装1.1、安装pytest1.2、检测是否安装成功二、allure下载安装2.

MySQL 表的内外连接案例详解

《MySQL表的内外连接案例详解》本文给大家介绍MySQL表的内外连接,结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录表的内外连接(重点)内连接外连接表的内外连接(重点)内连接内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我

C++/类与对象/默认成员函数@构造函数的用法

《C++/类与对象/默认成员函数@构造函数的用法》:本文主要介绍C++/类与对象/默认成员函数@构造函数的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录名词概念默认成员函数构造函数概念函数特征显示构造函数隐式构造函数总结名词概念默认构造函数:不用传参就可以

Pytorch介绍与安装过程

《Pytorch介绍与安装过程》PyTorch因其直观的设计、卓越的灵活性以及强大的动态计算图功能,迅速在学术界和工业界获得了广泛认可,成为当前深度学习研究和开发的主流工具之一,本文给大家介绍Pyto... 目录1、Pytorch介绍1.1、核心理念1.2、核心组件与功能1.3、适用场景与优势总结1.4、优

C++类和对象之默认成员函数的使用解读

《C++类和对象之默认成员函数的使用解读》:本文主要介绍C++类和对象之默认成员函数的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、默认成员函数有哪些二、各默认成员函数详解默认构造函数析构函数拷贝构造函数拷贝赋值运算符三、默认成员函数的注意事项总结一

如何确定哪些软件是Mac系统自带的? Mac系统内置应用查看技巧

《如何确定哪些软件是Mac系统自带的?Mac系统内置应用查看技巧》如何确定哪些软件是Mac系统自带的?mac系统中有很多自带的应用,想要看看哪些是系统自带,该怎么查看呢?下面我们就来看看Mac系统内... 在MAC电脑上,可以使用以下方法来确定哪些软件是系统自带的:1.应用程序文件夹打开应用程序文件夹

Redis指南及6.2.x版本安装过程

《Redis指南及6.2.x版本安装过程》Redis是完全开源免费的,遵守BSD协议,是一个高性能(NOSQL)的key-value数据库,Redis是一个开源的使用ANSIC语言编写、支持网络、... 目录概述Redis特点Redis应用场景缓存缓存分布式会话分布式锁社交网络最新列表Redis各版本介绍旧

MySQL的ALTER TABLE命令的使用解读

《MySQL的ALTERTABLE命令的使用解读》:本文主要介绍MySQL的ALTERTABLE命令的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、查看所建表的编China编程码格式2、修改表的编码格式3、修改列队数据类型4、添加列5、修改列的位置5.1、把列

Mybatis嵌套子查询动态SQL编写实践

《Mybatis嵌套子查询动态SQL编写实践》:本文主要介绍Mybatis嵌套子查询动态SQL编写方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、实体类1、主类2、子类二、Mapper三、XML四、详解总结前言MyBATis的xml文件编写动态SQL