Dicas SQL Server

SQL Server – Consulta que mostra chaves estrangeiras e relacionamentos de cada tabela.

Dicas SQL Server

Conheça o Script SQL Server que mostra as chaves estrangeiras e relacionamentos das tabelas no seu banco de dados.

Hoje vou mostrar a vocês mais um script que uso para fins de documentação de ambientes. Uma consulta que mostra as chaves estrangeiras e relacionamentos de todas as tabelas do seu banco de dados.

Para obter essa informação basta executar o seguinte script:

SELECT ForeignKeys.NAME                           [ForeignKeyName], 
       PrimaryKeyTable.NAME                       [PrimaryTableName], 
       PrimaryKeyColumn.NAME                      [PrimaryColumnName], 
       ForeignKeyTable.NAME                       [ReferenceTableName], 
       ForeignKeyColumn.NAME                      [ReferenceColumnName], 
       ForeignKeys.update_referential_action_desc [UpdateAction], 
       ForeignKeys.delete_referential_action_desc [DeleteAction] 
FROM   sys.foreign_keys ForeignKeys 
       JOIN sys.foreign_key_columns ForeignKeyRelationships 
         ON ( ForeignKeys.object_id = 
              ForeignKeyRelationships.constraint_object_id ) 
       JOIN sys.tables ForeignKeyTable 
         ON ForeignKeyRelationships.parent_object_id = ForeignKeyTable.object_id 
       JOIN sys.columns ForeignKeyColumn 
         ON ( ForeignKeyTable.object_id = ForeignKeyColumn.object_id 
              AND ForeignKeyRelationships.parent_column_id = 
            ForeignKeyColumn.column_id ) 
       JOIN sys.tables PrimaryKeyTable 
         ON ForeignKeyRelationships.referenced_object_id = 
            PrimaryKeyTable.object_id 
       JOIN sys.columns PrimaryKeyColumn 
         ON ( PrimaryKeyTable.object_id = PrimaryKeyColumn.object_id 
              AND ForeignKeyRelationships.referenced_column_id = 
                  PrimaryKeyColumn.column_id ) 
ORDER  BY ForeignKeys.NAME 

FK SQL Server List

Como vocês podem ver na primeira coluna está o nome da chave estrangeira, na segunda coluna o nome da tabela primária, na terceira coluna o nome da coluna na tabela primária, na quarta coluna o nome da tabela referenciada e na quinta coluna o nome da coluna na tabela referenciada.

Uma informação importante é, saber se esses relacionamentos sofrem alguma ação de integridade referencial em cascata e saber quais ações são essas.

SQL Server – Consulta que mostra chaves estrangeiras e relacionamentos de cada tabela.
The following two tabs change content below.

Wesley Mota

DBA SQL Server
Profissional graduado em Banco de Dados e Sistemas de Informação com mais de 7 anos de experiência em empresas de software. Certificado MCSA Microsoft SQL Server possui intensa vivência em administração de banco de dados, Tunning, Performance SQL Server, levantamento de melhorias e monitoramento de banco de dados e servidores SQL Server. Consultoria SQL Server em diversos clientes no Brasil e ao redor do mundo. Escritor no blog dbasqlserverbr.com.br/blog. Onde compartilha conhecimento, experiências e dicas de performance para DBAs SQL Server. Conhecimentos em Oracle e ambientes de alta disponibilidade. Desenvolvimento de softwares web e mobile.Gerenciamento de equipe e projetos.

Latest posts by Wesley Mota (see all)