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

sql如何查找賬戶許可權

發布時間: 2022-05-27 14:49:43

『壹』 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 server 查看 賬號 擁有哪些許可權

1.把你的用戶自定義資料庫放入一個系統提供的資料庫。系統提供的資料庫有:db_owner,db_accessadmin,db_securityadmin,db_ddladmin,db_backupoperator,db_datareader,db_datawriter,db_denydatareader和db_denydatawriter。
2.把用戶自定義資料庫添加到將作為開發環境的db_datareader和db_datawriter中。如果已經有一個可以添加和/或刪除用戶自定義資料庫對象的開發環境,就只需要取消這個許可權或是把用戶自定義資料庫添加到db_ddladmin系統資料庫中。
3.把資料庫用戶作為資料庫成員添加到你的用戶自定義資料庫中。
4.取消所有的公共許可權。
不要向公共用戶發出DENY命令。如果你向公共用戶發出了DENY命令,用戶將不能讀取用戶自定義資料庫的對象。用REVOKE命令代替DENY命令來取消讀取公共資料庫的許可權。這樣設置後,資料庫的用戶就是用戶自定義資料庫的成員了。用戶自定義資料庫具有讀取用戶自定義資料庫對象的許可權。因此這個用戶自定義資料庫允許資料庫用戶讀取用戶自定義資料庫的對象。

『叄』 怎麼設置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:其它對象類型)

『肆』 SQL如何查看用戶 許可權

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

『伍』 如何用sql語句查詢一個用戶,看看他具有哪些許可權

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49

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 NO
WZSB UNLIMITED TABLESPACE NO

比如我要查看用戶 wzsb的擁有的角色:

SQL> select * from dba_role_privs where grantee='WZSB';

GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE
------------------------------ ------------------------------ ------------ ------------
WZSB DBA NO YES

查看一個用戶所有的許可權及角色
select privilege from dba_sys_privs where grantee='WZSB'
union
select privilege from dba_sys_privs where grantee in
(select granted_role from dba_role_privs where grantee='WZSB' );

『陸』 如何正確查看SQL Server超級用戶許可權

查看SQL Server超級用戶許可權的實際操作步驟,在實際操作中sa 帳戶在 SQL Server 資料庫權利很大。其主要原因是因為 sa 屬於 sysadmin 固定伺服器角色。
普通 SQL Server 帳戶,如果加入了 sysadmin 固定伺服器角色,那麼也會擁有和 sa 帳戶一樣的權利。
我們知道,sa 帳戶在 SQL Server 中擁有至高無上的權利。歸根結底在於 sa 屬於 sysadmin 固定伺服器角色。普通 SQL Server 帳戶,如果加入了 sysadmin 固定伺服器角色,那麼也會擁有和 sa 帳戶一樣的權利。
查看自己是否具有SQL Server超級用戶許可權:
select is_srvrolemember('sysadmin')
如果返回值為 1,則有;0,沒有。
SQL Server 系統存儲過程 is_srvrolemember 語法:
is_srvrolemember ('role')
is_srvrolemember ('role', 'login')
把普通帳戶加入到 sysadmin 角色:
exec sp_addsrvrolemember '普通帳戶', 'sysadmin'
SQL Server 系統存儲過程 sp_addsrvrolemember 語法:
sp_addsrvrolemember [ @loginame = ] 'login', [ @rolename = ] 'role'
以上的相關內容就是對查看SQL Server超級用戶許可權的介紹,望你能有所收獲。

『柒』 sql server2012 怎麼查看用戶許可權

查看自己是否具有SQL Server超級用戶許可權:
select is_srvrolemember('sysadmin')

如果返回值為 1,則有;0,沒有。

『捌』 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%'

『玖』 怎麼用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超級用戶許可權的實際操作步驟,在實際操作中sa 帳戶在 SQL Server 資料庫權利很大。其主要原因是因為 sa 屬於 sysadmin 固定伺服器角色。
普通 SQL Server 帳戶,如果加入了 sysadmin 固定伺服器角色,那麼也會擁有和 sa 帳戶一樣的權利。

我們知道,sa 帳戶在 SQL Server 中擁有至高無上的權利。歸根結底在於 sa 屬於 sysadmin 固定伺服器角色。普通 SQL Server 帳戶,如果加入了 sysadmin 固定伺服器角色,那麼也會擁有和 sa 帳戶一樣的權利。

查看自己是否具有SQL Server超級用戶許可權:
select is_srvrolemember('sysadmin')

如果返回值為 1,則有;0,沒有。

SQL Server 系統存儲過程 is_srvrolemember 語法:
is_srvrolemember ('role')
is_srvrolemember ('role', 'login')

把普通帳戶加入到 sysadmin 角色:

exec sp_addsrvrolemember '普通帳戶', 'sysadmin'

SQL Server 系統存儲過程 sp_addsrvrolemember 語法:
sp_addsrvrolemember [ @loginame = ] 'login', [ @rolename = ] 'role'

以上的相關內容就是對查看SQL Server超級用戶許可權的介紹,望你能有所收獲。