Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
1197
Assunto : SQL Server
Titulo: Utilizando ObjectProperty para localizar tabelas com problemas

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon





As propriedades existentes nas tabelas do SQL Server são muitas e bem flexíveis. Isso nos permite utilizar o ObjectProperty para identificar problemas no nosso banco de dados. Podemos, por exemplo, localizar tabelas que não tenham chave primária. Também podemos localizar tabelas que não tenham indice clustered.

Por exemplo, temos propriedades de tabelas que permitem identificar se a tabela estiver sem chave primária, sem clustered index, sem campo timestamp e muito mais.

Podemos utilizar a query a seguir para localizar as tabelas sem índice clustered e chave primária. Inclui ainda informação se a tabela possui identity ou timestamp:

select name,objectproperty(object_id,'TableHasClustIndex') HasClusteredIndex,
objectproperty(object_id,'TableHasPrimaryKey') HasPrimaryKey,
objectproperty(object_id,'TableHasTimestamp') HasTimeStamp,
objectproperty(object_id,'TableHasPrimaryKey') HasIdentity
from sys.objects
where objectproperty(object_id,'IsUserTable')=1

Podemos filtrar um pouco a informação, trazendo só as tabelas que não possuem indice clustered ou primary key:


with qry as
(select name,objectproperty(object_id,'TableHasClustIndex') HasClusteredIndex,
objectproperty(object_id,'TableHasPrimaryKey') HasPrimaryKey,
objectproperty(object_id,'TableHasTimestamp') HasTimeStamp,
objectproperty(object_id,'TableHasPrimaryKey') HasIdentity
from sys.objects
where objectproperty(object_id,'IsUserTable')=1)
select * from qry where HasClusteredIndex=0
or HasPrimaryKey=0

Ainda melhor: Podemos criar uma função com essa query, facilitando a busca de informações:

CREATE FUNCTION TableInformation()
RETURNS TABLE
AS
RETURN
(
select name,objectproperty(object_id,'TableHasClustIndex') HasClusteredIndex,
objectproperty(object_id,'TableHasPrimaryKey') HasPrimaryKey,
objectproperty(object_id,'TableHasTimestamp') HasTimeStamp,
objectproperty(object_id,'TableHasPrimaryKey') HasIdentity
from sys.objects
where objectproperty(object_id,'IsUserTable')=1
)


Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
Nenhum comentário foi realizado ainda. Seja o primeiro !
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br