sábado, 25 de marzo de 2017

Limpiar registros de todas las tablas de una base de datos SQL SERVER

Posted by InfoTacticas Soluciones  |  No comments

En el blog de AprendeBI vi una entrada muy interesante que comparto a continuación donde proporcionan un script para hacer truncate a todas las tablas de la base de datos de una sola vez, en lugar de hacerlo tabla por tabla, para ello primero deshabilitan el chequeo de los constraints y deshabilitan los triggers, luego aplican el truncate table o delete a todas las tablas de la base de datos, y después de esto recien vuelven a habilitan elchequeo de constraints y los triggers de las tablas.

A continuación dejo el enlace del sitio y el script que allí emplean.
https://aprendebi.wordpress.com/2016/11/03/limpiar-data-de-tablas-de-una-base-de-datos/



EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
GO

EXEC sp_MSForEachTable 'ALTER TABLE ? DISABLE TRIGGER ALL'
GO

EXEC sp_MSForEachTable

'BEGIN TRY
   TRUNCATE TABLE ?
END TRY

BEGIN CATCH
   DELETE FROM ?
END CATCH;'

EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
GO

EXEC sp_MSForEachTable 'ALTER TABLE ? ENABLE TRIGGER ALL'
GO

3/25/2017 05:22:00 p. m. Share:

0 comentarios:

back to top