本文**http://blog.sina.com.cn/s/blog_5b2c0dcc0100bkdj.html
sql server中的「登入名」和「使用者」概念
登入名:
是帳戶識別符號,用來控制對任何 sql server 2000 系統的訪問許可權。sql server 2000 只有在首先驗證了指定的登入 id 有效後,才完成連線。
使用者: 在資料庫內,物件的全部許可權和所有權由使用者帳戶控制。使用者與資料庫相關。使用者只能檢視經授權可以檢視的表和檢視,並且只能執行經授權可以執行的儲存過程和管理功能。在安裝sql server後,預設資料庫中包含兩個使用者:dbo和guest。
「使用者」只在本資料庫內有效,舉例來說:sales資料庫中的xyz使用者帳戶不同於inventory資料庫中的xyz使用者帳戶,即使這兩個帳戶有相同的id。使用者由固定資料庫角色db_owner成員定義。
「使用者」在定義時便與乙個「登入名」相關聯(why?!)。例如,db_owner角色成員可以使「登入名」joe與sales資料庫中的「使用者」abc和employee資料庫中的「使用者」def相關聯。預設情況下,「登入名」和「使用者」相同。
下例說明給
windows
2000
master
go sp_grantlogin
'netdomain/sue'
go sp_defaultdb
@loginame
= 'netdomain/sue',
defdb
= 'sales'
go use
sales
go sp_grantdbaccess
'netdomain/sue',
'sue'
go 在sp_grantlogin語句中,授予windows2000使用者netdomain/sue(對庫來說即「登入名」)訪問microsoft sql server2000的許可權。sp_defaultdb語句使sales資料庫成為該「登入名」的預設資料庫。sp_grantdbaccess語句給netdomain/sue「登入名」提供了訪問sales資料庫的許可權,並將其在sales內的「使用者」設定成sue。
use
master
go sp_addlogin
@loginame='tempworker',@password = 'fff',defdb='sales'
go use
sales
go sp_grantdbaccess 'tempworker'
go sp_addlogin語句定義了乙個供各種臨時工作人員使用的sql server「登入名」。該語句還將sales資料庫指定為此登入的預設資料庫。sp_grantdbaccess語句給tempworker「登入名」授予了對sales資料庫的訪問許可權,由於沒有指定使用者名稱,預設為tempworker。
資料庫中的使用者由使用者id而非「登入名」標識。例如,在每個資料庫中,sa是對映到特殊「使用者」帳戶dbo(資料庫所有者)的登入帳戶。所有與安全有關的transact-sql語句都將該「使用者」作為security_name引數使用。如果sysadmin固定伺服器角色成員和db_owner固定資料庫角色成員對系統進行設定,使每個使用者的「登入名」和「使用者」都相同,就不容易混淆許可權的管理和理解,但不必非這樣做。
在sql server資料庫中,guest帳戶是特殊的使用者帳戶。如果使用者使用use database語句訪問的資料庫中沒有與此使用者關聯的帳戶,此使用者就與guest使用者相關聯。
SQL Server2005建立登入名
sql server2005建立登入名 對於出入sql server2005大門的人來說,建立使用者名稱很容易出錯。下面介紹具體的步驟和方法 首先建立使用者名稱 建立使用 windows 身份驗證 sql server management studio 的 sql server 登入名 在 sql...
SQL Server2005建立登入名
對於出入sql server2005大門的人來說,建立使用者名稱很容易出錯。下面介紹具體的步驟和方法 首先建立使用者名稱 建立使用 windows 身份驗證 sql server management studio 的 sql server 登入名 在 sql server management s...
sqlserver中 登入名與使用者的概念及關係
登入名 伺服器方的乙個實體,使用乙個登入名只能進入伺服器,但是不能讓使用者訪問伺服器中的資料庫資源。每個登入名的定義存放在master資料庫的syslogin表中。使用者名稱乙個或多個登入物件在資料庫中的對映。可以對使用者物件進行授權,以便為登入物件提供對資料庫的訪問許可權。使用者定義資訊存放在每個...