Sql Server tiene un procedimiento almacenado no documentado llamado sp_MSforeachtable que nos permite pasarle un comando a todas las tablas que tenemos en una base de datos. En 8 common uses of undocumented Stored Procedure sp_MSforeachtable muestran una lista de 8 operaciones que podemos realizar de forma muy sencilla gracias a este procedimiento almacenado. Algunos de ellos:
Saber el tamaño utilizado por todas las tablas
USE NORTHWIND
EXEC sp_MSforeachtable @command1="EXEC sp_spaceused '?'"
Reconstruir todos los índices
USE YOURDBNAME
EXEC sp_MSforeachtable @command1="print '?' DBCC DBREINDEX ('?', ' ', 80)"
Desactivar todas las restricciones de todas las tablas
USE YOURDBNAME
EXEC sp_MSforeachtable @command1="ALTER TABLE ? NOCHECK CONSTRAINT ALL"
Desactivar todos los triggers de todas las tablas
USE YOURDBNAME
EXEC sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL'
Saber el tamaño utilizado por todas las tablas
USE NORTHWIND
EXEC sp_MSforeachtable @command1="EXEC sp_spaceused '?'"
Reconstruir todos los índices
USE YOURDBNAME
EXEC sp_MSforeachtable @command1="print '?' DBCC DBREINDEX ('?', ' ', 80)"
Desactivar todas las restricciones de todas las tablas
USE YOURDBNAME
EXEC sp_MSforeachtable @command1="ALTER TABLE ? NOCHECK CONSTRAINT ALL"
Desactivar todos los triggers de todas las tablas
USE YOURDBNAME
EXEC sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL'
No hay comentarios:
Publicar un comentario