前面提了一下安全配置的一些基本概念了,下面在給你們介紹一下,如何經過
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