Emissão de relatórios sobre tabelas do sistema
As tabelas do sistema são, por padrão, restritas ao módulo Emissão de relatórios.
Essas tabelas incluem, entre outras:
- Auditoria do sistema [
sys_audit] - Registrar [
syslog] - Log de transações [
syslog_transaction] - Anexo [
sys_attachment] - E-mail [
sys_email]
O motivo para isso é porque sys_audit é normalmente a maior tabela em qualquer instância. Não é incomum que a tabela de auditoria, mesmo em uma instância de tamanho médio, tenha vários gigabytes. Em uma instalação grande, esta tabela pode ter 50 GB ou mais.
Quando acessamos a tabela sys_audit de forma programática, sabemos como será o nosso padrão de consulta, portanto, adicionamos índices de dados apropriados para corresponder às nossas consultas. Isso significa que quando você abre, por exemplo, o histórico de um incidente, o banco de dados pode usar um índice para extrair com eficiência as poucas dezenas de linhas necessárias para essa consulta.
Com a emissão de relatórios de forma livre, no entanto, não podemos prever como será o seu padrão de consulta. Talvez você queira agrupar por fieldnameou classificar por oldvalue. Portanto, é possível que suas consultas não sejam indexadas. O resultado líquido é que você solicitará que o banco de dados verifique na tabela um arquivo de vários gigabytes, o que é ruim pelos seguintes motivos:
- É lento, portanto, seu relatório levará um tempo inaceitavelmente longo para ser executado.
- Enquanto o banco de dados estiver verificando sua tabela, sua instância ficará lenta ou até mesmo indisponível porque outras consultas não poderão obter os recursos de que precisam.
Se você precisar relatar em uma tabela do sistema, poderá adicioná-la à propriedade glide.ui.permitted_tables. Navegar até e localize a propriedade rotulada como Lista de tabelas do sistema (começando com "sys_", separadas por vírgula), que são passíveis de relatório. Por padrão, as tabelas do sistema não são reportáveis. Prossiga com cuidado.