SQL Server 2005安全配置[转]
时间:2010-12-02 来源:代码泪
前面提了一下安全配置的一些基本概念了,下面在给大家介绍一下,如何通过T-SQL语句来实现帐户的创建。因为在客户端连接到SQL Server服务器时,有两种身份验证:windows身份验证或者使用SQL身份验证,所以在使用帐户时,也可以使用两种类型的帐户,在这里我们要注意一个问题,前面提及过连接SQL需要三道门,那我们就需要建立帐户,当我们的环境是工作组时,如果使用windows身份验证,比如创建了一个用户zhangsan,那就要求要连接的客户端也建立同样的帐户,并且密码要求一样,否则无法连接,下面是一些具体的例子:
1. windows身份验证:
Sp_grantlogin ‘login’
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
本文出自http://chensky.blog.51cto.com/177526/38691
相关阅读 更多 +