`
xinklabi
  • 浏览: 1566855 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
文章分类
社区版块
存档分类
最新评论

数据库创建用户及针对表(字段)分配权限(以SQLServer测试的)

 
阅读更多

USE tempdb GO --创建两个测试表 CREATE TABLE tb1(id int,value int) INSERT tb1 VALUES(1,10) CREATE TABLE tb2(id int,value int) INSERT tb1 VALUES(1,10) GO --创建登录 CREATE LOGIN Liang WITH PASSWORD='myfend@hotmail.com'; --创建用户 CREATE USER Liang FROM LOGIN Liang; --授予用户对tb1有UPDATE某个列的权限,tb2只有SELECT权限 GRANT UPDATE(value) ON tb1 TO Liang GRANT SELECT ON tb1 TO Liang GRANT SELECT ON tb2 TO Liang GO --模拟用户Liang对tb1表进行UPDATE EXECUTE AS USER='Liang' UPDATE tb1 SET value=20 WHERE id=1 REVERT SELECT * FROM tb1 /* id value ----------- ----------- 1 20 (1 行受影响) */ --模拟用户Liang对tb2表进行UPDATE EXECUTE AS USER='Liang' UPDATE tb2 SET value=20 WHERE id=1 REVERT /* 消息 229,级别 14,状态 5,第 23 行 拒绝了对对象 'tb2' (数据库 'tempdb',架构 'dbo')的 UPDATE 权限。 */ GO --删除测试 DROP TABLE tb1,tb2 DROP USER Liang DROP LOGIN Liang

 

 

--要控制对数据库的权限, 可以参考下面的: -- 防止访问他不该访问的数据库(总控制,明细还可以控制他对于某个数据库的具体对象具有的权限) --切换到你新增的用户要控制的数据库 use 你的库名 go --新增用户 exec sp_addlogin 'test' --添加登录 exec sp_grantdbaccess N'test' --使其成为当前数据库的合法用户 exec sp_addrolemember N'db_owner', N'test' --授予对自己数据库的所有权限 --这样创建的用户就只能访问自己的数据库,及数据库中包含了guest用户的公共表 go --删除测试用户 exec sp_revokedbaccess N'test' --移除对数据库的访问权限 exec sp_droplogin N'test' --删除登录 如果在企业管理器中创建的话,就用: 企业管理器--安全性--右键登录--新建登录 常规项 --名称中输入用户名 --身份验证方式根据你的需要选择(如果是使用windows身份验证,则要先在操作系统的用户中新建用户) --默认设置中,选择你新建的用户要访问的数据库名 服务器角色项 这个里面不要选择任何东西 数据库访问项 勾选你创建的用户需要访问的数据库名 数据库角色中允许,勾选"public","db_ownew" 确定,这样建好的用户与上面语句建立的用户一样 --------------------------------------------------------------------------- 最后一步,为具体的用户设置具体的访问权限,这个可以参考下面的最简示例: --添加只允许访问指定表的用户: exec sp_addlogin '用户名','密码','默认数据库名' --添加到数据库 exec sp_grantdbaccess '用户名' --分配整表权限 GRANT SELECT , INSERT , UPDATE , DELETE ON table1 TO [用户名] --分配权限到具体的列 GRANT SELECT , UPDATE ON table1(id,AA) TO [用户名] ------------------------------------------------------------------- 至于具体的安全设置和理论知道,参考SQL联机帮助

分享到:
评论

相关推荐

    数据库编程期末答疑,卷子讲解,SQL server相关操作讲解,如有侵权请联系删除

    如下是一个简化的员工考勤应用E-R图,请在SQL Server中创建名为YQKG的数据库,包括两个数据文件,一个日志文件,文件名按SQL Server对象命名规范定义,数据文件按10%的比例增长,数据库定义完成后输入如下样本数据。...

    SQL Server 2008管理员必备指南(超高清PDF)Part1

    《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,更是数据库管理员的必备指南。 编辑推荐 《SQL Server 2008管理员必备指南》教你全面掌握SQL Server 2008的必备指南!这本实用指南讲述了SQL Server ...

    SQL Server 2008管理员必备指南(超高清PDF)Part3

    《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,更是数据库管理员的必备指南。 编辑推荐 《SQL Server 2008管理员必备指南》教你全面掌握SQL Server 2008的必备指南!这本实用指南讲述了SQL Server ...

    SQL Server 2008管理员必备指南(超高清PDF)Part2

    《SQL Server 2008管理员必备指南》适合所有SQL Server用户参考,更是数据库管理员的必备指南。 编辑推荐 《SQL Server 2008管理员必备指南》教你全面掌握SQL Server 2008的必备指南!这本实用指南讲述了SQL Server ...

    SQL.Server.2008管理员必备指南.part2.rar(2/4)

     7.3.1 在SQL Server Management Studio中创建数据库 167  7.3.2 使用T-SQL创建数据库 170  7.4 修改数据库及其选项 171  7.4.1 在SQL Server Management Studio中设置数据库选项 171  7.4.2 使用ALTER ...

    SQL.Server.2008管理员必备指南.part1.rar(1/4)

     7.3.1 在SQL Server Management Studio中创建数据库 167  7.3.2 使用T-SQL创建数据库 170  7.4 修改数据库及其选项 171  7.4.1 在SQL Server Management Studio中设置数据库选项 171  7.4.2 使用ALTER ...

    SQL.Server.2008管理员必备指南.part4.rar(4/4)

     7.3.1 在SQL Server Management Studio中创建数据库 167  7.3.2 使用T-SQL创建数据库 170  7.4 修改数据库及其选项 171  7.4.1 在SQL Server Management Studio中设置数据库选项 171  7.4.2 使用ALTER ...

    SQL.Server.2008管理员必备指南.part3.rar(3/4)

     7.3.1 在SQL Server Management Studio中创建数据库 167  7.3.2 使用T-SQL创建数据库 170  7.4 修改数据库及其选项 171  7.4.1 在SQL Server Management Studio中设置数据库选项 171  7.4.2 使用ALTER ...

    Access 2000数据库系统设计(PDF)---025

    2069.3.4 计算查询字段值的表达式 2109.3.5 表达式的其他用途 2129.4 疑难解答 2129.5 现实世界—Access表达式代数学 212第10章 创建多表查询和交叉表查询 21410.1 介绍表的连接 21410.2 连接表以创建多表查询 ...

    Access 2000数据库系统设计(PDF)---002

    2069.3.4 计算查询字段值的表达式 2109.3.5 表达式的其他用途 2129.4 疑难解答 2129.5 现实世界—Access表达式代数学 212第10章 创建多表查询和交叉表查询 21410.1 介绍表的连接 21410.2 连接表以创建多表查询 ...

    Access 2000数据库系统设计(PDF)---018

    2069.3.4 计算查询字段值的表达式 2109.3.5 表达式的其他用途 2129.4 疑难解答 2129.5 现实世界—Access表达式代数学 212第10章 创建多表查询和交叉表查询 21410.1 介绍表的连接 21410.2 连接表以创建多表查询 ...

    Access 2000数据库系统设计(PDF)---003

    2069.3.4 计算查询字段值的表达式 2109.3.5 表达式的其他用途 2129.4 疑难解答 2129.5 现实世界—Access表达式代数学 212第10章 创建多表查询和交叉表查询 21410.1 介绍表的连接 21410.2 连接表以创建多表查询 ...

    Access 2000数据库系统设计(PDF)---011

    2069.3.4 计算查询字段值的表达式 2109.3.5 表达式的其他用途 2129.4 疑难解答 2129.5 现实世界—Access表达式代数学 212第10章 创建多表查询和交叉表查询 21410.1 介绍表的连接 21410.2 连接表以创建多表查询 ...

    Access 2000数据库系统设计(PDF)---020

    2069.3.4 计算查询字段值的表达式 2109.3.5 表达式的其他用途 2129.4 疑难解答 2129.5 现实世界—Access表达式代数学 212第10章 创建多表查询和交叉表查询 21410.1 介绍表的连接 21410.2 连接表以创建多表查询 ...

    Access 2000数据库系统设计(PDF)---009

    2069.3.4 计算查询字段值的表达式 2109.3.5 表达式的其他用途 2129.4 疑难解答 2129.5 现实世界—Access表达式代数学 212第10章 创建多表查询和交叉表查询 21410.1 介绍表的连接 21410.2 连接表以创建多表查询 ...

    Access 2000数据库系统设计(PDF)---001

    2069.3.4 计算查询字段值的表达式 2109.3.5 表达式的其他用途 2129.4 疑难解答 2129.5 现实世界—Access表达式代数学 212第10章 创建多表查询和交叉表查询 21410.1 介绍表的连接 21410.2 连接表以创建多表查询 ...

    Access 2000数据库系统设计(PDF)---012

    2069.3.4 计算查询字段值的表达式 2109.3.5 表达式的其他用途 2129.4 疑难解答 2129.5 现实世界—Access表达式代数学 212第10章 创建多表查询和交叉表查询 21410.1 介绍表的连接 21410.2 连接表以创建多表查询 ...

    Access 2000数据库系统设计(PDF)---015

    2069.3.4 计算查询字段值的表达式 2109.3.5 表达式的其他用途 2129.4 疑难解答 2129.5 现实世界—Access表达式代数学 212第10章 创建多表查询和交叉表查询 21410.1 介绍表的连接 21410.2 连接表以创建多表查询 ...

    Access 2000数据库系统设计(PDF)---027

    2069.3.4 计算查询字段值的表达式 2109.3.5 表达式的其他用途 2129.4 疑难解答 2129.5 现实世界—Access表达式代数学 212第10章 创建多表查询和交叉表查询 21410.1 介绍表的连接 21410.2 连接表以创建多表查询 ...

    Access 2000数据库系统设计(PDF)---026

    2069.3.4 计算查询字段值的表达式 2109.3.5 表达式的其他用途 2129.4 疑难解答 2129.5 现实世界—Access表达式代数学 212第10章 创建多表查询和交叉表查询 21410.1 介绍表的连接 21410.2 连接表以创建多表查询 ...

Global site tag (gtag.js) - Google Analytics