SQL: Logowanie do serwera tylko z wybranych hostów

19-sie-2014

Czy możemy w jakiś sposób zablokować logowanie użytkowników do bazy danych z konkretnego serwera?

Klient zgłasza problem że użytkownicy czasem się mylą i w momencie logowania do aplikacji z serwera produkcyjnego zamiast logowania do produkcyjnej bazy danych wpisują testową bazę i na odwrót.

Można. Zastosuj Logon trigger np taki:

 

USE Master
GO

CREATE TRIGGER DenyLogonTrigger
ON ALL SERVER
FOR LOGON

AS

BEGIN

DECLARE @HostName varchar(50)
SET @HostName = HOST_NAME()

if @HostName = 'SERVER01′ –NAZWA ZAKAZANEGO HOSTA

BEGIN
RAISERROR(’LOGIN FROM WPPL0ITA082′, 15,1) WITH LOG –KOMUNIKAT DO ZAPISANIA W LOGACH, jeżeli w ogóle taki ma być.
ROLLBACK
END

END

GO

Komunikat uzyskiwany u klienta wygląda następująco

trigger_error

Komentarze są wyłączone

Autor: Rafał Kraik