DDL tetikleyicileri için kullanım alanları

SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

Florin Angelescu

Instructor

DDL tetikleyici yetenekleri

Veritabanı Veritabanı düzeyi

CREATE_TABLE,ALTER_TABLE,DROP_TABLE

CREATE_VIEW,ALTER_VIEW,DROP_VIEW

CREATE_INDEX,ALTER_INDEX,DROP_INDEX

ADD_ROLE_MEMBER,DROP_ROLE_MEMBER

CREATE_STATISTICS,DROP_STATISTICS

Sunucu Sunucu düzeyi

CREATE_DATABASE,ALTER_DATABASE, DROP_DATABASE

GRANT_SERVER,DENY_SERVER, REVOKE_SERVER

CREATE_CREDENTIAL,ALTER_CREDENTIAL, DROP_CREDENTIAL

SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

Veritabanı denetimi

CREATE TRIGGER DatabaseAudit
ON DATABASE
FOR DDL_TABLE_VIEW_EVENTS
AS
    INSERT INTO [DatabaseAudit] ([EventType], [Database], [Object],
                                 [UserAccount], [Query], [EventTime])
    SELECT
     EVENTDATA().value('(/EVENT_INSTANCE/EventType)[1]', 'NVARCHAR(50)'),
     EVENTDATA().value('(/EVENT_INSTANCE/DatabaseName)[1]', 'NVARCHAR(50)'),
     EVENTDATA().value('(/EVENT_INSTANCE/ObjectName)[1]', 'NVARCHAR(100)'),
     EVENTDATA().value('(/EVENT_INSTANCE/LoginName)[1]', 'NVARCHAR(100)'),
     EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]', 'NVARCHAR(MAX)'),
     EVENTDATA().value('(/EVENT_INSTANCE/PostTime)[1]', 'DATETIME');
SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

Veritabanı denetimi

| EventType    | Database   | Object    | UserAccount | Query                   | EventTime  |
| CREATE_TABLE | FreshFruit | Sales     | XXX         | CREATE TABLE [Sales]... | 2019-05-13 |
| CREATE_TABLE | FreshFruit | Employees | XXX         | CREATE TABLE [Employ... | 2019-05-13 |
SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

Sunucu değişikliklerini engelleme

CREATE TRIGGER PreventDatabaseDelete
ON ALL SERVER   
FOR DROP_DATABASE
AS   
   PRINT 'Mevcut veritabanlarını silme izniniz yok.';
   ROLLBACK;
SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

Hadi pratik yapalım!

SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme

Preparing Video For Download...