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



我通过尝试了新连接

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

它不起作用,但是当我删除用户名和密码时,它起作用很好。用户名和我的windows登录名相同,我尝试了DOMAINusernameusername@domain.com等多种组合,但都不起作用。但是,当用户名和密码不存在时,它连接良好。

错误为:

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

所以对于我的问题,为了调试问题。登录成功后使用自动身份验证时,是否可以检查使用的用户名?

编辑:所以在没有用户名和通行证的情况下登录后,我尝试了:

Select name FROM DBNAME.sys.syslogins

它给了我"域\用户名">

我以前也试过几次,但仍然是同样的错误:(

编辑2:它在数据库登录列表授权中吗?我尝试过SQL Studio通过Windows身份验证登录-工作正常,但当我切换到SQL server身份验证并使用正确的用户名和密码时,它再次给我同样的错误,就像用户名不再存在一样。。。

最后,我发现一个帐户不能设置为通过SQL身份验证和windows身份验证登录。所以若我可以通过windows身份验证登录(并没有输入用户名和密码(,那个么唯一的方法就是用相同的用户名创建新帐户,并在登录时将其设置为SQL身份验证。如果我错了,请纠正我(主要是那些可以测试的人,因为我发现了帐户的安全设置,上面写着"SQL Server和Windows身份验证模式",它无论如何都是活动的,但不起作用,根据我们的数据库管理员的说法,这个设置不是它的用途(

最新更新