`
xinklabi
  • 浏览: 1586960 次
  • 性别: 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的用户及权限

    数据库权限的授予使用`GRANT`语句,例如向zhang1在tele114数据库上授予创建表、视图和存储过程的权限,并对students表的select和reference权限,以及name和native字段的update权限,命令如下: ```sql use tele114 ...

    数据库sql server 2000课件

    1. 用户管理:创建、修改和删除数据库用户,分配权限。 2. 角色与权限:理解角色的概念,使用角色简化权限管理。 3. 审计功能:学习如何跟踪和记录数据库活动,确保数据安全。 九、数据库维护 1. 维护计划:设置...

    SQL Server 2005示例数据库

    5. 安全性与权限: AdventureWorks数据库还展示了SQL Server的权限管理机制,如用户角色、权限分配等,这对于理解如何保护敏感数据至关重要。 6. 性能优化:AdventureWorks数据库可以用于测试索引策略、查询优化器...

    《SQL Server 2016数据库应用教程》试卷及答案3套.pdf

    《SQL Server 2016数据库应用教程》试卷及答案主要涵盖了SQL Server 2016数据库的基础知识和操作技能,包括数据管理、查询、存储过程、事务处理、索引和视图等内容。以下是相关知识点的详细说明: 一、基础概念 1. ...

    SQLServer数据库基础教程及习题 ppt doc

    在SQL Server中,可以使用CREATE TABLE语句来创建数据库表,定义字段名、数据类型和约束条件。ALTER TABLE语句用于修改已有表的结构,而DROP TABLE则用于删除不再需要的表。表间关系可通过FOREIGN KEY约束实现。 四...

    数据库原理及应用SQL Server

    数据库原理及应用SQL Server是清华大学出版社出版的一本深入讲解数据库技术的教材,特别注重实践与理论的结合,适合初学者入门。SQL Server是微软公司推出的一款关系型数据库管理系统,广泛应用于企业级数据管理、...

    数据库应用技术—SQL Server 2000简明教程电子教案

    《数据库应用技术—SQL Server 2000简明教程电子教案》是针对SQL Server 2000这一经典数据库管理系统的学习资料,由李存斌主编。本教程旨在帮助学习者掌握SQL Server 2000的核心概念、功能以及实际应用技巧。 SQL ...

    SQL server 2005数据库简明教程视频

    SQL Server 2005提供了用户、登录、角色和权限的概念,以控制对数据库资源的访问。了解如何设置用户账户,分配权限,以及创建和管理角色,是保障数据库安全的重要环节。 八、备份与恢复策略 数据备份是防止数据丢失...

    数据库系统及应用基础-基于SQL Server 2000

    通过"数据库系统及应用基础-基于SQL Server 2000"的学习,你可以掌握数据库的基本概念,熟悉SQL语言,了解SQL Server 2000的管理工具,并具备实际操作数据库的能力。这不仅对于数据库管理员,对于软件开发人员和数据...

    使用 SQL Server设计与实施数据库

    1. 用户与登录:创建SQL Server登录和数据库用户,控制访问权限。 2. 角色管理:使用固定服务器角色和固定数据库角色简化权限管理。 3. 权限分配:GRANT、DENY和REVOKE语句用于授予、拒绝和撤销权限。 4. 审计与安全...

    数据库应用技术SQL Server 2005

    本资料旨在帮助学习者深入理解SQL Server 2005的基础概念、功能特性以及实际操作技巧,以提升在学习和工作中对数据库的运用能力。 ### SQL Server 2005基础 1. **安装与配置**:SQL Server 2005的安装涉及多个组件...

    sqlserver2012实例数据库

    本资源“sqlserver2012实例数据库”旨在为初学者提供一个学习和实践SQL Server 2012的平台,通过具体的实例帮助理解和掌握数据库管理的基本概念和操作。 首先,我们要了解SQL Server 2012的核心特性。它引入了新的T...

    SQL Server 2000数据库应用教程课后答案

    SQL Server 2000是微软公司推出的一款关系型数据库管理系统,它在企业级数据管理和分析中扮演着重要角色。本教程将围绕SQL Server 2000的数据库应用进行深入探讨,帮助学习者掌握其核心功能和操作技巧。课后答案旨在...

    深入浅出sql server数据库开发随书光盘

    1. **数据库设计**:在SQL Server中,设计数据库涉及创建表、定义字段类型、设置约束(如主键、外键)以及索引。理解范式理论(第一范式到第五范式)有助于创建高效、规范的数据库结构。 2. **T-SQL语言**:SQL ...

    SDE For SqlServer 2008 中使用独立用户和数据库.docx

    以下将详细介绍如何在SDE for SQL Server 2008中创建数据库、用户,并进行相应的权限设置。 1. 创建数据库: 在SQL Server Management Studio (SSMS) 中,首先你需要连接到SQL Server实例。然后,右键点击“数据库...

    SQL Server 2000数据库开发从零开始

    1. 用户与角色:创建和管理数据库用户,使用角色进行权限分配。 2. 权限控制:设置对象级、数据库级和服务器级权限,确保数据安全。 3. 登录与认证:理解SQL Server的登录机制,配置混合模式认证。 八、性能优化 1....

    省市数据库SQLServer源码

    在这个“省市数据库SQLServer源码”中,我们可以深入探讨与数据库设计、SQL Server特性和省市数据管理相关的知识点。 1. **数据库设计**:在构建省市数据库时,通常会创建两个主要的表,即省份表(Provinces)和...

    数据库系统(SQLserver)学习PPT

    数据库系统是信息系统的...本"数据库系统(SQLserver)学习PPT"将详细阐述以上知识点,通过实例演示和练习,帮助学习者逐步成为SQL Server的熟练使用者。无论是数据库管理员、开发人员还是数据分析人员,都能从中受益。

    用C#和SQLserver数据库制作的学生成绩管理系统

    5. **安全性**: SQL Server提供了用户权限管理和角色分配功能,确保只有授权用户能访问系统和数据。 【系统功能】: 1. **成绩录入**: 用户可以通过界面输入或导入Excel等方式录入学生的课程成绩。 2. **成绩查询**:...

    在SQL Server里查看当前连接的在线用户数

    在SQL Server中,掌握如何查看当前连接的在线用户数是一项重要的技能,这有助于数据库管理员(DBA)监控系统性能、优化资源分配以及处理潜在的安全问题。以下是从给定的文件信息中提炼出的关键知识点,包括如何查询...

Global site tag (gtag.js) - Google Analytics