bjay tiamsic Ответов: 1

Вход в систему участника сервера предоставил одно или несколько разрешений. Отмените разрешение(ы) перед удалением участника сервера.


Я пытаюсь удалить логин в SQL Server с помощью команды

<pre lang="SQL">DROP LOGIN [user]

Но я получаю следующее сообщение об ошибке:

<pre>Server principal LOGIN has granted one or more permission(s). Revoke the permission(s) before dropping the server principal.</pre>

Я читал несколько форумов и смог получить запрос ниже, чтобы получить привилегию входа в систему, который я пытался сбросить, и пользователей, которым он предоставил доступ.
DECLARE @loginname nvarchar(100)
SET @loginname='AP\asa.c'

SELECT dp.type_desc, dp.SID, dp.name AS user_name  
FROM sys.database_principals AS dp  
LEFT JOIN sys.server_principals AS sp  
    ON dp.SID = sp.SID  
WHERE sp.SID IS NULL  
    AND authentication_type_desc = 'INSTANCE';  

	SELECT class_desc,*
FROM sys.server_permissions
WHERE grantor_principal_id = (
SELECT principal_id
FROM sys.server_principals
WHERE NAME = @loginname)

SELECT NAME
,type_desc
FROM sys.server_principals
WHERE principal_id IN (
SELECT grantee_principal_id
FROM sys.server_permissions
WHERE grantor_principal_id = (
SELECT principal_id
FROM sys.server_principals
WHERE NAME = @loginname))


Я открыл статьи, используя один и тот же запрос, но все они относятся к конечной точке, однако мой случай возвращает разные результаты.

У меня есть следующий результат.
class_desc	class	class_desc	major_id	minor_id	grantee_principal_id	grantor_principal_id	type	permission_name	state	state_desc
SERVER_PRINCIPAL	101	SERVER_PRINCIPAL	354	0	2	354	AL  	ALTER	W	GRANT_WITH_GRANT_OPTION
SERVER_PRINCIPAL	101	SERVER_PRINCIPAL	354	0	2	354	CL  	CONTROL	W	GRANT_WITH_GRANT_OPTION
SERVER_PRINCIPAL	101	SERVER_PRINCIPAL	354	0	2	354	IM  	IMPERSONATE	W	GRANT_WITH_GRANT_OPTION
SERVER_PRINCIPAL	101	SERVER_PRINCIPAL	354	0	2	354	VW  	VIEW DEFINITION	W	GRANT_WITH_GRANT_OPTION
SERVER_PRINCIPAL	101	SERVER_PRINCIPAL	354	0	288	354	IM  	IMPERSONATE	G	GRANT


NAME	type_desc
public	SERVER_ROLE
EU\ntcanalytical.im	WINDOWS_LOGIN


Что я уже пробовал:

Ты не знаешь, что мне с ними делать?