Mais um apontamento nesta rubrica que eu pretendo que seja uma mais valia e como tal acrescente saber. Posto isto, hoje vou-te falar dos Database Triggers estes servem para várias funções referente a auditoria das nossas base de dados em que alteramos as tabelas e necessitamos de colocar numa tabela para efeitos de auditoria. Vou então mostrar-te com um exemplo para evitar que tabelas sejam apagadas ou criadas, atenção é só um exemplo.
Use BaseDados
go
Create TRIGGER [DBTR_Teste_Drop_Create]
ON DATABASE
FOR DDL_TABLE_VIEW_EVENTS
AS
DECLARE @data xml
DECLARE @cmd nvarchar(350)
DECLARE @logMsg nvarchar(400)
SET @data = eventdata()
SET @cmd = @data.value
('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]', 'nvarchar(350)')
SET @logMsg = @cmd + ' (' + SYSTEM_USER + ' on ' + HOST_NAME() + ')'
RAISERROR (@logMsg, 10, 1) WITH LOG
-- Para Visualizar o Comando executado
-- select @cmd
-- Aqui não permitimos criar objectos na base de dados (Exemplo: Create Table)
-- pois efectuamos o rollback
if left(@cmd,6)='Create'
rollback
-- Aqui não permitimos apagar objectos na base de dados (Exemplo: drop table)
-- pois efectuamos o rollback
if left(@cmd,4)='drop'
rollback
Nota: podemos criar uma tabela com as variáveis com o tipo indicado e inserir os erros
sexta-feira, 5 de junho de 2009
Subscrever:
Mensagens (Atom)
NetWorkedBlog
tracer
Labels
- _uacct (1)
- Ano Novo (3)
- Bem vindo IT web 2.0 (1)
- Bill Gates (1)
- Birmânia (1)
- Business Objects (1)
- Crystal (2)
- Cursor (1)
- Database Triggers (2)
- Entretenimento (1)
- espaco em disco (1)
- Excel (1)
- férias (1)
- Google (2)
- Google Gphone (1)
- Google Pesquisa Personalizada (1)
- informática (1)
- It Tech Blogers (2)
- LOG (1)
- Movel (1)
- MSSQL (1)
- Natal (3)
- Newsletter (1)
- OPEN ID (1)
- Rootkits (1)
- segurança (1)
- software Grátis (1)
- SP (2)
- SQL (14)
- SQL Expressions (3)
- SQL Identity (1)
- SQL Truques e Dicas (13)
- TI (1)
- UAC (1)
- Urchin (1)
- Virtualização (1)
- Vista (4)
- VISTA Ecrã Preto (2)
- Vista SP1 (3)
- VM (1)
- web 2 (4)
- Web Analytics (5)
- web Office Online (1)
- WhilePrintingRecords (1)
- Windows Filesystem (1)
- windows vista (4)