DBA面试题

当前位置: 面试问题网 > DBA面试题 > 为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限

为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限

答: 出于安全原因需要这些权限。请考虑下列简单存储过程:
   USE pubs
   GO
   Create PROCEDURE GeneralSelect @TableName SYSNAME
   AS
   EXEC (‘Select * FROM ‘ + @TableName)
   GO
   您可能希望您的存储过程发出一个与下面类似的调用:
   USE pubs
   EXEC GeneralSelect ‘authors’
   但是,请考虑传送给存储过程的下列顺序:
   USE pubs
   EXEC GeneralSelect ‘authors Drop TABLE authors’
   如果存储过程的创建者是 pubs 数据库中 db_owner 角色的成员,并且您的用户只需要对存储过程具有 EXECUTE ㄏ蓿?蚋妹?罱?境?authors 表。SQL Server 通过要求用户证明具有对数据库对象(通过动态 SQL 语句引用的)的正确权限来保护数据免受未授权的操作。

【为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限】相关文章

1. 为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限

2. SQL Server的固定数据库角色都有哪些?对应的服务器权限有哪些?

3. 必须要使用游标的SQL语句有那些

4. Ibatis如何使用动态表名

5. 写一个在SQL Server创建表的SQL语句

6. 什么是动态端口(Dynamic Ports)?动态端口的范围是多少?

7. 写出SQL四条最基本的数据操作语句(DML)

8. Oracle查看当前用户的角色和查看当前用户的系统权限和表级权限

9. 面试时必须了解用人单位是哪种求才心理

10. mysql_pconnect()和mysql_connect()有什么区别

本文来源:https://www.mianshiwenti.com/a13373.html

点击展开全部

《为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限》

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面

﹝为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限﹞相关内容

「为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限」相关专题

其它栏目

也许您还喜欢