谁能帮帮我!今天是我努力解决这个问题的第三天。
情况是这样的,我接手了一个基于 SQL Server 2000 的项目,后来客户决定升级服务器。现在使用的是 SQL Server 2005,出现了一个问题:
SQL Server 2000 中的 SQL 用户密码不区分大小写,并且有许多可能在 10 年前编写的小子模块,其中的连接字符串是硬编码和编译的(缺少源代码)。所以我无法编辑连接字符串,而且由于密码不区分大小写,开发人员没有使用正确大小写的密码。正确的大小写只保留在少数模块中。
所以我想找到一种方法来更改 SQL Server 2005 的密码策略,或者创建多密码用户(我认为这是不可能的),或者也许您可以建议我采用不同的方法来解决这个问题。
答案1
我认为您无法采取任何措施来改变 SQL 服务器关于密码敏感度的行为。
我认为您首先要确保已经尽一切努力找到这些模块的源代码。否则,这里有一些想法:
- 使用十六进制编辑器编辑二进制可执行文件,将密码更改为正确的大小写。
假设 exes 或 dll 是使用 VB6 创建的,则此主题可能 Stackoverflow 上有很多信息(和/或那里是询问有关十六进制编辑以更新密码的问题的好地方)。如果它们是 .NET 应用程序,可能会更容易。
显然,这是一个需要非常谨慎处理的事情,在尝试进行任何更改之前要备份所有内容。
- 也许还可以降级到 Sql Server 2000 并恢复数据库 - 这将是另一个值得研究的想法。