我以管理员身份登录,并为连接到我的 sqlserver 的软件创建了受信任的连接。然后我以普通用户身份登录,并检查用户连接的数据库服务器。令人惊讶的是:登录的用户是管理员(配置连接的用户),而不是当前登录用户。这是“受信任的连接”功能吗?我怀疑这种行为是由我的软件引入的。提前致谢 Agostino
答案1
我会检查启动连接的应用程序没有用于连接的硬编码数据库用户名/密码
答案2
该连接是否为安全连接。可识别的值为“true”、“false”和“sspi”,后者等同于“true”。
基本上,您是在告诉应用程序在连接到 SQL Server 时模拟当前登录用户的身份,而不是在连接字符串中使用特定身份(用户名/密码)
数据源=myServerAddress;初始目录=myDataBase;集成安全性=SSPI;
服务器=myServerAddress;数据库=myDataBase;Trusted_Connection=True;
如果需要传递特定的用户名/密码,请使用
服务器=myServerAddress;数据库=myDataBase;用户 ID=myUsername;密码=myPassword;Trusted_Connection=False;
现在要测试问题,请尝试
- 更改连接字符串中的服务器名称并打开应用程序。如果应用程序运行,那么正如@beakersoft所说,应用程序可能正在使用硬编码的连接字符串。
- 尝试特定连接并使用“sa”进行测试,看看是否有效。然后尝试另一个用户。
注意:用户名/密码(或TRUSTED USER)必须在SQL Server上具有正确的权限。