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

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

上妹子

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

你可能感兴趣的:(sql)