我需要从 ODBC 登录到 MS Sql 到我在 Linux 服务器上的 MS Sql 实例。以下是我的问题
有没有办法在没有 Active Directory 的情况下做到这一点(如果不更改用户配置文件,可能使用 LDAP 或 ADLDS)?
我通过取消选择创建了一个没有密码的 SQL Server 登录名
enforce password policy
。我可以完成添加 ODBC 并且测试连接成功,但是当我运行程序时,它给出了一个错误,登录失败,并且在 SQL Server 日志中它显示:用户“gp”登录失败。原因:密码与提供的登录名不匹配”。
我正在运行的程序是一个旧程序,我没有源代码来更改其中的任何内容。目前,它适用于运行 Windows Server 和 Microsoft SQL Server 的服务器上的 Windows 身份验证。
您可能想查看如何在 SQL Server 实例之间传输登录名和密码,以将
gp
用户从旧 SQL Server 实例迁移到新 SQL Server 实例。分析
应用程序将使用
gp
存储在应用程序中的帐户和预定义密码登录。因为您没有为在新实例上创建的新用户提供密码,所以登录失败。
解决方案
您必须使用 Microsoft 提供的上述方法创建 SQL Server 登录。本质上,这些脚本在主数据库中的源实例上创建了两个过程。当您执行
EXEC sp_help_revlogin
它时,它会为每个 SQL Server 登录创建一个包含CREATE LOGIN ...
语句的输出,其中包含原始登录的 SID 和加密密码。CREATE LOGIN....
然后,通过在目标实例上运行登录的相应语句,在目标 SQL Server 实例上创建所需的 SQL Server 登录gp
。