回覆列表
  • 1 # 小白戰神來了

    登入名:伺服器方的一個實體,使用一個登入名只能進入伺服器,但是不能讓使用者訪問伺服器中的資料庫資源。每個登入名的定義存放在master資料庫的syslogins表中

    使用者名稱:一個或多個登入物件在資料庫中的對映,可以對使用者物件進行授權,以便為登入物件提供對資料庫的訪問許可權。使用者定義資訊存放在每個資料庫的sysusers表中。

    SQLSERVER把登入名與使用者名稱的關係稱為對映。用登入名登入SQLSERVER後,在訪問各個資料庫時,SQLSERVER會自動查詢此資料庫中是否存在與此登入名關聯的使用者名稱,若存在就使用此使用者的許可權訪問此資料庫,若不存在就是用guest使用者訪問此資料庫

    一個登入名可以被授權訪問多個數據庫,但一個登入名在每個資料庫中只能對映一次。即一個登入可對應多個使用者,一個使用者也可以被多個登入使用。好比SQLSERVER就象一棟大樓,裡面的每個房間都是一個數據庫.登入名只是進入大樓的鑰匙,而使用者名稱則是進入房間的鑰匙.一個登入名可以有多個房間的鑰匙,但一個登入名在一個房間只能擁有此房間的一把鑰匙。

    連結或登入Sql Server伺服器時是用的登入名而非使用者名稱登入的,程式裡面的連結字串中的使用者名稱也是指登入名

    我們常見的dbo(使用者名稱)是指以sa(登入名)或windows administration(Windows整合驗證登入方式)登入的使用者,也就是說資料庫管理員在SQLSERVER中的使用者名稱就叫dbo,而不叫 sa,這一點看起來有點蹊蹺,因為通常使用者名稱與登入名相同(不是強制相同,但為了一目瞭然通常都在建立使用者名稱時使用與登入名相同的名字),例如建立了一個登入名稱為me,那麼可以為該登入名me在指定的資料庫中新增一個同名使用者,使登入名me能夠訪問該資料庫中的資料.當在資料庫中添加了一個使用者me 後,之後以me登入名登入時在該資料庫中建立的一切物件(表,函式,儲存過程等)的所有者都為me,如me.table1,me.fn_test(),而不是dbo.table1,dbo.fn_test().

  • 中秋節和大豐收的關聯?
  • “心碎烏托邦”是什麼意思?