我发现在我公司的某个 SQL 服务器的实例上,sa 实际上是所有会话使用的唯一登录名。SPID# 扩展到 130。您认为这有什么影响?尽管当然安全,但有什么缺点吗?很欣赏你在这方面的投入。谢谢。
影响是非常严重的安全风险。可能是您的应用程序被硬编码为使用“sa”;通常编写和实施得非常糟糕的 3rd 方应用程序会做这种可怕的事情。
你需要问的问题是,“我能做些什么来解决这个问题?”,因为它绝对需要紧急修复。
如果它是第 3 方应用程序,您可能需要升级到您的支持提供商。
理想情况下,您将创建一个新的数据库角色,为该角色分配所需的最低权限 [例如,对某些存储过程执行 exec],然后为您的用户创建登录名/组,将他们添加到此角色,并修改应用程序的连接设置以使用他们自己的登录而不是 sa。
然后,您还应该创建一个新的 sysadmin 登录名,而不是“sa”,供您自己使用,然后如果可能,从 sysadmin 固定服务器角色中删除 sa 本身,和/或禁用它。
让您的所有用户使用 sysadmin 特权登录(即使它不是 sa)进行连接,委婉地说,远非理想。