SQL server中的「登入名」和「使用者」概念

2021-04-23 07:21:08 字數 1722 閱讀 9504

本文**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表中。使用者名稱乙個或多個登入物件在資料庫中的對映。可以對使用者物件進行授權,以便為登入物件提供對資料庫的訪問許可權。使用者定義資訊存放在每個...