日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

sql server登录名、服务器角色、数据库用户、数据库角色、架构区别联系**

發布時間:2023/12/10 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sql server登录名、服务器角色、数据库用户、数据库角色、架构区别联系** 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.一個數據庫用戶可以對應多個架構(架構是表容器)。架構里面包含的是數據庫表。

2.一個數據庫角色有可能涉及多個架構。數據庫角色對應的是權限。

3.一個用戶對應一個數據庫角色。

4.登錄名與數據庫用戶在服務器級別是一對多的;在數據庫級別是一對一的。

?

用戶(User)和架構(Schema)的關系1-*關系

  • 一個架構有且只有一個所有者Owner。
  • 一個用戶可以擁有多個架構。

服務器登錄名:指有權限登錄到某服務器的用戶

服務器角色:? ? 指一組固定的服務器用戶,默認有9組

  • 登錄名一定屬于某些角色,默認為public
  • 服務器角色不容許更改
  • 登錄后也不一定有權限操作數據庫

數據庫用戶:指有權限能操作數據庫的用戶

數據庫角色:指一組固定的有某些權限的數據庫角色

數據庫架構:指數據庫對象的容器

  • 數據庫用戶對應于服務器登錄名以便登錄者可以操作數據庫
  • 數據庫角色可以添加,可以定制不同權限  
  • 數據庫架構,類似于數據庫對象的命名空間,用戶通過架構訪問數據庫對象

服務器角色

  • sysadmin--在 SQL Server 中進行任何活動。該角色的權限跨越所有其它固定服務器角色。
  • serveradmin?--配置服務器范圍的設置。
  • setupadmin?--添加和刪除鏈接服務器,并執行某些系統存儲過程(如 sp_serveroption)。
  • securityadmin?--管理服務器登錄。
  • processadmin?--管理在 SQL Server 實例中運行的進程。
  • dbcreator?--創建和改變數據庫。
  • diskadmin?--管理磁盤文件。
  • bulkadmin?--執行 BULK INSERT 語句。

數據庫角色

  • public 角色是一個特殊的數據庫角色,每個數據庫用戶都屬于它。public 角色:?
  • --捕獲數據庫中用戶的所有默認權限。
  • --無法將用戶、組或角色指派給它,因為默認情況下它們即屬于該角色。
  • --含在每個數據庫中,包括 master、msdb、tempdb、model 和所有用戶數據庫。
  • --無法除去。
    • db_owner?
    • --進行所有數據庫角色的活動,以及數據庫中的其它維護和配置活動。
    • --該角色的權限跨越所有其它固定數據庫角色。
    • db_accessadmin?
    • --在數據庫中添加或刪除 Windows NT 4.0 或 Windows 2000 組和用戶以及 SQL Server 用戶。
    • db_datareader?
    • --查看來自數據庫中所有用戶表的全部數據。
    • db_datawriter?
    • --添加、更改或刪除來自數據庫中所有用戶表的數據
    • db_ddladmin?
    • --添加、修改或除去數據庫中的對象(運行所有 DDL)
    • db_securityadmin?
    • --管理 SQL Server 2000 數據庫角色的角色和成員,并管理數據庫中的語句和對象權限
    • db_backupoperator?
    • --有備份數據庫的權限
    • db_denydatareader?
    • --拒絕選擇數據庫數據的權限
    • db_denydatawriter
    • --拒絕更改數據庫數據的權限

    先說sqlserver里面的數據庫級別設置:

    服務器級 -> 數據庫級 ->?架構級 - > 數據對象級,比如說:Server.DataBase1.dbo.Table1;這里的意思就是Table1這個表屬于dbo這個架構

    ,dbo這個架構屬于DataBase1這個數據庫,DataBase1這個數據庫屬于Server這個服務器。里面的架構其實就是一個容器,好像就是面向對象里面的

    命名空間,一個用戶可以擁有多個架構,但是不能對沒有擁有的架構進行操作。一個數據庫角色,是對不同架構里面數據對象的權限組織,也有可能涉及到

    多個架構,當某一個用戶被轉換成一種數據庫角色的時候,假如這個用戶本身不擁有某一個架構而該數據庫角色擁有,那它當它對那個架構進行操作的時候就會出錯。

    角色,角色意味著一種身份,在數據庫服務器里是對一系列權限的組織。

    服務器登錄名,指有權限登錄到某服務器的用戶,可以在有權限的情況下創建新的登錄名,超級管理員的登錄名是sa

    服務器角色,指一組固定的服務器用戶,默認有9組;

    • 登錄名一定屬于某些角色,默認為public
    • 服務器角色不容許更改
    • 登錄后也不一定有權限操作數據庫

    數據庫用戶,指有權限能操作數據庫的用戶;

    數據庫角色,指一組固定的有某些權限的數據庫角色;

    數據庫架構,指數據庫對象的容器;

    • 數據庫用戶對應于服務器登錄名以便登錄者可以操作數據庫
    • 數據庫角色可以添加,可以定制不同權限  
    • 數據庫架構,類似于數據庫對象的命名空間,用戶通過架構訪問數據庫對象

    登錄名與用戶在服務器級是一對多的,而在數據庫里是一對一的。比如說Server這個服務器有4個數據庫,DB1,DB2,DB3,DB4,每個數據庫都有一個用戶USER1,USER2,USER3,USER,在創建一個登錄名my的時候可以通過用戶映射的操作,為這個登錄名在每一個具體的數據庫中指定用戶,比如可以如下指定my在DB1中的用戶是USER1,它是在使用數據庫的時候是唯一的,my在不能再DB1中切換用戶,除非重新指定它對DB1數據庫的用戶映射。

    用戶一般是受權限管理的,在新建一個用戶的時候是這樣的:

    需要指定它的登錄名,這也是映射操作的一部分,同時可以指定它的默認架構,如不指定就是dbo,也可以指定它擁有的其它架構和角色成員,不過沒有默認數據庫角色。

    下面看看新建一個角色:

    在新建的時候可以指定這個角色擁有那些架構,但是這些結構必須是這個數據庫里面的,默認架構為當前用戶使用的架構,比如當前用戶的架構是dbo,則在角上權限定義時所使用的默認架構就是dbo,當然也可以指定其它的架構。

    新增的數據庫登陸名, 登陸后不可以修改自己的服務器角色使自己的權限變大(除非是sysadmin角色 因為它的權限已經是最大 ),同樣也不能修改 映射到數據庫上的用戶的角色是其權限變大(本身是dbowner數據庫角色的 可以修改 因為dbowner角色的權限已經是最大)

    一句話: (登錄名、登錄賬戶)自己不能修改自己登錄名的服務器角色 ?以及 自己登錄名映射的數據庫用戶名的角色 使其權限變大 ,只允許改變角色使權限變小(ps:?估計沒人愿意這么做)

    新增某一數據庫用戶步驟:

    step1:新增服務器登陸賬號(選擇安全性=>登陸名 => 右擊新增登陸名)

    step2:新增該賬號對應目標數據庫的用戶名(默認和登陸賬號名相同)同時配置該用戶數據庫角色(備注:以后也可以去 目標數據庫=>安全性=>右擊目標用戶名=>屬性 => 修改其對應的權限 和在登錄名映射那里修改時等效同步的)

    刪除某一數據庫用戶步驟剛好相反:

    step1:先刪除對應目標數據庫的用戶名(選擇數據庫=>目標數據庫=>安全性=>右擊目標用戶選擇刪除)

    step2:再刪除服務器登陸名(選擇安全性=>登陸名=>右擊目標登陸名選擇刪除)

    ?

    以 sysadmin服務器角色的賬號登陸的用戶,可以修改添加任何登陸賬號、密碼,登陸方式等。

    如果 以windows驗證登陸方式登陸不上的,可能是 當前windows用戶名 不在 ?登陸賬號里 ?不屬于登陸賬號, 此時可以用具有sysadmin角色的賬號先登陸sql server,添加和windows登陸用戶名相同賬號,記得前面要加計算機名稱,格式:計算機名稱\當前windows登陸用戶名,如“PC_LXF/Administrator” ,驗證方式選擇 ?windows身份驗證即可使用windows驗證登陸啦。

    ?

    總結

    以上是生活随笔為你收集整理的sql server登录名、服务器角色、数据库用户、数据库角色、架构区别联系**的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。