Configuração de uma tabela de eventos¶
Antes de iniciar o registro em log ou o rastreamento, é necessário configurar uma tabela de eventos que coletará os dados de mensagens e eventos gerados pelo código do manipulador. Com um conjunto predefinido de colunas, uma tabela de eventos é projetada para registrar eventos, logs de eventos e eventos de rastreamento registrados a partir do código do manipulador da função e procedimento.
Uma tabela de eventos tem as seguintes características que a diferenciam de outras tabelas que você cria:
A tabela contém um conjunto predefinido de colunas para capturar entradas de log e eventos de rastreamento. A estrutura da tabela inclui colunas e definições de objeto de atributo de chave/valor para armazenar dados predefinidos e dados projetados por você.
Você associa uma tabela de eventos à sua conta para capturar entradas de log e rastrear eventos para essa tabela. Você pode associar uma conta a apenas uma tabela de eventos de cada vez. A tabela de eventos associada é chamada de tabela de eventos ativa.
É possível especificar o nível de gravidade das mensagens de log e o detalhamento dos eventos de rastreamento a serem capturados.
As mensagens de log e os eventos de rastreamento gerados pelo código do manipulador para procedimentos armazenados, UDFs e UDTFs são armazenados na tabela de eventos ativa.
Para configurar uma tabela de eventos para registro, é necessário fazer o seguinte (descrito neste tópico):
Criação de uma tabela de eventos¶
Para criar uma tabela de eventos para armazenar dados de eventos de log e rastreamento, execute o comando CREATE EVENT TABLE e especifique um nome para a tabela de eventos. Você usará o nome da tabela de eventos posteriormente para permitir que a tabela capture logs produzidos por procedimentos armazenados, UDFs e UDTFs na sua conta.
Observe que, ao criar uma tabela de eventos, você não especifica as colunas da tabela. Uma tabela de eventos já tem um conjunto de colunas predefinidas, conforme descrito em Colunas da tabela de eventos.
Nota
No momento, não há suporte para a replicação de tabelas de eventos. Se você tentar replicar um banco de dados que contenha uma tabela de eventos, a replicação falhará.
Você deve criar a tabela de eventos em um banco de dados que não esteja habilitado para replicação.
Por exemplo, para criar uma tabela de eventos com o nome my_events
, execute a seguinte instrução:
CREATE EVENT TABLE my_database.my_schema.my_events;
Associação da tabela de eventos à conta¶
Para permitir o armazenamento de dados de eventos de log e rastreamento de funções e procedimentos de uma conta, é necessário especificar que a tabela de eventos criada seja a tabela de eventos ativa da conta.
Para especificar a tabela de eventos ativa de sua conta, execute o comando ALTER ACCOUNT e defina o parâmetro EVENT_TABLE como o nome de sua tabela de eventos.
Nota
Para executar esse comando, você deve usar a função ACCOUNTADMIN.
Além disso, você deve ter os dois privilégios a seguir:
Privilégio OWNERSHIP para a conta.
Privilégios OWNERSHIP ou INSERT para a tabela de eventos.
Consulte a documentação sobre o comando ALTER ACCOUNT para obter mais informações sobre os privilégios necessários para executar ALTER ACCOUNT.
Por exemplo, para configurar a tabela de eventos denominada my_events
no esquema my_schema
no banco de dados my_database
como a tabela de eventos ativa de sua conta, execute a seguinte instrução:
ALTER ACCOUNT SET EVENT_TABLE = my_database.my_schema.my_events;
Como mostrado acima, você deve especificar o nome totalmente qualificado da tabela de eventos.
Para desassociar uma tabela de eventos de uma conta, execute o comando ALTER ACCOUNT e desmarque o parâmetro EVENT_TABLE. Por exemplo:
ALTER ACCOUNT UNSET EVENT_TABLE;
Você pode confirmar o valor EVENT_TABLE com o comando SHOW PARAMETERS:
SHOW PARAMETERS LIKE 'event_table' IN ACCOUNT;
Definição do nível dos eventos de log e rastreamento¶
É possível gerenciar o nível de dados de eventos de log e rastreamento armazenados na tabela de eventos definindo o nível de log ou rastreamento. Antes de registrar ou rastrear, use essas configurações para ter certeza de que está capturando a quantidade e o tipo de dados que deseja.
Se você pretende registrar mensagens de log, pode definir o limite para a gravidade da mensagem de log, conforme descrito em Configuração do nível de registro
Se você pretende rastrear eventos, pode definir o detalhamento dos dados do evento, conforme descrito em Configuração do nível de rastreamento