如何使用"专用管理员连接"来了解您的管理员在SQL Server中?

时间:2015-08-03 15:55:44

标签: sql sql-server

我使用的是SQL Server,我通过sqlcmd以管理员身份进行连接。我想知道我是否真的以管理员​​身份连接。是否只有管理员才能执行任何命令或查询?

谢谢, 伽

2 个答案:

答案 0 :(得分:0)

此查询应该为您提供sysadmin角色成员的列表。如果添加到where子句以仅筛选当前用户,则应该得到所需的内容。 (它是从this SO question复制的。)

SELECT p.name AS [Name] ,r.type_desc,r.is_disabled,r.create_date , r.modify_date,r.default_database_name
FROM
sys.server_principals r
INNER JOIN sys.server_role_members m ON r.principal_id = m.role_principal_id
INNER JOIN sys.server_principals p ON
p.principal_id = m.member_principal_id
WHERE r.type = 'R' and r.name = N'sysadmin'

答案 1 :(得分:0)

这个脚本告诉你 - 你是否以 DAC 的身份连接

select 'Yes you have connected as "DAC"' [Who you are] from sys.dm_exec_sessions s join sys.endpoints  e
on (s.endpoint_id = e.endpoint_id) 
where e.name ='Dedicated Admin Connection'
and s.session_id = @@spid