Jak sprawić aby nawet administrator lub właściciel bazy danych nie mógł jej usunąć?

10-paź-2011

Bezpośrednio będzie to trudne do ustawienia, ale jeżeli zaprząc do pracy trigger DDL, to będzie łatwiej. Rozważ następujący trigger uruchamiany podczas usuwania jakiejkolwiek bazu danych:

CREATE TRIGGER tr_drop_db ON ALL SERVER
FOR DROP_DATABASE
AS
BEGIN
PRINT 'Dropping database is not allowed. Contact me ……..’
ROLLBACK
END

Od tej pory ilekroć uruchomisz polecenie DROP DATABASE uruchomi się trigger i zobaczysz:

Dropping database is not allowed. Contact me ........
Msg 3609, Level 16, State 2, Line 1 The transaction ended in the trigger. 
The batch has been aborted.

Aby wyłączyć trigger użyj:

DISABLE

TRIGGER tr_drop_db ONALLSERVER

 Aby go usunąć wpisz:

DROP TRIGGER tr_drop_db ONALLSERVER

 


 

 

 

 

Komentarze są wyłączone

Autor: Rafał Kraik