post icon

Como borrar o truncar todos los datos de una Base de Datos

Hoy foreando un poco por el social MSDN vi un post muy útil compartido por Luis para “reiniciar” o vaciar totalmente una base de datos con muy pocas líneas de código, donde simplemente aporte una pequeña línea.

En resumen lo que el script hace es desactivar todos los constraint y triggers, luego intentar truncar todas las tablas y con las que falle procederá a eliminar todas las filas de ellas, allí es donde hice mi pequeño aporte para reiniciar los valores de las tablas que contengas campos con valores identity.

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 ?
DBCC CHECKIDENT ( ''?'', RESEED, 0)
END CATCH;'

EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
GO
EXEC sp_MSForEachTable 'ALTER TABLE ? ENABLE TRIGGER ALL'
go

Comentarios desde Facebook:

  1. avatar
    chriserc PERU Internet Explorer Windows
    27 agosto 2014 at 17:01 #

    excelente aporte

Responder