日期:2014-05-18 浏览次数:21052 次
USE pubs --创建角色 r_test EXEC sp_addrole 'r_test' --授予 r_test 对 jobs 表的所有权限 GRANT ALL ON jobs TO r_test --授予角色 r_test 对 titles 表的 SELECT 权限 GRANT SELECT ON titles TO r_test --添加登录 l_test,设置密码为pwd,默认数据库为pubs EXEC sp_addlogin 'l_test','pwd','pubs' --为登录 l_test 在数据库 pubs 中添加安全账户 u_test EXEC sp_grantdbaccess 'l_test','u_test' --添加 u_test 为角色 r_test 的成员 EXEC sp_addrolemember 'r_test','u_test' --拒绝安全账户 u_test 对 titles 表的 SELECT 权限 DENY SELECT ON titles TO u_test /*--完成上述步骤后,用 l_test 登录,可以对jobs表进行所有操作,但无法对titles表查询,虽然角色 r_test 有titles表的select权限,但已经在安全账户中明确拒绝了对titles的select权限,所以l_test无titles表的select权限--*/ --从数据库 pubs 中删除安全账户 EXEC sp_revokedbaccess 'u_test' --删除登录 l_test EXEC sp_droplogin 'l_test' --删除角色 r_test EXEC sp_droprole 'r_test'
------解决方案--------------------
只有 sysadmin 和 securityadmin 固定服务器角色的成员才可以执行 sp_addlogin。
示例
A. 创建没有密码和主默认数据库的登录 ID
下面的示例为用户 Victoria 创建一个 SQL Server 登录名,没有指定密码或默认数据库。
EXEC sp_addlogin 'Victoria'
B. 创建登录 ID 和默认数据库
此示例为用户 Albert 创建一个 SQL Server 登录,并指定密码 food 以及名为 corporate 的默认数据库。
EXEC sp_addlogin 'Albert', 'food', 'corporate'
C.创建使用其它默认语言的登录 ID
下面的示例为用户 Claire Picard 创建一个 SQL Server 登录名,密码为"caniche",默认数据库为 public_db,默认语言为 French。
EXEC sp_addlogin 'Claire Picard', 'caniche', 'public_db', 'french'
D. 创建带有特定 SID 的登录 ID
下面的示例为用户 Michael 创建一个 SQL Server 登录名,密码为"chocolate",默认数据库为 pubs,默认语言为 us_english,SID 为 0x0123456789ABCDEF0123456789ABCDEF。
EXEC sp_addlogin 'Michael', 'chocolate', 'pubs', 'us_english', 0x0123456789ABCDEF0123456789ABCDEF
------解决方案--------------------
学习了
------解决方案--------------------
-SQL2008的
USE [master] GO CREATE LOGIN [test] WITH PASSWORD=N'test' MUST_CHANGE, DEFAULT_DATABASE=[db_idc], CHECK_EXPIRATION=ON, CHECK_POLICY=ON GO