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’
  例子:
         禁止 sky 域用户 user1 sqlusers 组链接 SQL 服务:
         禁止本地组 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’
   Role 为建立的角色
   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’
   Role 为建立的角色
   Owner 为角色的拥有者 , 默认为 dbo
Sp_droprole ‘role’
为数据库角色添加删除成员:
Sp_addrolemember ‘role’, ‘account’
Sp_droprolemember ‘role’, ‘account’
   Role 为固定或自定义数据库角色
   Account SQL 登陆标识或 NT 账号
管理数据库用户:
Sp_grantdbaccess ‘login’, ‘name_in_db’
Sp_revokedbaccess ‘name_in_db’
   Login 为登陆标识
   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
相关文章
相关标签/搜索