Como descobrir em que base de dados se encontra um objecto do qual sabemos o nome? (SQL Server)

Published Thu, Mar 10 2011 16:40 | Alberto Silva

Há tempos criei um objecto a partir de um script T-SQL no SQL Server Management Console, numa janela de 'New Query'. Na altura não reparei que essa janela não estava a apontar para a base de dados pretendida, e agora, semanas depois, não conseguia descobrir a que base de dados daquela instância teria ido parar.

A resolução foi simples, utilizando uma stored procedure interna não documenta do SQL Server, a sp_MSforeachdb, corri o seguinte comando...

 

Exec sp_MSforeachdb 'Select * From ?..sysobjects where name = ''nome do meu objecto'' '

 

...e depois foi só procurar no meio dos resultados! Encontrado um resultado, o output não exibia o nome da base de dados onde se encontrava... uma pequena alteração, et voila!

 

Exec sp_MSforeachdb 'Select ''?'', * From ?..sysobjects where name = ''nome do meu objecto'' '

 

Também se pode utilizar o operador LIKE caso se saiba apenas uma parte do nome a procurar, podendo filtrar adicionalmente por campos da sysobjects para por ex. restringir os resultados a um tipo de objectos.

Filed under:

Leave a Comment

Name:  
Website:
If you can't read this number refresh your screen
Enter the numbers above:  

Search

This Blog

Tags

Community

Archives

News

  • Você escolheu um software de gestão que se adapta ao seu negócio... Porque há-de deixar que lhe imponham uma solução de mobilidade para as suas forças de venda? Contacte a moving2u e teremos todo o prazer em lhe apresentar as nossas soluções!


    Grab this badge here!

Eventos

Desenvolvimento .net CF

Mobilidade em Português...

Sobre mim...

Syndication

Email Notifications