0

当我尝试从 sql server 2000 删除登录名时,我在这里堆叠我使用此脚本在删除登录名之前获取所有列表,在获得所有列表后,我尝试执行输出,例如“Drop login [xxxxx]”但得到了此错误消息。

“Server: Msg 170, Level 15, State 1, Line 1
Line 1: Incorrect syntax near 'LOGIN'.”

脚本如下

----------Script Begin--------
CREATE TABLE #sid (sid binary(85) NOT NULL)

INSERT #sid (sid)
 EXEC sp_MSforeachdb 'select sid from sysusers WHERE sid IS NOT NULL'

SELECT 'DROP LOGIN ' + quotename(name)
 FROM   master.dbo.syslogins l
 WHERE  NOT EXISTS (SELECT *
                    FROM   #sid s
                    WHERE  s.sid = l.sid)
 AND name NOT LIKE '##%'
 AND name NOT LIKE 'NT %'

go
 DROP TABLE #sid
----------Script ends--------

请帮帮我 我是 sql server 的新手 任何帮助将不胜感激 谢谢

4

2 回答 2

2

删除登录的 SQL 2000 代码:

EXEC master..sp_revokelogin @loginame='YOURDOMAIN\xxxxx'
于 2014-06-17T14:35:14.160 回答
0

这是 SSMS 为 SQL 2000 生成的内容。有趣的是,域和 SQL 登录有不同的代码。

域登录:

EXEC master.dbo.sp_revokelogin @loginame = N'your_domain\login'

SQL登录:

EXEC master.dbo.sp_droplogin @loginame = N'sql_login'
于 2018-05-24T13:16:14.350 回答