前面提了一下安全配置的一些基本概念了,下面在给你们介绍一下,如何经过
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