sql-server - solucion - sql server ver usuarios conectados
¿Cómo se prueba la existencia de un usuario en SQL Server? (3)
SSMS lo scripts de la siguiente manera:
Para SQL 2005/2008:
IF EXISTS (SELECT * FROM sys.database_principals WHERE name = N''username'')
DROP USER [username]
Para SQL 2000:
IF EXISTS (SELECT * FROM dbo.sysusers WHERE name = N''username'')
EXEC dbo.sp_revokedbaccess N''username''
Me gustaría incluir a un usuario en una secuencia de comandos de SQL Server, pero tendré que probar primero la existencia o obtendré errores de secuencia de comandos. Cuando dejo caer tablas o procesos almacenados, reviso la tabla sysobjects así:
IF EXISTS (
SELECT *
FROM sysobjects
WHERE id = object_id(N''[dbo].[up_SetMedOptions]'')
AND OBJECTPROPERTY(id, N''IsProcedure'') = 1
)
Drop Procedure up_SetMedOptions;
GO
¿Cuál es el corolario para buscar un usuario? Tenga en cuenta que NO estoy preguntando sobre el inicio de sesión de una base de datos en el servidor. La pregunta pertenece a un usuario en una base de datos específica.
En SQL 2005:
select * from sys.sysusers
En SQL 2000:
select * from sysusers
El siguiente código funcionó para mí.
IF EXISTS (SELECT * FROM sys.syslogins WHERE name = N''MyUserName'')
DROP LOGIN [MyUserName]