SQL Server 2005安全配置(续)

前面提了一下安全配置的一些基本概念了,下面在给大家介绍一下,如何通过 T-SQL 语句来实现帐户的创建。因为在客户端连接到 SQL Server 服务器时,有两种身份验证: windows 身份验证或者使用 SQL 身份验证,所以在使用帐户时,也可以使用两种类型的帐户,在这里我们要注意一个问题,前面提及过连接 SQL 需要三道门,那我们就需要建立帐户,当我们的环境是工作组时,如果使用 windows 身份验证,比如创建了一个用户 zhangsan ,那就要求要连接的客户端也建立同样的帐户,并且密码要求一样,否则无法连接,下面是一些具体的例子:
1.   windows 身份验证:
Sp_grantlogin ‘login’
例子:允许 sky 域用户 user1 sqlusers 组连接 SQL 服务:
允许本地组 Users 连接 SQL 服务
sp_grantlogin ‘sky\user1’
sp_grantlogin ‘test\sqlusers’
sp_grantlogin ‘BUILTIN\users’
go

 
Sp_denylogin ‘login’
  例子:
�C         禁止 sky 域用户 user1 sqlusers 组连接 SQL 服务:
�C         禁止本地组 Users 连接 SQL 服务
    sp_denylogin ‘sky\user1’
    sp_denylogin ‘sky\sqlusers’
    sp_denylogin ‘BUILTIN\users’
    go
删除登录标识:
Sp_revokelogin ‘login’
例子:
sysxlogins 系统表中删除 user1 sqlusers
   sp_revokelogin ‘sky\user1’
   sp_revokelogin ‘sky\sqlusers’
   go
创建 SQL 登录标识:
Exec  Sp_addlogin ‘login’
  ‘password’
  ‘database’
  ‘language’
  ‘sid’
  ‘encryption_option’
举例: Exec Sp_addlogin test1
Exec Sp_addlogin test2, password, northwind
      修改登录标识:
Exec Sp_password ‘oldpsw’,’newpsw’,’login’
Exec Sp_defaultdb ‘login’,’database’
Exec Sp_defaultlanguage  ‘login’,’language
删除 SQL 登录标识:
exec sp_droplogin login
2.   数据库角色:
创建和删除自定义角色:
Sp_addrole  ‘role’, ‘owner’
�C   Role 为创建的角色
�C   Owner 为角色的拥有者 , 默认为 dbo
Sp_droprole ‘role’
Use northwind
Go
Sp_addrole ‘sales’, ‘dbo’
Go
Sp_addrole ‘manager’
Go
Sp_droprole ‘manager’
Go
为固定服务器角色添加删除成员:
Sp_addrole  ‘role’, ‘owner’
�C   Role 为创建的角色
�C   Owner 为角色的拥有者 , 默认为 dbo
Sp_droprole ‘role’
为数据库角色添加删除成员:
Sp_addrolemember ‘role’, ‘account’
Sp_droprolemember ‘role’, ‘account’
�C   Role 为固定或自定义数据库角色
�C   Account SQL 登录标识或 NT 帐号
管理数据库用户:
Sp_grantdbaccess ‘login’, ‘name_in_db’
Sp_revokedbaccess ‘name_in_db’
�C   Login 为登录标识
�C   Name_in_db 为在数据库里的用户帐号,默认为同名
 
3.   权限授予、拒绝、回收
northwind 的订单表的 select 许可授予所有用户:
Use northwind
Go
Grant select
        on 订单
        to public
go
sales 表的数据修改许可授予自定义角色 salesmanger
Grant insert,update,delete
        on sales
        to salesmanger
Go
允许用户 user1 查看 publishers 表的所有内容,但只允许修改 pub_id 列:
Grant select,update{pub_id}
        on publishers
        to user1
Go

你可能感兴趣的:(sql,数据库,server,安全,2005)