首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2005 伺服器登入、角色、資料庫用戶、角色與結構描述關係圖解

     編輯:關於SqlServer

核心概念區分:伺服器層級 vs 資料庫層級

SQL Server 2005 對安全性架構大幅重構。一個伺服器實例包含一到多個資料庫,相關物件分層如下:

伺服器層級

  • 伺服器登入:具備登入伺服器實例權限的主體
  • 伺服器角色:固定的 9 組伺服器層級角色(如 sysadmin、securityadmin 等),不可新增/修改/刪除

登入必須隸屬某些伺服器角色(預設為 public),但登入不代表擁有資料庫操作權限。

資料庫層級

  • 資料庫用戶:對應伺服器登入,具備操作特定資料庫權限
  • 資料庫角色:可自訂的角色集合,彈性指派權限
  • 資料庫結構描述:資料庫物件的容器,類似命名空間,用戶透過結構描述存取物件

關係鏈總覽

  1. 伺服器登入隸屬某組伺服器角色
  2. 伺服器登入需對應資料庫用戶,始能操作該資料庫
  3. 資料庫用戶隸屬某組資料庫角色以取得權限
  4. 資料庫角色擁有對應結構描述,用戶透過角色間接擁有結構描述
  5. 用戶有預設結構描述,查詢可直接用「物件名」存取
  6. 非預設結構描述需用「結構描述名.物件名」存取

建立非 SA 帳戶並配置資料庫完整流程

  1. 新增登入 Login1
  2. 新增資料庫 DB1
  3. 新增結構描述 Schema1
  4. 新增資料庫用戶 User1,對應 Login1,預設結構描述設為 Schema1,加入 db_owner 角色
  5. 在 Login1 屬性的「使用者對應」頁面,勾選 DB1,用戶名填 User1,預設結構描述選 Schema1
  6. 後續建立資料表將為 Schema1.Table1 格式
  7. 同一用戶若擁有其他結構描述(如 Schema2),亦可存取 Schema2.Table2

特別注意事項

  • 多個資料庫可有相同名稱的用戶(對應同一登入)
  • 單一資料庫內用戶名稱不可重複
  • 結構描述分離了物件擁有者與使用者,提升管理彈性
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved