Compatibility Views & Catalog Views

Alguma vez voc j parou para pensar em como as functions,procedures, constraints, etcficam armazenadas no banco? Onde fica a definio dos objetos?

No SQL Server 2000 existia uma tabela de sistema chamada syscomments. Essa tabela retornava 1 linha a cada 4000 caracteres que tivesse a definio do objeto.

Por exemplo, vejam o resultado da consulta abaixo:

 

Notem que eu tenho 3 objetos retornados, porm para “montar” a procedure, eu preciso ler as 8 linhas retornadas.

A partir do SQL Server 2005, muitas tabelas de sistemas se tornaram views, com o objetivo de manter a compatibilidade com sistemas legados (Compatibility Views) e elas no devem mais ser utilizadas em novas implementaes, pois foram substitudas pelas Catalog Views. So elas que apresentam os metadados dos objetos criados dentro do SQL Server. E por objetos, nesse caso, entenda como: Tabelas, funes, procedures, etc…

As views que retornam as definies so:

  • sql_modules: retorna as definies de Procedures, Views, Functions, Triggers…
  • default_constraints: Como o prrprio nome diz, retorna as definies das constraints default criadas.
  • check_constraints: Retorna as definies das check constraints

Seguem algumas consultas para verificar a definio de alguns objetos:

Lembrando que: Quando alguma definio estiver como NULL, porque o objeto em questo foi criado com a opoWITH ENCRYPTION.

Espero que tenham gostado!

[]’s!

Fontes:

Deixe um comentário

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

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.