使用 windows 身份验证登录时调试 pdo 连接用户名

debug pdo connection username when windows authentication logon used

我尝试通过以下方式建立新连接:

$conn = new PDO("sqlsrv:server=SERVERNAME;database=DBNAME;MultipleActiveResultSets=false", "username", "password");

它没有用,但是当我删除用户名和密码时它工作正常。 用户名与我的 windows 登录相同,我尝试了 DOMAIN\usernameusername@domain.com 等多种组合,但没有任何效果。但是,当用户名和密码不存在时,连接正常。

错误是:

SQLSTATE[28000]: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user 'username'.

所以对我的问题,为了调试问题。 登录成功后使用自动认证是否可以查看用户名?

编辑:所以一旦登录时没有用户名并通过我尝试:

Select name FROM DBNAME.sys.syslogins

它给了我 "DOMAIN\USERNAME"

我之前试过好几次了,还是一样的错误:(

EDIT2:是否在数据库登录列表授权中?我已经尝试 SQL Studio 通过 Windows 身份验证登录 - 工作正常,但是当我 sqich SQL 服务器身份验证并使用正确的用户名和密码时,它再次给我同样的错误,好像用户名不存在了...

所以最后发现有一个账号不能设置为SQL认证登录,也不能设置windows认证。因此,如果我可以通过 windows 身份验证登录(无需输入用户名和密码),那么唯一的方法是使用相同的用户名创建新帐户并将其设置为 SQL 登录时身份验证。 如果我错了,请纠正我(主要是可以测试的人 - 因为我发现帐户的安全设置显示 "SQL Server and Windows Authentication mode" 无论如何都处于活动状态但不起作用,并且根据我们的数据库管理员,此设置不是它的用途)