Como trabalhar com tabelas de eventos

Você pode executar um subconjunto de operações de tabela em uma tabela de eventos, que é especificamente projetada para capturar eventos. As seções deste tópico descrevem as operações suportadas por uma tabela de eventos.

Operações suportadas em uma tabela de eventos

Como uma tabela de eventos foi projetada especificamente para capturar eventos, não é possível executar algumas das operações em uma tabela de eventos que podem ser executadas em uma tabela.

Com uma tabela de eventos, você pode realizar somente as seguintes operações:

Exclusão de linhas de uma tabela de eventos

Se você precisar excluir linhas de uma tabela de eventos, poderá usar os seguintes comandos:

  • Use TRUNCATE TABLE para remover todas as linhas da tabela de eventos.

  • Use DELETE para remover as linhas selecionadas da tabela de eventos.

    Você pode usar isso se precisar implementar políticas de retenção de logs mais complexas (por exemplo, se precisar reter logs de algumas funções por um período maior do que o de outras funções).

Parâmetros das tabelas de eventos

Você pode usar os seguintes parâmetros para especificar como a tabela de eventos deve ser usada pelo código do manipulador.

EVENT_TABLE

Especifica o nome da tabela de eventos para registrar mensagens de procedimentos armazenados e UDFs nessa conta. Para informações de referência, consulte EVENT_TABLE.

LOG_LEVEL

Especifica o nível de gravidade das mensagens que devem ser ingeridas e disponibilizadas na tabela de eventos ativos. As mensagens no nível especificado (e em níveis mais graves) são ingeridas. Para obter mais informações, consulte LOG_LEVEL e Configuração do nível de registro.

TRACE_LEVEL

Especifica o detalhamento dos eventos de rastreamento que devem ser ingeridos e disponibilizados na tabela de eventos ativos. Os eventos no nível especificado são ingeridos. Para obter mais informações, consulte TRACE_LEVEL e Configuração do nível de rastreamento.

Privilégios de controle de acesso para tabelas de eventos

Você pode usar privilégios no escopo global e da tabela de eventos para gerenciar o acesso às operações em uma tabela de eventos.

Para obter mais informações, consulte Privilégios de tabela de eventos e privilégios de nível de log em Privilégios globais (privilégios no nível da conta).

Gerenciamento do acesso aos dados da tabela de eventos

Quando não for prático disponibilizar os dados da tabela de eventos para uma série de usuários e funções, é possível criar exibições para acesso de usuários com funções específicas.

Uma conta pode ter apenas uma tabela de eventos ativa. Quando quiser gerenciar o acesso aos dados nessa única tabela, você poderá criar exibições na tabela de eventos e conceder acesso a cada exibição para funções separadas. Por meio da exibição, uma função pode ter acesso a um subconjunto específico dos dados na tabela de eventos.

Para obter mais informações sobre a criação de exibições, consulte CREATE VIEW.

Uso de fluxos para rastrear alterações em tabelas de eventos

Você pode criar um fluxo em uma tabela de eventos, por exemplo, para capturar alterações na tabela.

Para obter mais informações sobre fluxos, consulte Rastreamento de alterações usando fluxos de tabela e CREATE STREAM.

O código no exemplo a seguir cria um fluxo para capturar inserções na tabela de eventos my_event_table.

CREATE STREAM append_only_comparison ON EVENT TABLE my_event_table APPEND_ONLY=TRUE;
Copy