Borrar todas las tablas vacías de SQL Server de forma automática

By | 16/11/2017

El siguiente código TSQL genera un script para borrar aquellas tablas con 0 filas:

 

DECLARE @sql NVARCHAR(MAX)
SET @sql  = ''
SELECT @sql = @sql + 'IF OBJECT_ID(''' + o.name + ''') IS NOT NULL DROP TABLE ' + o.name + CHAR(10)
FROM sysobjects o,sysindexes i 
WHERE 
(
    o.type = 'U'
    and o.id = i.id
    and i.indid in (0,1)
    and i.rows = 0
)order by o.name
PRINT @sql