mramos

Miembro Activo
Se incorporó
11 Diciembre 2014
Mensajes
14
Estimados amigos de la comunidad:

Junto con saludarlos , Me gustaria saber si alguien me puede aclarar la siguiente consulta.

Tengo una base de datos en SQL 2008 R2 lo cual estoy con problemas de espacio,en consecuencia empezé a borrar tablas que ya no estan siendo utilizadas, pero al revisar el peso de la base propiamente tal se sigue manteniendo igual a como estuvo antes de las tablas que borré

Saben como puedo liberar el espacio de las tablas que ya eliminé?

Muchas Gracias
 

mramos

Miembro Activo
Se incorporó
11 Diciembre 2014
Mensajes
14
El recovery de la base de datos ya esta en simple y tambien limpie el log pero no pasa nada :(
 
Upvote 0

fercas

Papá de Fercas JR
Se incorporó
11 Junio 2005
Mensajes
741
que instrucción estas usando para borrar las tablas? truncate o delete?

Lo otro, dinos cual es el tamaño de la base y el log.
Saludos,
Fer
 
Upvote 0

mramos

Miembro Activo
Se incorporó
11 Diciembre 2014
Mensajes
14
Las tablas las borre con boton derecho , el tamaño de la base son 40 gb y el log esta en 1024 KB
 
Upvote 0

fercas

Papá de Fercas JR
Se incorporó
11 Junio 2005
Mensajes
741
y que tamaño quieres dejarla???

Si dices que borraste varias tablas y el tamaño no disminuye es porque tienes seteado el valor inicial de tamaño de la base de datos muy alto. reduce eso y debería reducir el tamaño.

Recuerda que si seteas un tamaño inicial, la base de datos toma ese valor y lo reserva del disco duro, independete si lo ocupa o no.
Eso está en propiedades de la base de datos, archivos (o files).
Saludos


edit!
Antes revisa el espacio sin uso de tu base de datos, así sabras cuanto tienes que reducir, pero ten cuidado con el seteo del autocrecimiento!!!
para ver el espacio total y el sin uso, ejecuta esto en la base "sp_spaceused"
 
Última modificación:
Upvote 0

Cosme

Gold Member
Se incorporó
27 Febrero 2005
Mensajes
8.281
con este snippet (choreado por alli) podrás ver que tabla es la que mas pesa:


Código:
SELECT 
 t.NAME AS TableName,
 i.name AS indexName,
 SUM(p.rows) AS RowCounts,
 SUM(a.total_pages) AS TotalPages, 
 SUM(a.used_pages) AS UsedPages, 
 SUM(a.data_pages) AS DataPages,
 (SUM(a.total_pages) * 8) / 1024 AS TotalSpaceMB, 
 (SUM(a.used_pages) * 8) / 1024 AS UsedSpaceMB, 
 (SUM(a.data_pages) * 8) / 1024 AS DataSpaceMB
FROM 
 sys.tables t
INNER JOIN  
 sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN 
 sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id
INNER JOIN 
 sys.allocation_units a ON p.partition_id = a.container_id
WHERE 
 t.NAME NOT LIKE 'dt%' AND
 i.OBJECT_ID > 255 AND  
 i.index_id <= 1
GROUP BY 
 t.NAME, i.object_id, i.index_id, i.name 
ORDER BY 
 (SUM(a.total_pages) * 8) / 1024 desc
Swfa6JX.png
 
Upvote 0
Subir