Content

sql server 2008 数据库管理系统使用SQL语句创建登录用户步骤详解(sql server 2008 r2数据库共享)太疯狂了

文章摘要

这篇文章主要介绍了SQL Server中的服务器角色和数据库角色,以及如何通过存储过程为用户和数据库账户分配权限。文章按从最低到最高级别的顺序描述了服务器角色,包括Bulkadmin、Dbcreator、Diskadmin、Processadmin、Securityadmin、Serveradmin、Setupadmin、Sysadmin和Public角色,每个角色对应的权限和用途。此外,文章还详细说明了数据库角色的 nine 个内置角色,包括db_owner、db_accessadmin、db_backupoperator、db_datareader、db_datawriter、db_ddladmin等。文章最后通过存储过程展示了如何为新建用户和数据库账户分配权限,并强调了权限管理的重要性,特别是如何回收和删除不必要的权限。文章内容简明扼要,重点突出,适合需要了解SQL Server角色和权限管理的读者。

 –服务器角色: –固定服务器角色具有一组固定的权限,并且适用于整个服务器范围。 它们专门用于管理 SQL Server,且不能更改分配给它们的权限。 –可以在数据库中不存在用户帐户的情况下向固定服务器角色分配登录。 –按照从最低级别的角色(bulkadmin)到最高级别的角色(sysadmin)的顺序进行描述: –1、Bulkadmin:这个服务器角色的成员可以运行BULKINSERT语句。这条语句允许从文本文件中将数据导入到SQLServer 2008数据库中, — 为需要执行大容量插入到数据库的域账户而设计。 –2、Dbcreator:这个服务器角色的成员可以创建、更改、删除和还原任何数据库。这不仅是适合助理DBA的角色, — 也可能是适合开发人员的角色。 –3、Diskadmin:这个服务器角色用于管理磁盘文件,比如镜像数据库和添加备份设备。它适合助理DBA。 –4、Processadmin:SQLServer 2008能够多任务化,也就是说可以通过执行多个进程做多个事件。 — 例如,SQLServer 2008可以生成一个进程用于向高速缓存写数据,同时生成另一个进程用于从高速缓存中读取数据。 — 这个角色的成员可以结束(在SQLServer 2008中称为删除)进程。 –5、Securityadmin:这个服务器角色的成员将管理登录名及其属性。他们可以授权、拒绝和撤销服务器级权限。 — 也可以授权、拒绝和撤销数据库级权限。另外,它们可以重置SQLServer 2008登录名的密码。 –6、Serveradmin:这个服务器角色的成员可以更改服务器范围的配置选项和关闭服务器。 — 例如SQLServer 2008可以使用多大内存或监视通过网络发送多少信息,或者关闭服务器,这个角色可以减轻管理员的一些管理负担。 –7、Setupadmin:为需要管理链接服务器和控制启动的存储过程的用户而设计。 — 这个角色的成员能添加到setupadmin,能增加、删除和配置链接服务器,并能控制启动过程。 –8、Sysadmin:这个服务器角色的成员有权在SQLServer 2008中执行任何任务。 –9、Public:有两大特点,第一,初始状态时没有权限;第二,所有的数据库用户都是它的成员。 –数据库角色 –固定数据库角色具有一组预定义的权限,这些权限旨在允许您轻松管理权限组。 db_owner 角色的成员可对数据库执行所有配置和维护活动。 –微软提供了9个内置的角色,以便于在数据库级别授予用户特殊的权限集合 –db_owner:该角色的用户可以在数据库中执行任何操作。 –db_accessadmin:该角色的成员可以从数据库中增加或者删除用户。 –db_backupopperator:该角色的成员允许备份数据库。 –db_datareader:该角色的成员允许从任何表读取任何数据。 –db_datawriter:该角色的成员允许往任何表写入数据。 –db_ddladmin:该角色的成员允许在数据库中增加、修改或者删除任何对象(即可以执行任何DDL语句)。 –创建一个登录用户 create login Diviner with password=’825991′, default_database=WangPing –使用存储过程,为新建登录用户授予Diskadmin角色 exec sp_addsrvrolemember ‘Diviner’,’Diskadmin’ –为登录账户创建数据库账户,完成登录用户的和数据库账户映射起来,一般建议将数据库用户和登录用户名保持一致 create user Diviner for login Diviner with default_schema=dbo –使用存储过程,为新建数据库用户授权给具有执行ddl的权限 exec sp_addrolemember ‘db_ddladmin’,’Diviner’ –授权给我们新创建的用户 Grant select,update,delete,insert ON T_Mystudents to Diviner –回收权限 revoke select,insert,update,delete on T_Mystudents from Diviner –创建一个角色(并且将角色自动的分配给用户) create role manager authorization Diviner —-将角色分配给用户Divinier(不可用) –grant manager –to Diviner —-将分配给用户Divinier分配给用户的manager角色(不可用) –revoke manager –from Diviner cascade –删除角色 drop role manager –给角色授权 grant select,insert,delete,update on T_Mystudents to manager –回收角色的权限 revoke select,insert,delete,update on T_Mystudents from manager –删除数据库用户 drop user Diviner –删除登录用户 drop login Diviner