从 Active Directory 降级服务器后修复 SQL Server 2005

让我首先说明我更像是一个 UNIX 人,这让我大吃一惊。 我有一个运行 SQL Server 2005 for VMware 的 Windows 2003 服务器是 Virtual Infrastructure 系统。 理论上是让这个系统成为一个 Active Directory 控制器,但我们实际上已经决定在此期间保留这一特定功能。 我将服务器置于 Active Directory 领域之外(不再是任何类型的 Active Directory 的控制器或成员)。 不幸的是,当我这样做时,SQL Server 服务将不再启动。

当我进入 SQL Server 配置管理器并尝试将登录更改为管理员帐户或集成帐户时,我收到错误“帐户名称和安全 ID 之间没有映射”。

我该如何修复 SQL Server,使其不考虑 Active Directory 权限和帐户 ID?

2
2022-06-07 14:36:35
资源 分享
答案: 2

一种蛮横的策略,但您是否尝试过卸载和重新安装 SQL Server? 如果它不允许你,你可以试试这些 脚步

作为另一种选择,您可以尝试使用这些 脚步 来解决邻居帐户 SID 问题,但它看起来像是一种痛苦。

1
2022-06-07 15:01:21
资源

我还没有在我自己的机器上创建一个测试实例来重现它,但是它类似于保存在下面的键中的 3 个 pc 注册表值,这些值是指由 SQL Server 2005 安装生成的团队的 SID:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\Setup

这些值是 AGTGROUP、FTSGROUP 和 SQLGROUP。 实际上具有用于容纳这些值的 SID 的团队是(在您的服务器计算机中替换为名称以及 SQL 实例名称):

SQLServer2005MSSQLUser$SERVER-NAME$INSTANCE-NAME
SQLServer2005MSFTEUsers$SERVER-NAME$INSTANCE-NAME
SQLServer2005SQLAgentUsers$SERVER-NAME$INSTANCE-NAME 

从我所看到的(同样,我自己没有重新制作),您需要为这个 Web 服务器创建这些团队,然后为新团队获取 SID 并将它们直接放入计算机注册表。 看起来 SQL Server 安装的“修复”肯定会做到这一点。 查看 Microsoft Connect 的这篇短文:http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=202561

在该文章中搜索“一个或多个 SQL 安全组被以某种方式删除”的表述,并通读那里的解决方法。 看起来清理旧组并在委托模式下运行安排肯定会做你想要的。 我肯定会比尝试手动重新创建它们更好,就像我发现推荐的一些帖子和讨论论坛博客帖子一样。

说了这么多,至少在开始更改点之前备份计算机系统注册表的那部分以及您的数据源。 拥有良好的备份使事情“正常工作”

0
2022-06-07 14:50:58
资源