SQL安全性相关

来源:互联网 发布:淘宝众筹服务商 编辑:程序博客网 时间:2024/05/16 05:34
/*SQL安全性*/
  
  /*通过企业管理器设置安全性*/
  
  /*注意!部分版本的SQL默认为只允许windows用户登陆,sa的登陆将无效,
  解决方法是在企业管理器右击左边控制台目录的服务器图标,选属性/安全性选项卡,
  将“仅windows”单选钮改选为“SQL server和windows”即可
  */
  
  --1.控制台/服务器目录/安全性/登录,右击/新建登录
  ----1)名称下输入登录用户名,身份验证下选择“sql身份验证”,输入密码
  ---- 选择该用户登陆默认数据库及语言
  ----2)单击服务器角色,选择该登录在服务器上的权限,各权限意义如下:
  ------a)system adminstrators
  ------ 可执行 SQL Server 安装中的任何操作。
  ------b)security adminstrators
  ------ 可管理服务器的登录。
  ------c)server adminstrators
  ------ 可配置服务器范围的设置
  ------d)setup adminstrators
  ------ 可以管理扩展的存储过程
  ------e)process adminstrators
  ------ 可以管理运行在 SQL Server 中的进程
  ------f)disk adminstrators
  ------ 可以管理磁盘文件
  ------g)database creators
  ------ 可以创建和更改数据库
  ------h)bulk insert adminstrators
  ------ 可以执行大容量插入操作
  ----可点击属性查看权限的相关信息
  ----3)单击数据库访问选项卡,选择该登录可访问的数据库及数据库角色
  ----数据库角色:
  ------a)public
  ------public 角色
  ------public 角色是一个特殊的数据库角色,每个数据库用户都属于它。public 角色:
  ------捕获数据库中用户的所有默认权限。
  ------无法将用户、组或角色指派给它,因为默认情况下它们即属于该角色。
  ------含在每个数据库中,包括 master、msdb、tempdb、model 和所有用户数据库。
  ------无法除去。
  ------b)db_owner
  ------进行所有数据库角色的活动,以及数据库中的其它维护和配置活动。
  ------该角色的权限跨越所有其它固定数据库角色。
  ------c)db_accessadmin
  ------在数据库中添加或删除 Windows NT 4.0 或 Windows 2000 组和用户以及 SQL Server 用户。
  ------d)db_datareader
  ------查看来自数据库中所有用户表的全部数据。
  ------e)db_datawriter
  ------添加、更改或删除来自数据库中所有用户表的数据
  ------f)db_ddladmin
  ------添加、修改或除去数据库中的对象(运行所有 DDL)
  ------g)db_securityadmin
  ------管理 SQL Server 2000 数据库角色的角色和成员,并管理数据库中的语句和对象权限
  ------h)db_backupoperator
  ------有备份数据库的权限
  ------i)db_denydatareader
  ------拒绝选择数据库数据的权限
  ------j)db_denydatawriter
  ------拒绝更改数据库数据的权限
  --2.数据库/用户/新建用户
  --通过用户名与登录名进行关联
  --如果已经将数据库角色设置好,将自动关联与登录名相同的用户名
  --若修改用户名应先将该用户删除再进行关联
  --若无关联,该登录用户名将会显示dbo
  --若该登录的服务器角色为system adminstrators,则user将恒为dbo
  --用户与登录为1对1的关联关系
  
  /*通过查询分析器管理安全性*/
  
  /*新建登录*/
  exec sp_addlogin 'lecky','123','sales'
  --参数1登录名参数2密码参数3默认数据库
  
  /*承担服务器角色*/
  sp_addsrvrolemember 'lecky','sysadmin'
  --参数1登录名,参数2为固定服务器角色
  --注意:此处与企业管理器的服务器角色名称不同,为简写,如下:
  ----sysadmin在 SQL Server 中进行任何活动。该角色的权限跨越所有其它固定服务器角色。
  ----serveradmin 配置服务器范围的设置。
  ----setupadmin 添加和删除链接服务器,并执行某些系统存储过程(如 sp_serveroption)。
  ----securityadmin 管理服务器登录。
  ----processadmin 管理在 SQL Server 实例中运行的进程。
  ----dbcreator 创建和改变数据库。
  ----diskadmin 管理磁盘文件。
  ----bulkadmin 执行 BULK INSERT 语句。
  
  /*将已经创建的登录映射为数据库用户,并授予数据库角色*/
  exec sp_adduser 'lecky','lecky','public'
  --参数1登录名,参数2用户名,参数3数据库角色 
 
原创粉丝点击