程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 2005安全配置(續)

SQL Server 2005安全配置(續)

編輯:關於SqlServer

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

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved