我们有一个使用 Windows 授权运行的 SqlServer 数据库。我想为远程访问的特定用户设置服务器登录。在管理工具中,我输入用户名、密码并确认密码。然后保存。用户无法登录。
当我重新打开登录时,密码似乎已更改。 字符数不同。 由于它们被遮挡,我看不到它们是什么。
这不是管理工具的问题。使用两个不同的 SQL 管理器,结果相同。
这是怎么回事?
答案1
首先,密码是隐藏的,“点”的数量并不代表原始密码的字符数。
其次,当远程用户必须输入其用户名/密码时,这表明您没有使用 Windows 身份验证,但是SQL Server 身份验证。这意味着您需要创建 Sql 服务器用户并将服务器设置为允许混合身份验证(Windows 身份验证和 SQL 服务器身份验证)。
如果你需要帮助
- 创建测试 SQL Server 用户帐户
- 设置 SQL 服务器以允许混合身份验证
请在评论中提问。
编辑
据我所知,此信息适用于所有版本的 SQL Server
答案2
如果您使用 Windows 身份验证,并且远程用户被提示输入登录信息,则他们在连接时可能无法通过您的域/服务器的身份验证。确保他们输入完全合格的用户名和密码。(例如 MYDOMAIN\userx 或[电子邮件保护]..)
答案3
如果你确定远程用户输入的密码与创建的密码相匹配,则有两种可能:(1)创建登录名时,DBA 选择强制密码过期和/或(2)选定用户必须在下次登录时更改密码。
解决方案 = 删除并重新创建登录,而不选择上述任一选项。
另一个问题可能是登录名没有与其分配的默认数据库关联的权限。检查该数据库中是否有映射到相关登录名的用户。
解决方案 = 将数据库中的用户映射回服务器登录。