WEB开发网
开发学院数据库MSSQL Server SQL Server 2005安全配置(续) 阅读

SQL Server 2005安全配置(续)

 2008-11-25 10:12:39 来源:WEB开发网   
核心提示:前面提了一下安全配置的一些基本概念了,下面在给大家介绍一下,SQL Server 2005安全配置(续),如何通过T-SQL语句来实现帐户的创建,因为在客户端连接到SQL Server服务器时,下面是一些具体的例子:1. windows身份验证:Sp_grantlogin ‘login’例子:允

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

1.  windows身份验证:

Sp_grantlogin ‘login’

例子:允许sky域用户user1及sqlusers组连接SQL服务:

允许本地组Users连接SQL服务

sp_grantlogin ‘skyuser1’
sp_grantlogin ‘testsqlusers’
sp_grantlogin ‘BUILTINusers’
go
  
Sp_denylogin ‘login’

例子:

–     禁止sky域用户user1及sqlusers组连接SQL服务:

–     禁止本地组Users连接SQL服务

  sp_denylogin ‘skyuser1’
  sp_denylogin ‘skysqlusers’
  sp_denylogin ‘BUILTINusers’
  go

删除登录标识:

Sp_revokelogin ‘login’

例子:

从sysxlogins系统表中删除user1及sqlusers

  sp_revokelogin ‘skyuser1’
  sp_revokelogin ‘skysqlusers’
  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

本文出自 “陈宣宋微软技术空间” 博客,请务必保留此出处http://chensky.blog.51cto.com/177526/38691

Tags:SQL Server 安全

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接