摘要:
下文讲述使用sql脚本创建登录名的步骤方法分享,如下所示:
实验环境:sql server 2008 R2
下文将通过举例的方式讲述sql脚本创建登录名、角色、用户、授权的方法:
1.创建登录名:
登录名的用途:
此账号主要应用于采用 “SQL Server身份验证”模式的登录名和密码的创建工作。
例:
create login [testLoginName] with password='testLoginPwd', default_database=master /* 注意事项: testLoginName:创建的登录名 testLoginPwd:创建的登录名对应的密码 master:创建登录名所对应的默认数据库 -------- 账户必须要指定默认数据库和加入相应的服务器角色和映射到相应的数据库用户上,才能作为登录使用 */
2.登录名加入至服务器角色:
服务器角色:
用于定义登陆账户对sqlserver的相关操作权限
exec sp_addsrvrolemember 'testLoginName','sysadmin' /* sp_addsrvrolemember:将登录名添加至相应角色的系统存储过程 testLoginName:登录名 sysadmin:角色名称 */
3.创建数据库用户:
数据库用户:
用于控制数据库(dataBase)的相关权限的账户,需同登录名进行相关映射,一个登录名只能映射一个数据库用户。
create user testLoginNameUser for login testLoginName with default_schema=testDbo /* 注意事项: testLoginNameUser:数据库用户名 testLoginName:关联的sqlserver登录名 testDbo是此用户对应的架构名称 */
4.数据库用户添加至数据库角色的方法:
此方法的主要功能使数据库用户拥有相应的权限操作数据库中的表视图 存储过程等对象
exec sp_addrolemember 'testLoginNameRole','testLoginNameUser' /* sp_addrolemember:将用户名添加至相应数据库角色的系统存储过程 testLoginNameRole:角色名称 testLoginNameUser:用户名 */
5.数据库授权:
此命令将相应的权限授权给数据库角色,使相应的登录账户拥有相应的权限的变相的方式实现权限授予
grant select on table to testLoginNameRole /* 将select操作命令,操作对象为table授予给数据库角色testLoginNameRole */
6.删除数据库授权:
此命令可从数据库角色里面回收相应的权限
revoke select on table to testLoginNameRole /* 将select操作命令,操作对象为table 从数据库角色testLoginNameRole中剔除 */
7.拒绝数据库select操作:
此命令可使指定角色无相应的操作权限
deny select on table to testLoginNameRole /* 禁止角色 testLoginNameRole执行以下" select操作命令,操作对象为table" */