TSQL--删除登陆相关的用户

无二话,上代码

--删除登陆相关的用户
--遍历所有数据库,查找到与登录名相关联的的用户,生成删除脚本

DECLARE @loginName NVARCHAR(200)
SET @loginName='DBA';
DECLARE @comm NVARCHAR(MAX)
SET @comm=N'
USE [?];
IF(EXISTS(SELECT 1 FROM SYS.database_principals u
WHERE ISNULL(suser_sname(u.sid),N'''')='''+@loginName+'''))
BEGIN
DECLARE @Sql NVARCHAR(200);
SELECT @Sql=''DROP USER [''+name+'']'' 
FROM SYS.database_principals u
WHERE ISNULL(suser_sname(u.sid),N'''')='''+@loginName+'''

PRINT ''USE [?];''
PRINT ''GO''
PRINT @Sql
END
'

EXEC  SP_MSFOREACHDB @comm

--=========================================== 

上妹子

posted on 2014-05-25 18:19  笑东风  阅读(430)  评论(0编辑  收藏  举报

导航