當前位置:首頁 » 編程語言 » sql表查詢許可權
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql表查詢許可權

發布時間: 2022-04-27 23:49:28

Ⅰ 用sql語句查詢當前用戶的所有許可權

工具/材料:Management Studio。

1、首先在桌面上,點擊「Management Studio」圖標。

Ⅱ 怎麼用SQL查詢出當前用戶所具有的系統許可權

下面內容供你參考 0414243444546474849 1.查看所有用戶: select * from dba_users; select * from all_users; select * from user_users; 2.查看用戶或角色系統許可權(直接賦值給用戶或角色的系統許可權): select * from dba_sys_privs; select * from user_sys_privs; 3.查看角色(只能查看登陸用戶擁有的角色)所包含的許可權sql>select * from role_sys_privs; 4.查看用戶對象許可權: select * from dba_tab_privs; select * from all_tab_privs; select * from user_tab_privs; 5.查看所有角色: select * from dba_roles; 6.查看用戶或角色所擁有的角色: select * from dba_role_privs; select * from user_role_privs; 7.查看哪些用戶有sysdba或sysoper系統許可權(查詢時需要相應許可權)select * from V$PWFILE_USERS 比如我要查看用戶 wzsb的擁有的許可權: SQL> select * from dba_sys_privs where grantee='WZSB'; GRANTEE PRIVILEGE ADMIN_OPTION------------------------------ ---------------------------------------- ------------WZSB CREATE TRIGGER <a href="/s?wd=NO&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">NO</a>WZSB UNLIMITED TABLESPACE <a href="/s?wd=NO&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">NO</a> 比如我要查看用戶 wzsb的擁有的角色: SQL> select * from dba_role_privs where grantee='WZSB'; GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE------------------------------ ------------------------------ ------------ ------------WZSB DBA <a href="/s?wd=NO&tn=44039180_cpr&fenlei=-bIi4WUvYETgN-" target="_blank" class="-highlight">NO</a> YES 查看一個用戶所有的許可權及角色select privilege from dba_sys_privs where grantee='WZSB'unionselect privilege from dba_sys_privs where grantee in (select granted_role from dba_role_privs where grantee='WZSB' );

Ⅲ sql語句server中怎麼查詢用戶的角色和許可權

SQL Server中查詢用戶的對象許可權和角色的方法

-- 查詢用戶的object許可權
exec sp_helprotect NULL, 'UserName'
-- 查詢用戶擁有的role
exec sp_helpuser 'UserName'
-- 查詢哪些用戶擁有指定的系統role
exec sp_helpsrvrolemember 'sysadmin'
-- 可查詢嵌套role
WITH tree_roles as
(
SELECT role_principal_id, member_principal_id
FROM sys.database_role_members
WHERE member_principal_id = USER_ID('UserName')
UNION ALL
SELECT c.role_principal_id,c.member_principal_id
FROM sys.database_role_members as c
inner join tree_roles
on tree_roles.member_principal_id = c.role_principal_id
)
SELECT distinct USER_NAME(role_principal_id) RoleName
FROM tree_roles

-- 其他許可權相關基本表
select * from sysusers
select * from syspermissions

-- Who has access to my SQL Server instance?
SELECT
name as UserName, type_desc as UserType, is_disabled as IsDisabled
FROM sys.server_principals
where type_desc in('WINDOWS_LOGIN', 'SQL_LOGIN')
order by UserType, name, IsDisabled

-- Who has access to my Databases?
SELECT
dp.name as UserName, dp.type_desc as UserType, sp.name as LoginName, sp.type_desc as LoginType
FROM sys.database_principals dp
JOIN sys.server_principals sp ON dp.principal_id = sp.principal_id
order by UserType

select * from sys.database_principals

-- Server Roles
select
p.name as UserName, p.type_desc as UserType, pp.name as ServerRoleName, pp.type_desc as ServerRoleType
from sys.server_role_members roles
join sys.server_principals p on roles.member_principal_id = p.principal_id
join sys.server_principals pp on roles.role_principal_id = pp.principal_id
where pp.name in('sysadmin')
order by ServerRoleName, UserName

-- Database Roles
SELECT
p.name as UserName, p.type_desc as UserType, pp.name as DBRoleName, pp.type_desc as DBRoleType, pp.is_fixed_role as IfFixedRole
FROM sys.database_role_members roles
JOIN sys.database_principals p ON roles.member_principal_id = p.principal_id
JOIN sys.database_principals pp ON roles.role_principal_id = pp.principal_id
where pp.name in('db_owner', 'db_datawriter')

-- What can these users do?
SELECT
grantor.name as GrantorName, dp.state_desc as StateDesc, dp.class_desc as ClassDesc, dp.permission_name as PermissionName ,
OBJECT_NAME(major_id) as ObjectName, GranteeName = grantee.name
FROM sys.database_permissions dp
JOIN sys.database_principals grantee on dp.grantee_principal_id = grantee.principal_id
JOIN sys.database_principals grantor on dp.grantor_principal_id = grantor.principal_id
where permission_name like '%UPDATE%'

Ⅳ 回收用戶User1對b表的查詢許可權的sql語句是什麼求高手指教!!急!!

工具/材料:以Management Studio為例。

1、首先在桌面上,點擊「Management Studio」圖標。

Ⅳ SQL 怎麼創建一個只有查詢資料庫用戶許可權呢

1.在資料庫本機用使用cmd指令調出命令行窗口,再用sqlplus/assysdba登錄到資料庫中。並且用對要賦許可權的表所有者連接資料庫,否則後續賦許可權會失敗。

Ⅵ 在SQL2008中新建一個用戶,為其指定資料庫,需要有所有表查詢許可權和視圖創建許可權,應該怎麼進行控制

1、在資料庫本機用使用cmd指令調出命令行窗口,再用 sqlplus /as sysdba登錄到資料庫中。並且用對要賦許可權的表所有者連接資料庫,否則後續賦許可權會失敗。

Ⅶ SQL如何查看用戶 許可權

在對應的表 Li 上右鍵->屬性->許可權,就可以看到表的許可權了。

Ⅷ sql 2000 如何查詢用戶許可權

用戶許可權是保存在master表中的,可以使用系統存儲過程查詢用戶許可權,
通常你需要有master表的許可權(如:sa),例:

sp_helpuser
報告有關當前資料庫中 Microsoft® SQL Server™ 用戶、Microsoft Windows NT® 用戶和資料庫角色的信息。

語法
sp_helpuser [ [ @name_in_db = ] 'security_account' ]

參數
[@name_in_db =] 'security_account'

當前資料庫中 SQL Server 用戶、Windows NT 用戶或資料庫角色的名稱。security_account 必須存在於當前的資料庫中。security_account 的數據類型為 sysname,默認值為 NULL。如果沒有指定 security_account,系統過程將報告當前資料庫中的所有用戶、Windows NT 用戶以及角色的信息。當指定 Windows NT 用戶時,請指定該 Windows NT 用戶在資料庫中可被識別的名稱(用 sp_grantdbaccess 添加)。

返回代碼值
0(成功)或 1(失敗)

注釋
使用 sp_helpsrvrole 及 sp_helpsrvrolemember 返回固定伺服器角色的信息。

為資料庫角色執行 sp_helpuser 等價於為該資料庫角色執行 sp_helpgroup。

許可權
執行許可權默認授予 public 角色。

示例
A. 列出所有用戶
下面的示例列出當前資料庫中所有的用戶。

EXEC sp_helpuser

B. 列出單個用戶的信息
下面的示例列出用戶 dbo 的信息。

EXEC sp_helpuser 'dbo'

C. 列出某個資料庫角色的信息
下面的示例列出 db_securityadmin 固定資料庫角色的信息。

EXEC sp_helpuser 'db_securityadmin'

Ⅸ SQL如何使用授於許可權讓用戶查詢資料庫中的所有表

--創建登錄賬號
CREATE LOGIN USER1 WITH PASSWORD='123';
GO

--打開授權的資料庫(假設給資料庫TEST授權)
USE TEST
GO

--將登錄賬號映射為當前資料庫用戶
CREATE USER USER1 FOR LOGIN USER1
GO

--授予用戶對當前資料庫所有表具有查詢權
EXEC sp_addrolemember 'db_datareader', 'USER1'

Ⅹ 怎麼設置SQL資料庫用戶許可權

-- sqlserver:一、操作步驟
1.
首先進入資料庫級別的【安全性】-【登錄名】-【新建登錄名】
(圖1:新建登錄名)
2.
在【常規】選項卡中,如下圖所示,創建登陸名,並設置默認的資料庫。
(圖2:設置選項)
3.
在【用戶映射】選項卡中,如下圖所示,勾選需要設置的資料庫,並設置【架構】,點擊【確認】按鈕,完成創建用戶的操作
(圖3:選擇對應資料庫)
4.
現在我們就可以對testlog資料庫中的user表進行許可權的設置了,【表】-【
屬性】
(圖4:選擇對應表)
5.
在【許可權】選項卡中,如下圖所示,依此點擊【添加】-【瀏覽】-【選擇對象】
(圖5:設置訪問表的用戶)
6.
在上面點擊【確認】後,我們就可以下面的列表中找到對應的許可權,如果你還想細化到列的許可權的話,右下角還有一個【列許可權】的按鈕可以進行設置,點擊【確認】按鈕就完成了這些許可權的設置了
(圖6:許可權列表)
7.
現在就使用testuser用戶登陸資料庫了,登陸後如下圖所示,現在只能看到一個表了
(圖7:效果)
二、注意事項
1.
在上面的第3步驟中需要注意:如果這里沒有選擇對應的資料庫的話,之後去testlog資料庫中是找不到testuser。
(圖8:找不到testuser用戶)
2.
在上面的第3步驟,設置完testlog數據後,需要點擊【確認】按鈕,完成創建用戶操作,如果這個時候去設置【安全對象】,是無法在【添加】-【特定對象】-【對象類型】-【登陸名】-【瀏覽】中找到剛剛新建的testuser用戶的。
3.
其實在資料庫級別的【安全性】創建的用戶是屬於全局的,當設置了某個資料庫,比如testlog之後,這個用戶就會出現在這個資料庫的【安全性】列表中。
如果刪除testlog這個用戶,會出現下面的提示。刪除了後,這個用戶就無法登陸了。需要去對應的資料庫中刪除用戶,如果沒有刪除又創建,是會報錯的。
(圖9:刪除testuser用戶)
4.
在第6步的【顯式許可權】列表中,如果選擇了【control】這個選項,那麼在【select】中設置查詢【列許可權】就沒有意義了,查詢就不會受限制了。如果設置【列許可權】,在正常情況下會顯示下圖的報錯信息:
(圖10:效果)
5.
在testlog資料庫的【安全性】-【testuser】-【屬性】-【安全對象】-【添加】-【對象類型】這里有更多關於資料庫級別的一些對象類型可以設置。
(圖11:其它對象類型)