Restringir acceso desde el Management Studio
En algunas ocasiones se necesita poder restringir el acceso a SQL Server para ciertos usuarios y especificamente cuando se conectan a SQL Server por medio del Managment Studio.
Una forma sencilla para poder realizar esta restricción es por medio de la creación de un Trigger, tal y como se muestra a continuación.
CREATE TRIGGER restringiraccesosql ON all server FOR logon AS
BEGIN
IF suser_name() <> 'Dominio\AdminSQL'
AND
EXISTS
(
SELECT *
FROM sys.dm_exec_sessions
WHERE program_name IN (N'Microsoft SQL Server Management Studio - Query') ROLLBACK;
END;
El código anterior restringe el acceso a los usuarios que son distintos al usuario AdminSQL y que se intentan conectar por medio del Management Studio. De la misma forma que se está restringiendo el acceso desde el Management Studio también se puede restringir desde cualquier otra aplicación, lo que se necesita es conocer el nombre de la aplicación.
Por ejemplo para conocer el nombre de la aplicación desde la cual nos estamos conectando en la sesión actual se puede utilizar el siguiente TSQL.
SELECT program_name
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID
Saludos,
Una forma sencilla para poder realizar esta restricción es por medio de la creación de un Trigger, tal y como se muestra a continuación.
CREATE TRIGGER restringiraccesosql ON all server FOR logon AS
BEGIN
IF suser_name() <> 'Dominio\AdminSQL'
AND
EXISTS
(
SELECT *
FROM sys.dm_exec_sessions
WHERE program_name IN (N'Microsoft SQL Server Management Studio - Query') ROLLBACK;
END;
El código anterior restringe el acceso a los usuarios que son distintos al usuario AdminSQL y que se intentan conectar por medio del Management Studio. De la misma forma que se está restringiendo el acceso desde el Management Studio también se puede restringir desde cualquier otra aplicación, lo que se necesita es conocer el nombre de la aplicación.
Por ejemplo para conocer el nombre de la aplicación desde la cual nos estamos conectando en la sesión actual se puede utilizar el siguiente TSQL.
SELECT program_name
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID
Saludos,
Comments