grzech.webio.pl


.. kolejny blog w sieci (głównie na własne potrzeby)


Trigger do blokowania usunięcia bazy danych

SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TRIGGER [ddl_trig_Prevent_Drop_Database] ON ALL SERVER FOR DROP_DATABASE AS --log attempt to drop database DECLARE @db VARCHAR(209) SET @db = (SELECT 'Database Dropped Attempted by ' + CONVERT(nvarchar(100), ORIGINAL_LOGIN()) + ' executing command: '+ EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','VARCHAR(229)')) RAISERROR(@db, 16, 1)WITH LOG --prevent drop database ROLLBACK GO SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO --turn on trigger ENABLE TRIGGER [ddl_trig_Prevent_Drop_Database] ON ALL SERVER Zródło: http://blogs.msdn.com/b/chrissk/archive/2010/01/06/code-example-to-first-log-then-prevent-sql-database-from-being-deleted.aspx