4
SQL Server脚本删除Active Directory中不再存在的帐户
我们有一个SQL Server 2000,不久将迁移到SQL Server2005。它具有多年创建的Windows身份验证帐户,这些帐户在Active Directory中已不存在,这会阻止复制数据库向导在新服务器上创建这些帐户。 是否存在脚本或某种自动删除活动目录中不再存在的帐户的方法? 编辑:为了清楚起见,需要删除的登录名在SQL Server 2000上,它不支持该DROP LOGIN命令。 另外,可以手动删除SQL Server 2000中的登录名(我认为),exec sp_droplogin 'loginname'但是在我的情况下,无论我使用“ domain \ loginname”还是“ loginname”,都找不到登录名。 只是增加了混乱,exec sp_revokelogin 'domain\loginname'看起来确实有效。 编辑2:终于解决了问题。许多有问题的登录都以编程方式添加到数据库中,尽管它们在某种意义上可以以用户可以连接的方式工作,但是当SQL Server预期没有域时,用户名与NT登录名的域前缀登录不匹配,反之,反之亦然。 为解决此问题,我修改了sp_droplogin过程以取出其中一个出错的检查。 我接受我自己的答案,因为它可以在SQL Server 2000中使用。