当我尝试从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的新手 任何帮助将非常感激 谢谢
答案 0 :(得分:2)
删除登录的SQL 2000代码:
EXEC master..sp_revokelogin @loginame='YOURDOMAIN\xxxxx'
答案 1 :(得分: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'