Publicidad

SQL Server buscar objetos con sp_msforeachdb y sp_msforeachtable


Por Alex el 19/03/2011 , Comentar el artículo

Comparte este artículo:      




Cuando nos encontramos con la necesidad de hacer acciones recursivas en bases de datos o tablas tenemos las stored procedures no documentadas sp_msforeach…. sp_msforeachdb, sp_msforeachtable, con las que podemos recorrer las bases de datos o tablas de una base de datos y realizar acciones.


Por ejemplo, queremos listar el total de registros de todas las tablas de una base de datos, ejecutamos:

sp_msforeachtable @command1='USE pubs;SELECT count(*) as ''?'' FROM ?'
SQL Server

O por ejemplo queremos buscar la tabla “authors” y no sabemos en que base de datos esta y tenemos N bases de datos, entonces podemos ejecutar esta sentencia:

sp_msforeachdb @command1='USE ?;SELECT * FROM INFORMATION_SCHEMA.Tables Where TABLE_NAME = ''authors'''
Que recorrerá todas las bases de datos buscando la tabla “perdida”.

SQL Server

Estos son dos ejemplos de lo que podemos hacer con estas dos Stored Procedures de Sistema

Y esto es todo, feliz programming!!
Saludos
Alex.



Si te ha gustado el artículo compartelo en:      




Añadir un comentarios:

Nombre:
Email: (no se publica el email)




SIGUENOS EN

ARCHIVO

Publicidad

.