① sql server2005里什麼叫角色分哪兩種
分為:伺服器級別角色和資料庫級別的角色 伺服器級別角色 固定伺服器角色在其作用域內屬於伺服器范圍。固定伺服器角色的每個成員都可以向其所屬角色添加其他登錄名。 固定伺服器角色有: bulkadmin dbcreator diskadmin processadmin securityadmin serveradmin setupadmin sysadmin 資料庫級別的角色 固定資料庫角色是在資料庫級別定義的,並且存在於每個資料庫中。 db_owner 和 db_securityadmin 資料庫角色的成員可以管理固定資料庫角色成員身份;但是,只有 db_owner 資料庫的成員可以向 db_owner 固定資料庫角色中添加成員。 固定資料庫角色包括: db_accessadmin db_backupoperator db_datareader db_datawriter db_ddladmin db_denydatareader db_denydatawriter db_owner db_securityadmin public 資料庫角色 每個資料庫用戶都屬於 public 資料庫角色。當尚未對某個用戶授予或拒絕對安全對象的特定許可權時,則該用戶將繼承授予該安全對象的 public 角色的許可權。
② 什麼是角色,SQL Server有哪些角色種類
角色是一個強大的工具,使您得以將用戶集中到一個單元中,然後對該單元應用許可權。對一個角色授予、拒絕或廢除的許可權也適用於該角色的任何成員。可以建立一個角色來代表單位中一類工作人員所執行的工作,然後給這個角色授予適當的許可權。當工作人員開始工作時,只須將他們添加為該角色成員,當他們離開工作時,將他們從該角色中刪除。而不必在每個人接受或離開工作時,反復授予、拒絕和廢除其許可權。許可權在用戶成為角色成員時自動生效。
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 角色的許可權。
③ SQL Server 2000的角色分哪兩種各自的功能是什麼
SQL SERVER 2000 使用哪三種類型的角色 ?每種角色的作用是什麼? 固定的伺服器角色 固定的資料庫角色 應用程序角色 難道是這3種么?
④ sql語句server中怎麼查詢用戶的角色和許可權
SQL Server中查詢用戶的對象許可權和角色的方法 x0dx0ax0dx0a-- 查詢用戶的object許可權x0dx0aexec sp_helprotect NULL, 'UserName'x0dx0a-- 查詢用戶擁有的rolex0dx0aexec sp_helpuser 'UserName'x0dx0a-- 查詢哪些用戶擁有指定的系統rolex0dx0aexec sp_helpsrvrolemember 'sysadmin'x0dx0a-- 可查詢嵌套rolex0dx0aWITH tree_roles asx0dx0a(x0dx0aSELECT role_principal_id, member_principal_idx0dx0aFROM sys.database_role_membersx0dx0aWHERE member_principal_id = USER_ID('UserName')x0dx0aUNION ALLx0dx0aSELECT c.role_principal_id,c.member_principal_idx0dx0aFROM sys.database_role_members as cx0dx0ainner join tree_rolesx0dx0aon tree_roles.member_principal_id = c.role_principal_idx0dx0a)x0dx0aSELECT distinct USER_NAME(role_principal_id) RoleNamex0dx0aFROM tree_rolesx0dx0ax0dx0a-- 其他許可權相關基本表x0dx0aselect * from sysusersx0dx0aselect * from syspermissionsx0dx0ax0dx0a-- Who has access to my SQL Server instance?x0dx0aSELECTx0dx0aname as UserName, type_desc as UserType, is_disabled as IsDisabledx0dx0aFROM sys.server_principalsx0dx0awhere type_desc in('WINDOWS_LOGIN', 'SQL_LOGIN')x0dx0aorder by UserType, name, IsDisabledx0dx0ax0dx0a-- Who has access to my Databases?x0dx0aSELECTx0dx0adp.name as UserName, dp.type_desc as UserType, sp.name as LoginName, sp.type_desc as LoginTypex0dx0aFROM sys.database_principals dpx0dx0aJOIN sys.server_principals sp ON dp.principal_id = sp.principal_idx0dx0aorder by UserTypex0dx0ax0dx0aselect * from sys.database_principalsx0dx0ax0dx0a-- Server Rolesx0dx0aselectx0dx0ap.name as UserName, p.type_desc as UserType, pp.name as ServerRoleName, pp.type_desc as ServerRoleTypex0dx0afrom sys.server_role_members rolesx0dx0ajoin sys.server_principals p on roles.member_principal_id = p.principal_idx0dx0ajoin sys.server_principals pp on roles.role_principal_id = pp.principal_idx0dx0awhere pp.name in('sysadmin')x0dx0aorder by ServerRoleName, UserNamex0dx0ax0dx0a-- Database Rolesx0dx0aSELECTx0dx0ap.name as UserName, p.type_desc as UserType, pp.name as DBRoleName, pp.type_desc as DBRoleType, pp.is_fixed_role as IfFixedRolex0dx0aFROM sys.database_role_members rolesx0dx0aJOIN sys.database_principals p ON roles.member_principal_id = p.principal_idx0dx0aJOIN sys.database_principals pp ON roles.role_principal_id = pp.principal_idx0dx0awhere pp.name in('db_owner', 'db_datawriter')x0dx0ax0dx0a-- What can these users do?x0dx0aSELECTx0dx0agrantor.name as GrantorName, dp.state_desc as StateDesc, dp.class_desc as ClassDesc, dp.permission_name as PermissionName ,x0dx0aOBJECT_NAME(major_id) as ObjectName, GranteeName = grantee.namex0dx0aFROM sys.database_permissions dpx0dx0aJOIN sys.database_principals grantee on dp.grantee_principal_id = grantee.principal_idx0dx0aJOIN sys.database_principals grantor on dp.grantor_principal_id = grantor.principal_idx0dx0awhere permission_name like '%UPDATE%'
⑤ SQL sever中 什麼是許可權和角色,分別說出一下。
--什麼是角色?
例如,一個公司可能成立慈善活動委員會,其中包括來自不同部門,來自組織中各種不同級別的職員。這些職員需要訪問資料庫中特殊的項目表。沒有隻包括這些職員的現有 Windows NT 4.0 或 Windows 2000 組,而且沒有其它理由在 Windows NT 4.0 或 Windows 2000 中創建這樣一個組。可以為此項目創建一個自定義 SQL Server 資料庫角色 CharityEvent,並將個別的 Windows NT 和 Windows 2000 用戶添加到此資料庫角色。當應用許可權後,資料庫角色中的用戶便獲得對表的訪問許可權。其它資料庫活動的許可權不受影響,只有 CharityEvent 用戶可以使用該項目表。
SQL Server 角色存在於一個資料庫中,不能跨多個資料庫。
使用資料庫角色的好處包括:
1.對於任何用戶,都可以隨時讓多個資料庫角色處於活動狀態.如果所有用戶、組和角色都在當前資料庫中,則 SQL Server 角色可以包含 Windows NT 4.0 或 Windows 2000 組和用戶,以及 SQL Server用戶和其它角色。
2.在同一資料庫中,一個用戶可屬於多個角色。
3.提供了可伸縮模型以便在資料庫中設置正確的安全級別。
說明:資料庫角色要麼在創建角色時由明確指定為所有者的用戶所擁有,要麼在未指定所有者時為創建角色的用戶所擁有。角色的所有者決定可以在角色中添加或刪除誰。但是,因為角色不是資料庫對象,不能在同一資料庫中創建由不同用戶所擁有的多個同名角色。
許可權--
是指為了保證職責的有效履行,任職者必須具備的,對某事項進行決策的范圍和程度。它常常用「具有批准……事項的許可權」來進行表達。例如,具有批准預算外5000元以內的禮品費支出的許可權。
⑥ sqlserver中,用戶和角色有什麼區別
用戶是具體到某一個賬戶個體,角色是某一類賬戶的集合。
比如說倉庫管理員,這是一個角色,他們管理著倉庫;
但是可能公司里有好幾個倉庫管理員,他們是不同的用戶;
在資料庫里,角色代表一系列許可權的集合,如果將某個角色分配給某個用戶,則這個用戶就擁有了這一系列的許可權。
這樣做的好處是不必為單個用戶分配不同的許可權;假如公司新招庫管員一名,直接賦予他庫管員的角色,他就有了管理倉庫的一系列許可權,如果這個人要調換到銷售部門去,那麼直接給他換個角色就解決了許可權的問題。
資料庫下同理,有些用戶只能查詢某些表,而有些用戶又只能執行SP,這種許可權就需要角色來管理。
⑦ sql server里 伺服器角色都是什麼意思
各個角色是對應不同許可權的,sql server中有很多許可權,可以把這些許可權組合或單獨賦給各個角色,從而使不同角色的用戶的許可權不同,你列出的都是內置角色。你看看下面這些對你有沒有幫助,希望你解決你的問題。
為便於管理資料庫中的許可權,SQL Server 提供了若干「角色」,這些角色是用於分組其他主體的安全主體。它們類似於 Microsoft Windows 操作系統中的組。資料庫級角色的許可權作用域為資料庫范圍。
SQL Server 中有兩種類型的資料庫級角色:資料庫中預定義的「固定資料庫角色」和您可以創建的「靈活資料庫角色」。
固定資料庫角色是在資料庫級別定義的,並且存在於每個資料庫中。db_owner 和 db_securityadmin 資料庫角色的成員可以管理固定資料庫角色成員身份。但是,只有 db_owner 資料庫角色的成員能夠向 db_owner 固定資料庫角色中添加成員。msdb 資料庫中還有一些特殊用途的固定資料庫角色。
您可以向資料庫級角色中添加任何資料庫帳戶和其他 SQL Server 角色。固定資料庫角色的每個成員都可向同一個角色添加其他登錄名。
重要提示:
請不要將靈活資料庫角色添加為固定角色的成員。這會導致意外的許可權升級。
下表顯示了固定資料庫級角色及其能夠執行的操作。所有資料庫中都有這些角色。
資料庫級別的角色名稱 說明
db_owner
db_owner 固定資料庫角色的成員可以執行資料庫的所有配置和維護活動,還可以刪除資料庫。
db_securityadmin
db_securityadmin 固定資料庫角色的成員可以修改角色成員身份和管理許可權。向此角色中添加主體可能會導致意外的許可權升級。
db_accessadmin
db_accessadmin 固定資料庫角色的成員可以為 Windows 登錄名、Windows 組和 SQL Server 登錄名添加或刪除資料庫訪問許可權。
db_backupoperator
db_backupoperator 固定資料庫角色的成員可以備份資料庫。
db_ddladmin
db_ddladmin 固定資料庫角色的成員可以在資料庫中運行任何數據定義語言 (DDL) 命令。
db_datawriter
db_datawriter 固定資料庫角色的成員可以在所有用戶表中添加、刪除或更改數據。
db_datareader
db_datareader 固定資料庫角色的成員可以從所有用戶表中讀取所有數據。
db_denydatawriter
db_denydatawriter 固定資料庫角色的成員不能添加、修改或刪除資料庫內用戶表中的任何數據。
db_denydatareader
db_denydatareader 固定資料庫角色的成員不能讀取資料庫內用戶表中的任何數據。
有關資料庫級固定角色許可權的特定信息,請參閱固定資料庫角色的許可權(資料庫引擎)。
msdb 角色
msdb 資料庫中包含下表顯示的特殊用途的角色。
msdb 角色名稱 說明
db_ssisadmin
db_ssisoperator
db_ssisltser
這些資料庫角色的成員可以管理和使用 SSIS。從早期版本升級的 SQL Server 實例可能包含使用 Data Transformation Services (DTS)(而不是 SSIS)命名的舊版本角色。有關詳細信息,請參閱 使用 Integration Services 角色。
dc_admin
dc_operator
dc_proxy
這些資料庫角色的成員可以管理和使用數據收集器。有關詳細信息,請參閱數據收集器的安全性。
PolicyAdministratorRole
db_ PolicyAdministratorRole 資料庫角色的成員可以對基於策略的管理策略和條件執行所有配置和維護活動。有關詳細信息,請參閱使用基於策略的管理來管理伺服器。
ServerGroupAdministratorRole
ServerGroupReaderRole
這些資料庫角色的成員可以管理和使用注冊的伺服器組。有關詳細信息,請參閱創建伺服器組。
重要提示:
db_ssisadmin 角色和 dc_admin 角色的成員也許可以將其許可權提升到 sysadmin。之所以會發生此許可權提升,是因為這些角色可以修改 Integration Services 包,而 SQL Server 可以使用 SQL Server 代理的 sysadmin 安全上下文來執行 Integration Services 包。若要防止在運行維護計劃、數據收集組和其他 Integration Services 包時出現此許可權提升,請將運行包的 SQL Server 代理作業配置為使用擁有有限許可權的代理帳戶,或只將 sysadmin 成員添加到 db_ssisadmin 和 dc_admin 角色。
使用伺服器級角色
下表說明了用於伺服器級角色的命令、視圖和函數。
功能 類型 說明
sp_helpdbfixedrole (Transact-SQL)
元數據
返回固定資料庫角色的列表。
sp_dbfixedrolepermission (Transact-SQL)
元數據
顯示固定資料庫角色的許可權。
sp_helprole (Transact-SQL)
元數據
返回當前資料庫中有關角色的信息。
sp_helprolemember (Transact-SQL)
元數據
返回有關當前資料庫中某個角色的成員的信息。
sys.database_role_members (Transact-SQL)
元數據
為每個資料庫角色的每個成員返回一行。
IS_MEMBER (Transact-SQL)
元數據
指示當前用戶是否為指定 Microsoft Windows 組或 Microsoft SQL Server 資料庫角色的成員。
CREATE ROLE (Transact-SQL)
命令
在當前資料庫中創建新的資料庫角色。
ALTER ROLE (Transact-SQL)
命令
更改資料庫角色的名稱。
DROP ROLE (Transact-SQL)
命令
從資料庫中刪除角色。
sp_addrole (Transact-SQL)
命令
在當前資料庫中創建新的資料庫角色。
sp_droprole (Transact-SQL)
命令
從當前資料庫中刪除資料庫角色。
sp_addrolemember (Transact-SQL)
命令
為當前資料庫中的資料庫角色添加資料庫用戶、資料庫角色、Windows 登錄名或 Windows 組。
sp_droprolemember (Transact-SQL)
命令
從當前資料庫的 SQL Server 角色中刪除安全帳戶。
public 資料庫角色
每個資料庫用戶都屬於 public 資料庫角色。如果未向某個用戶授予或拒絕對安全對象的特定許可權時,該用戶將繼承授予該對象的 public 角色的許可權。