Principais Tabelas do Protheus SYS_COMPANY, SYS_USR, SYS_GRP_GROUP após migração para o Banco de Dados SQL Server

Principais Tabelas do sistema Protheus apos migração para o banco de dados

O sistema Protheus, desenvolvido pela Totvs, é amplamente utilizado para a gestão empresarial em diversos segmentos de mercado. Um dos pilares desse sistema é o seu banco de dados robusto, que armazena todas as informações necessárias para o funcionamento dos módulos, desde dados financeiros até informações sobre usuários e permissões.

Neste artigo, vamos explorar algumas das principais tabelas do Protheus no banco de dados SQL Server, como a SYS_COMPANY (antiga SIGAMAT.emp), SYS_USR, SYS_GRP_GROUP, e a tabela de PROFILE. Compreender essas tabelas é essencial para administradores de sistemas e DBAs que precisam realizar consultas, auditorias ou manutenções no ambiente Protheus.

1. Tabela SYS_COMPANY

A tabela SYS_COMPANY é responsável por armazenar as informações referentes às empresas cadastradas no sistema. Cada linha nesta tabela representa uma empresa distinta, com seus respectivos dados, como nome, CNPJ, endereço, entre outros. Esta tabela é fundamental para ambientes que possuem múltiplas empresas registradas no mesmo sistema Protheus.

Estrutura Básica da Tabela:

Nome do CampoTipo de DadoDescrição
COMPANY_IDINTIdentificador único da empresa
COMPANY_NAMEVARCHAR(100)Nome da empresa
COMPANY_CNPJVARCHAR(20)CNPJ da empresa
COMPANY_ADDRESSVARCHAR(255)Endereço da empresa
COMPANY_STATUSCHAR(1)Status da empresa (A=Ativo, I=Inativo)

Exemplo de Consulta:

Para listar todas as empresas ativas no sistema, você pode executar a seguinte consulta SQL:

sql
SELECT COMPANY_ID, COMPANY_NAME, COMPANY_CNPJ, COMPANY_ADDRESS
FROM SYS_COMPANY
WHERE COMPANY_STATUS = 'A';

Essa consulta retorna todas as empresas ativas, com seus respectivos nomes, CNPJs e endereços.

2. Tabela SYS_USR

A tabela SYS_USR contém as informações dos usuários do sistema Protheus. Nessa tabela, estão armazenados dados como o login do usuário, nome completo, e-mail, status e o grupo ao qual o usuário pertence.

Estrutura Básica da Tabela:

Nome do CampoTipo de DadoDescrição
USR_IDINTIdentificador único do usuário
USR_LOGINVARCHAR(50)Nome de login do usuário
USR_NAMEVARCHAR(100)Nome completo do usuário
USR_EMAILVARCHAR(100)E-mail do usuário
USR_STATUSCHAR(1)Status do usuário (A=Ativo, I=Inativo)
USR_GRP_IDINTIdentificador do grupo ao qual pertence

Exemplo de Consulta:

Para listar todos os usuários ativos no sistema, você pode utilizar a seguinte consulta:

sql
SELECT USR_ID, USR_LOGIN, USR_NAME, USR_EMAIL
FROM SYS_USR
WHERE USR_STATUS = 'A';

Essa consulta retornará uma lista de todos os usuários que estão ativos no Protheus, com seus logins, nomes e e-mails.

3. Tabela SYS_GRP_GROUP

A tabela SYS_GRP_GROUP armazena os dados dos grupos de usuários no Protheus. Os grupos são utilizados para organizar usuários que compartilham das mesmas permissões ou funções no sistema, facilitando a gestão de acessos e permissões.

Estrutura Básica da Tabela:

Nome do CampoTipo de DadoDescrição
GRP_IDINTIdentificador único do grupo
GRP_NAMEVARCHAR(100)Nome do grupo
GRP_DESCRIPTIONVARCHAR(255)Descrição do grupo
GRP_STATUSCHAR(1)Status do grupo (A=Ativo, I=Inativo)

Exemplo de Consulta:

Para listar todos os grupos de usuários ativos no sistema Protheus, execute a seguinte consulta:

sql
SELECT GRP_ID, GRP_NAME, GRP_DESCRIPTION
FROM SYS_GRP_GROUP
WHERE GRP_STATUS = 'A';

Essa consulta exibe os grupos de usuários que estão ativos no sistema, com seus respectivos nomes e descrições.

4. Tabela de PROFILE (MP_SYSTEM_PROFILE)

A tabela MP_SYSTEM_PROFILE é crucial para o gerenciamento de permissões de acesso no Protheus. Ela define os perfis de usuário, que controlam quais funcionalidades cada grupo de usuários pode acessar dentro do sistema. O uso de perfis facilita a atribuição de permissões em larga escala, especialmente em empresas com muitos usuários.

Estrutura Básica da Tabela:

Nome do CampoTipo de DadoDescrição
PROFILE_IDINTIdentificador único do perfil
PROFILE_NAMEVARCHAR(100)Nome do perfil de acesso
PROFILE_DESCVARCHAR(255)Descrição do perfil de acesso
PROFILE_STATUSCHAR(1)Status do perfil (A=Ativo, I=Inativo)

Exemplo de Consulta:

Para listar todos os perfis de usuários ativos no sistema, utilize a seguinte consulta SQL:

sql
SELECT PROFILE_ID, PROFILE_NAME, PROFILE_DESC
FROM MP_SYSTEM_PROFILE
WHERE PROFILE_STATUS = 'A';

Com essa consulta, você terá uma lista de todos os perfis de acesso ativos, com seus nomes e descrições.

Importância das Tabelas no Gerenciamento de Acessos

As tabelas apresentadas acima desempenham papéis fundamentais na estrutura de segurança e controle do Protheus. A correta configuração de grupos, usuários e perfis é essencial para garantir que cada colaborador tenha acesso apenas às funcionalidades necessárias para o seu trabalho, mantendo a integridade e segurança do sistema.

Além disso, a auditoria frequente dessas tabelas pode ajudar a identificar possíveis falhas de segurança, como usuários inativos que ainda possuem acesso ao sistema, ou permissões incorretas atribuídas a grupos. A boa prática de gestão de acessos contribui para o cumprimento de normas de compliance, como a LGPD e outras regulamentações.

Conclusão

O conhecimento das principais tabelas do sistema Protheus, como SYS_COMPANY (antiga SIGAMAT.emp), SYS_COMPANY_CFG (antiga XX8), SYS_COMPANY_CFGIT (antiga XX9), SYS_USR, SYS_GRP_GROUP, SYS_USR_GROUPS, as tabelas de Menu (XNU) agora são as que começam com MPMENU e por fim a tabela de PROFILE (MP_SYSTEM_PROFILE), é essencial para administradores e DBAs que precisam gerenciar dados e acessos no ambiente SQL Server. Essas tabelas garantem o correto funcionamento do sistema e facilitam a gestão de múltiplos usuários e empresas no mesmo ambiente.

Ao entender a estrutura dessas tabelas e saber como utilizá-las, é possível realizar consultas eficientes, otimizar a gestão de acessos e garantir que o sistema esteja sempre em conformidade com as melhores práticas de segurança.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *