sql server登录名、服务器角色、数据库用户、数据库角色、架构区别联系**
1.一個數(shù)據(jù)庫用戶可以對應(yīng)多個架構(gòu)(架構(gòu)是表容器)。架構(gòu)里面包含的是數(shù)據(jù)庫表。
2.一個數(shù)據(jù)庫角色有可能涉及多個架構(gòu)。數(shù)據(jù)庫角色對應(yīng)的是權(quán)限。
3.一個用戶對應(yīng)一個數(shù)據(jù)庫角色。
4.登錄名與數(shù)據(jù)庫用戶在服務(wù)器級別是一對多的;在數(shù)據(jù)庫級別是一對一的。
?
用戶(User)和架構(gòu)(Schema)的關(guān)系1-*關(guān)系
- 一個架構(gòu)有且只有一個所有者Owner。
- 一個用戶可以擁有多個架構(gòu)。
服務(wù)器登錄名:指有權(quán)限登錄到某服務(wù)器的用戶;
服務(wù)器角色:? ? 指一組固定的服務(wù)器用戶,默認有9組;
- 登錄名一定屬于某些角色,默認為public
- 服務(wù)器角色不容許更改
- 登錄后也不一定有權(quán)限操作數(shù)據(jù)庫
數(shù)據(jù)庫用戶:指有權(quán)限能操作數(shù)據(jù)庫的用戶;
數(shù)據(jù)庫角色:指一組固定的有某些權(quán)限的數(shù)據(jù)庫角色;
數(shù)據(jù)庫架構(gòu):指數(shù)據(jù)庫對象的容器;
- 數(shù)據(jù)庫用戶對應(yīng)于服務(wù)器登錄名以便登錄者可以操作數(shù)據(jù)庫
- 數(shù)據(jù)庫角色可以添加,可以定制不同權(quán)限
- 數(shù)據(jù)庫架構(gòu),類似于數(shù)據(jù)庫對象的命名空間,用戶通過架構(gòu)訪問數(shù)據(jù)庫對象
服務(wù)器角色
- sysadmin--在 SQL Server 中進行任何活動。該角色的權(quán)限跨越所有其它固定服務(wù)器角色。
- serveradmin?--配置服務(wù)器范圍的設(shè)置。
- setupadmin?--添加和刪除鏈接服務(wù)器,并執(zhí)行某些系統(tǒng)存儲過程(如 sp_serveroption)。
- securityadmin?--管理服務(wù)器登錄。
- processadmin?--管理在 SQL Server 實例中運行的進程。
- dbcreator?--創(chuàng)建和改變數(shù)據(jù)庫。
- diskadmin?--管理磁盤文件。
- bulkadmin?--執(zhí)行 BULK INSERT 語句。
數(shù)據(jù)庫角色
- public 角色是一個特殊的數(shù)據(jù)庫角色,每個數(shù)據(jù)庫用戶都屬于它。public 角色:?
- db_owner?
- --進行所有數(shù)據(jù)庫角色的活動,以及數(shù)據(jù)庫中的其它維護和配置活動。
- --該角色的權(quán)限跨越所有其它固定數(shù)據(jù)庫角色。
- db_accessadmin?
- --在數(shù)據(jù)庫中添加或刪除 Windows NT 4.0 或 Windows 2000 組和用戶以及 SQL Server 用戶。
- db_datareader?
- --查看來自數(shù)據(jù)庫中所有用戶表的全部數(shù)據(jù)。
- db_datawriter?
- --添加、更改或刪除來自數(shù)據(jù)庫中所有用戶表的數(shù)據(jù)
- db_ddladmin?
- --添加、修改或除去數(shù)據(jù)庫中的對象(運行所有 DDL)
- db_securityadmin?
- --管理 SQL Server 2000 數(shù)據(jù)庫角色的角色和成員,并管理數(shù)據(jù)庫中的語句和對象權(quán)限
- db_backupoperator?
- --有備份數(shù)據(jù)庫的權(quán)限
- db_denydatareader?
- --拒絕選擇數(shù)據(jù)庫數(shù)據(jù)的權(quán)限
- db_denydatawriter
- --拒絕更改數(shù)據(jù)庫數(shù)據(jù)的權(quán)限
先說sqlserver里面的數(shù)據(jù)庫級別設(shè)置:
服務(wù)器級 -> 數(shù)據(jù)庫級 ->?架構(gòu)級 - > 數(shù)據(jù)對象級,比如說:Server.DataBase1.dbo.Table1;這里的意思就是Table1這個表屬于dbo這個架構(gòu)
,dbo這個架構(gòu)屬于DataBase1這個數(shù)據(jù)庫,DataBase1這個數(shù)據(jù)庫屬于Server這個服務(wù)器。里面的架構(gòu)其實就是一個容器,好像就是面向?qū)ο罄锩娴?/p>
命名空間,一個用戶可以擁有多個架構(gòu),但是不能對沒有擁有的架構(gòu)進行操作。一個數(shù)據(jù)庫角色,是對不同架構(gòu)里面數(shù)據(jù)對象的權(quán)限組織,也有可能涉及到
多個架構(gòu),當某一個用戶被轉(zhuǎn)換成一種數(shù)據(jù)庫角色的時候,假如這個用戶本身不擁有某一個架構(gòu)而該數(shù)據(jù)庫角色擁有,那它當它對那個架構(gòu)進行操作的時候就會出錯。
角色,角色意味著一種身份,在數(shù)據(jù)庫服務(wù)器里是對一系列權(quán)限的組織。
服務(wù)器登錄名,指有權(quán)限登錄到某服務(wù)器的用戶,可以在有權(quán)限的情況下創(chuàng)建新的登錄名,超級管理員的登錄名是sa
服務(wù)器角色,指一組固定的服務(wù)器用戶,默認有9組;
- 登錄名一定屬于某些角色,默認為public
- 服務(wù)器角色不容許更改
- 登錄后也不一定有權(quán)限操作數(shù)據(jù)庫
數(shù)據(jù)庫用戶,指有權(quán)限能操作數(shù)據(jù)庫的用戶;
數(shù)據(jù)庫角色,指一組固定的有某些權(quán)限的數(shù)據(jù)庫角色;
數(shù)據(jù)庫架構(gòu),指數(shù)據(jù)庫對象的容器;
- 數(shù)據(jù)庫用戶對應(yīng)于服務(wù)器登錄名以便登錄者可以操作數(shù)據(jù)庫
- 數(shù)據(jù)庫角色可以添加,可以定制不同權(quán)限
- 數(shù)據(jù)庫架構(gòu),類似于數(shù)據(jù)庫對象的命名空間,用戶通過架構(gòu)訪問數(shù)據(jù)庫對象
登錄名與用戶在服務(wù)器級是一對多的,而在數(shù)據(jù)庫里是一對一的。比如說Server這個服務(wù)器有4個數(shù)據(jù)庫,DB1,DB2,DB3,DB4,每個數(shù)據(jù)庫都有一個用戶USER1,USER2,USER3,USER,在創(chuàng)建一個登錄名my的時候可以通過用戶映射的操作,為這個登錄名在每一個具體的數(shù)據(jù)庫中指定用戶,比如可以如下指定my在DB1中的用戶是USER1,它是在使用數(shù)據(jù)庫的時候是唯一的,my在不能再DB1中切換用戶,除非重新指定它對DB1數(shù)據(jù)庫的用戶映射。
用戶一般是受權(quán)限管理的,在新建一個用戶的時候是這樣的:
需要指定它的登錄名,這也是映射操作的一部分,同時可以指定它的默認架構(gòu),如不指定就是dbo,也可以指定它擁有的其它架構(gòu)和角色成員,不過沒有默認數(shù)據(jù)庫角色。
下面看看新建一個角色:
在新建的時候可以指定這個角色擁有那些架構(gòu),但是這些結(jié)構(gòu)必須是這個數(shù)據(jù)庫里面的,默認架構(gòu)為當前用戶使用的架構(gòu),比如當前用戶的架構(gòu)是dbo,則在角上權(quán)限定義時所使用的默認架構(gòu)就是dbo,當然也可以指定其它的架構(gòu)。
新增的數(shù)據(jù)庫登陸名, 登陸后不可以修改自己的服務(wù)器角色使自己的權(quán)限變大(除非是sysadmin角色 因為它的權(quán)限已經(jīng)是最大 ),同樣也不能修改 映射到數(shù)據(jù)庫上的用戶的角色是其權(quán)限變大(本身是dbowner數(shù)據(jù)庫角色的 可以修改 因為dbowner角色的權(quán)限已經(jīng)是最大)
一句話: (登錄名、登錄賬戶)自己不能修改自己登錄名的服務(wù)器角色 ?以及 自己登錄名映射的數(shù)據(jù)庫用戶名的角色 使其權(quán)限變大 ,只允許改變角色使權(quán)限變小(ps:?估計沒人愿意這么做)
新增某一數(shù)據(jù)庫用戶步驟:
step1:新增服務(wù)器登陸賬號(選擇安全性=>登陸名 => 右擊新增登陸名)
step2:新增該賬號對應(yīng)目標數(shù)據(jù)庫的用戶名(默認和登陸賬號名相同)同時配置該用戶數(shù)據(jù)庫角色(備注:以后也可以去 目標數(shù)據(jù)庫=>安全性=>右擊目標用戶名=>屬性 => 修改其對應(yīng)的權(quán)限 和在登錄名映射那里修改時等效同步的)
刪除某一數(shù)據(jù)庫用戶步驟剛好相反:
step1:先刪除對應(yīng)目標數(shù)據(jù)庫的用戶名(選擇數(shù)據(jù)庫=>目標數(shù)據(jù)庫=>安全性=>右擊目標用戶選擇刪除)
step2:再刪除服務(wù)器登陸名(選擇安全性=>登陸名=>右擊目標登陸名選擇刪除)
?
以 sysadmin服務(wù)器角色的賬號登陸的用戶,可以修改添加任何登陸賬號、密碼,登陸方式等。
如果 以windows驗證登陸方式登陸不上的,可能是 當前windows用戶名 不在 ?登陸賬號里 ?不屬于登陸賬號, 此時可以用具有sysadmin角色的賬號先登陸sql server,添加和windows登陸用戶名相同賬號,記得前面要加計算機名稱,格式:計算機名稱\當前windows登陸用戶名,如“PC_LXF/Administrator” ,驗證方式選擇 ?windows身份驗證即可使用windows驗證登陸啦。
?
總結(jié)
以上是生活随笔為你收集整理的sql server登录名、服务器角色、数据库用户、数据库角色、架构区别联系**的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 40℃!体温仪都爆了想离开西安 网友调侃
- 下一篇: SQL Server:触发器详解