如何查询 SQL 作业所有者的可能登录名?
Posted
技术标签:
【中文标题】如何查询 SQL 作业所有者的可能登录名?【英文标题】:How can I get a query of possible login names for SQL job owner? 【发布时间】:2021-05-19 15:15:44 【问题描述】:我正在尝试获取工作所有者的所有可能登录名的列表。以下查询
SELECT * FROM sys.syslogins
WHERE hasaccess=1
让我接近我正在寻找的内容,但它返回了我在使用 SSMS 的“浏览对象”对话框中找不到的其他登录名(例如 ##MS_AgentSigningCertificate##
或 BUILTIN\Administrators
)。我在 sys.syslogins 表中找不到任何逻辑来区分这些记录。我查看了其他登录表,但没有比 sys.syslogins 更接近的了。
SQL Server 是 10.50 (2008R2) 版本,但我正在寻找一个可以为我提供此版本或更早版本结果的查询。
我错过了什么?
【问题讨论】:
仅供参考,你真的应该停止使用那些旧的兼容性视图,比如syslogins
;它们是为旧的 SQL Server 2000 数据库设计的。切换到新的sys
对象。 sys.syslogins (Transact-SQL)
【参考方案1】:
@Larnu 为我指明了正确的方向。
解决我的问题的查询是:
SELECT * FROM sys.server_principals
WHERE [type] IN ('S', 'U')
【讨论】:
以上是关于如何查询 SQL 作业所有者的可能登录名?的主要内容,如果未能解决你的问题,请参考以下文章
sql server 2008自动备份出现 出现 执行维护计划. MaintenancePlan (错误)密码和登录名不匹被
SQL SERVER 建好了,如何创建用户以及赋予所有权限?