Você não pode usar uma variável com DROP LOGIN
. Para fazer isso, você precisará usar SQL dinâmico:
DECLARE @obso_user VARCHAR(16)
SET @obso_user = 'BEN_VA362781'
DECLARE @sql NVARCHAR(100)
SET @sql = N'DROP LOGIN [' + @obso_user + ']'
EXEC sp_executesql @sql
Coloque isso em CURSOR
para fazer mais do que o login único:
DECLARE @obso_user VARCHAR(16)
DECLARE @sql NVARCHAR(100)
DECLARE USER_CUR CURSOR FOR
SELECT [Something] FROM User_Table
OPEN USER_CUR
FETCH NEXT FROM USER_CUR INTO @obso_user
WHILE @@FETCH_STATUS = 0
BEGIN
SET @sql = N'DROP LOGIN [' + @obso_user + ']'
EXEC sp_executesql @sql
FETCH NEXT FROM USER_CUR INTO @obso_user
END
CLOSE USER_CUR
DEALLOCATE USER_CUR