我的任务是把我们从一个十年前的系统(Access '97)转移到一个使用 MS SQL Express 2008 作为后端的全新系统。太好了,我知道我可以连接到数据库(使用只读用户成功),唯一的问题是......我在数据库中没有具有写访问权限的用户,我们也没有源访问权限到应用程序知道应用程序使用什么密码(虽然,我确实有用户名)。
所以,正如我所见,我有两个选择:
- 以非破坏性(或可撤销)的方式恢复应用程序使用的用户的密码。
- 在数据库中插入一个额外的管理用户,然后我可以将其用作数据导入用户。
这些选项中的任何一个是否可行和/或可能,以及我将如何处理其中一个或两个,因为我坐在电脑前可以完全访问做任何事情。
通常,这是通过在单用户模式下启动 SQL Server 并插入一个新的 sql 管理员用户来完成的,然后您可以使用该用户来获得完全访问权限。在您知道应用程序是否正在使用它之前,我会避免更改 sa 密码。
这是一个链接,其中包含使用普通 SQL Server 执行此操作的说明和屏幕截图。要将 SQL Express 置于单用户模式并打开查询窗口,请执行以下操作:
编辑(以防链接失效):在单用户模式下打开查询窗口后,您应该能够添加可以使用的服务器管理员登录名:
在您的情况下,SQL 登录已启用,或者您将无法使用只读登录,但对于其他人,他们可能需要通过检查或编辑您的注册表来确保启用 SQL 登录(将 MSSQL.1 替换为您的任何实例之后,但很可能是 0.1)。将其放入 .reg 文件并运行它(或使用 RegEdit):
最后,如果您的 sa 登录被禁用,并且您想要启用它(但如果您的应用程序正在使用 sa,请不要这样做,否则您可能会破坏整个事情):
我不是 100% 确定你在问什么。听起来您的应用程序使用了硬编码的用户名和密码?!?!?
如果您的问题只是重置 SQL Server 的“sa”帐户,请按照以下说明重置“sa”密码(假设您可以物理访问该框)。
以管理员身份登录物理机。
运行 SQL Server 企业管理器。
右键单击服务器名称并选择“编辑 SQL Server 注册属性”。
选择“使用 Windows 身份验证”,然后单击“确定”。
展开服务器,展开安全,然后单击登录。
双击 sa 登录名并在常规选项卡上指定新密码。