Logon Trigger

di Luca Bianchi, in SQL Server,

Nei newsgroup a volte viene posto il quesito su come limitare gli utenti ad eseguire una sola connessione al server evitando, cioè, che uno stesso login possa aprire 2 o più connessioni.

Fino ad ora non era possibile soddisfare questa esigenza ma con il prossimo rilascio del SP2 di SQL Server 2005, di cui avevo già parlato in questo post, la cosa sarà possibile mediante l'utilizzo dei Logon Trigger.

Il codice che segue mostra un esempio di come sia possibile implementare tale funzionalità

USE master;
GO

CREATE LOGIN MyTest WITH PASSWORD = 'Test123';
GO

GRANT VIEW SERVER STATE TO public;
GO

CREATE TRIGGER tr_LimitConnection
ON ALL SERVER
FOR LOGON
AS
BEGIN
IF IS_SRVROLEMEMBER ('sysadmin', ORIGINAL_LOGIN()) = 0
AND (SELECT COUNT(*)
FROM sys.dm_exec_sessions
WHERE is_user_process = 1
AND original_login_name = ORIGINAL_LOGIN()) > 1
ROLLBACK;
END;
GO

Potete scaricare la versione preliminare (December CTP) del SP2 di SQL Server e del Books Online.

Bye

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese