sql server 許可權的種類和它們的區別

2021-08-10 17:06:41 字數 4187 閱讀 3262

1樓:匿名使用者

角色是一個強大的工具,使您得以將使用者集中到一個單元中,然後對該單元應用許可權。對一個角色授予、拒絕或廢除的許可權也適用於該角色的任何成員。可以建立一個角色來代表單位中一類工作人員所執行的工作,然後給這個角色授予適當的許可權。

當工作人員開始工作時,只須將他們新增為該角色成員,當他們離開工作時,將他們從該角色中刪除。而不必在每個人接受或離開工作時,反覆授予、拒絕和廢除其許可權。許可權在使用者成為角色成員時自動生效。

microsoft�0�3 windows nt�0�3 和 windows�0�3 2000 組的使用方式與角色很相似。有關更多資訊,請參見組。

如果根據工作職能定義了一系列角色,並給每個角色指派了適合這項工作的許可權,則很容易在資料庫中管理這些許可權。之後,不用管理各個使用者的許可權,而只須在角色之間移動使用者即可。如果工作職能發生改變,則只須更改一次角色的許可權,並使更改自動應用於角色的所有成員,操作比較容易。

在 microsoft�0�3 sql server�6�4 2000 和 sql server 7.0 版中,使用者可屬於多個角色。

以下指令碼說明登入、使用者和角色的新增,併為角色授予許可權。

use master

go sp_grantlogin 'netdomain\john'

go sp_defaultdb 'netdomain\john', 'courses'

go sp_grantlogin 'netdomain\sarah'

go sp_defaultdb 'netdomain\sarah', 'courses'

go sp_grantlogin 'netdomain\betty'

go sp_defaultdb 'netdomain\betty', 'courses'

go sp_grantlogin 'netdomain\ralph'

go sp_defaultdb 'netdomain\ralph', 'courses'

go sp_grantlogin 'netdomain\diane'

go sp_defaultdb 'netdomain\diane', 'courses'

go use courses

go sp_grantdbaccess 'netdomain\john'

go sp_grantdbaccess 'netdomain\sarah'

go sp_grantdbaccess 'netdomain\betty'

go sp_grantdbaccess 'netdomain\ralph'

go sp_grantdbaccess 'netdomain\diane'

go sp_addrole 'professor'

go sp_addrole 'student'

go sp_addrolemember 'professor', 'netdomain\john'

go sp_addrolemember 'professor', 'netdomain\sarah'

go sp_addrolemember 'professor', 'netdomain\diane'

go sp_addrolemember 'student', 'netdomain\betty'

go sp_addrolemember 'student', 'netdomain\ralph'

go sp_addrolemember 'student', 'netdomain\diane'

go grant select on studentgradeview to student

go grant select, update on professorgradeview to professor

go 該指令碼給 john 和 sarah 教授提供了更新學生成績的許可權,而學生 betty 和 ralph 只能選擇他們自己的成績。diane 因同時教兩個班,所以新增到兩個角色中。professorgradeview 檢視應將教授限制在自己班學生的行上,而 studentgradeview 應限制學生只能選擇自己的成績。

sql server 2000 和 sql server 7.0 版在安裝過程中定義幾個固定角色。可以在這些角色中新增使用者以獲得相關的管理許可權。下面是伺服器範圍內的角色。

固定伺服器角色

描述 sysadmin

可以在 sql server 中執行任何活動。

serveradmin

可以設定伺服器範圍的配置選項,關閉伺服器。

setupadmin

可以管理連結伺服器和啟動過程。

securityadmin

可以管理登入和 create database 許可權,還可以讀取錯誤日誌和更改密碼。

processadmin

可以管理在 sql server 中執行的程序。

dbcreator

可以建立、更改和除去資料庫。

diskadmin

可以管理磁碟檔案。

bulkadmin

可以執行 bulk insert 語句。

可以從 sp_helpsrvrole 獲得固定伺服器角色的列表,可以從 sp_srvrolepermission 獲得每個角色的特定許可權。

每個資料庫都有一系列固定資料庫角色。雖然每個資料庫中都存在名稱相同的角色,但各個角色的作用域只是在特定的資料庫內。例如,如果 database1 和 database2 中都有叫 userx 的使用者 id,將 database1 中的 userx 新增到 database1 的 db_owner 固定資料庫角色中,對 database2 中的 userx 是否是 database2 的 db_owner 角色成員沒有任何影響。

固定資料庫角色

描述 db_owner

在資料庫中有全部許可權。

db_accessadmin

可以新增或刪除使用者 id。

db_securityadmin

可以管理全部許可權、物件所有權、角色和角色成員資格。

db_ddladmin

可以發出 all ddl,但不能發出 grant、revoke 或 deny 語句。

db_backupoperator

可以發出 dbcc、checkpoint 和 backup 語句。

db_datareader

可以選擇資料庫內任何使用者表中的所有資料。

db_datawriter

可以更改資料庫內任何使用者表中的所有資料。

db_denydatareader

不能選擇資料庫內任何使用者表中的任何資料。

db_denydatawriter

不能更改資料庫內任何使用者表中的任何資料。

可以從 sp_helpdbfixedrole 獲得固定資料庫角色的列表,可以從 sp_dbfixedrolepermission 獲得每個角色的特定許可權。

資料庫中的每個使用者都屬於 public 資料庫角色。如果想讓資料庫中的每個使用者都能有某個特定的許可權,則將該許可權指派給 public 角色。如果沒有給使用者專門授予對某個物件的許可權,他們就使用指派給 public 角色的許可權。

2樓:菅懷雨璩畫

sqlserver的許可權分為三種:登入許可權,即你能不能成功登入sql

server系統;資料庫使用者許可權,即你成功登入資料庫系統後,能不能訪問其中具體的資料庫;某個具體的資料庫中的表的操作許可權,即你有了訪問某個具體的資料庫的許可權後,能不能對其中的表執行基本的增、刪、改、查的具體操作。

3樓:匿名使用者

sa許可權是最高的,別得我也不會啊

資料庫中使用者許可權的種類有哪些

4樓:夢ψφ孩

①物件許可權 作用:決定使用者對資料庫物件所執行的操作,包括使用者對資料庫中的表、視回圖、列或儲存過程等物件的操答作許可權

②語句許可權 作用:決定使用者能否運算元據庫和建立資料庫物件

③隱含許可權 作用:控制那些只能由預定義系統角色的成員或資料庫物件所有者執行的活動。

使用者許可權的種類有哪些?各自的作用

5樓:匿名使用者

使用者許可權的種類有哪些?各自的作用? 答:許可權型別及作用:

①物件許可權 作用:決定使用者對資料庫物件所執行的操作,包括使用者對資料庫中的表、檢視、列或儲存過程等物件的操作許可權

②語句許可權 作用:決定使用者能否運算元據庫和建立資料庫物件③隱含許可權 作用:控制那些只能由預定義系統角色的成員或資料庫物件所有者執行的活動。

sqlserver怎麼設定表的許可權

有management studio中的表上右鍵選屬性 properties 左邊選許可權 permissions 右邊中間新增和選中某個user或role,下面選中或移除某個許可權。同樣你可用標準的賦權語句來實現 如 grant revoke select on 表名 to 使用者名稱。use t...

sql server 中的null和null的區別

sql server 中的null和null的區別 表示空字串 null表示什麼都沒有,什麼都不是 判斷 用 或 而null 用is null 或is not null,欄位中如果出現null 會對查詢語句造成影響有可能導致索引失效,所以欄位中儘量不要出現null 用 或其他字元代替 糾正一下其他人...

SQL Server和Oracle以及MySQL有哪些區別

區別如下 1 oracle和sql server是商業收費的,而mysql是開源免費的 2 oracle和mysql是甲骨文的產品,sql server是微軟的產品 3 oracle和ibm db2都是超大型關聯式資料庫,sql server是大型關聯式資料庫,而mysql是中型關聯式資料庫 4 o...