Tengo un problema que llevo tiempo intentando solucionar, pero esta
llegando a un punto que es totalmente inviable.
Actualmente tengo una DB que ocupa 6,5 GB de los cuales 4.4 GB los
ocupa el espacio reservado de una tabla. He intentado con un DBCC
REINDEX y UN SHRINK a la DB, pero sigue igual.
¿Alguién puede ayudarme?
Muchas gracias por todo.
PD: A continuación escribo un resumen del SP_SPACEUSED
DB
RESERVED DATA INDEX SIZE UNNUSED
7438768 KB 2161096 KB 287656 KB 4990016 KB
TABLA
ROWS RESERVED DATA
INDEX_SIZE UNNUSED
Historico 548773 4443264 KB 557480 KB 14744 KB 3871040
KB
EXEC sp_spaceused 'dbo.historico', @updateusage = 'True';
GO
2 - Si no cambia el valor, entonces significa que por alguna razon SQL
Server no esta liberando el espacio no usado.
2.a - Tienes un indice clustered en esa tabla?
Si no tienes, entonces deberias crearlo para que SQL Server pueda
manejar mejor el espacio no usado.
2.b - Haz eliminado alguna columna de tamanio variable en esa tabla?
Si es asi, entonces prueba con el comando "dbcc cleantable"
DBCC CLEANTABLE (tu_db,"dbo.historico", 0)
WITH NO_INFOMSGS;
GO
AMB
La base de datos a la que hace referencia es la DB de un programa por
lo que no se exactamente que es lo que ha podido pasarle.
He probado el comando sp_spaceused que me comentas en el punto 1 y el
comando DBCC CELANTABLE que me comentas en el punto 2.b y sigue
exactamente igual que al principio. No he probado el 2.a por que no se
a que te refieres con el indice clustered.
Muchas gracias por tu ayuda.
USE tu_db;
GO
EXEC sp_helpindex 'dbo.historico';
GO
AMB
INDEX_NAME INDEX
DESCRIPTION
INDEX_KEYS
PK_Historico nonclustered, unique, primary key located on
PRIMARY IdOrden, IdAlmacen
Muchisimas gracias por tu ayuda.
Si esta tabla guarda datos historicos, de seguro tendras alguna columna tipo
datetime en la que guardes la fecha/hora de la transaccion o la orden. esta
columna pudiera ser una buena candidata para crear el indice clustered.
create clustered index idx_historico_FechaOrden_c
on dbo.historico(FechaOrden);
go
Yo no se que tipo de operacion realizas sobre esta tabla
(insert/update/delete) ni con que frecuencia asi que no puedo sugerir el
valor de fillfactor para este indice.
Ejecuta el procedimiento sp_spaceused despues de haber creado el indice
clustered y dinos que pasa.
AMB
Muchísimas gracias por tu ayuda, gracias a lo que me has dicho parece
ser que se ha solucionado el problema, actualmente los datos que me
devuelve el SPACEUSED son los siguientes
Name Rows Reserved
Data Index_size Unnused
Historico 538424 28096
16944 11104 48
Asimismo aprovecho la ocasión para que me recomiendes algún manual
sobre SQL SERVER ya que veo que estoy muy verde en el tema.
Muchas gracias por tu inestimable ayuda
AMB
En cuanto a libros, yo te recomiendo la linea de "Inside Microsoft SQL
Server ...". Tienes para 2005 y 2008.
Microsoft® SQL Server® 2008 Internals
http://www.amazon.com/Microsoft%C2%AE-SQL-Server%C2%AE-2008-Internals/dp/0735626243/ref=pd_bxgy_b_text_b
Microsoft® SQL Server® 2008 T-SQL Fundamentals
http://www.amazon.com/Microsoft%C2%AE-Server%C2%AE-T-SQL-Fundamentals-PRO-Developer/dp/0735626014/ref=pd_bxgy_b_text_c
Inside Microsoft® SQL Server® 2008: T-SQL Querying
http://www.amazon.com/Inside-Microsoft%C2%AE-SQL-Server%C2%AE-2008/dp/0735626030/ref=pd_sim_b_2
-- Este no ha salido aun, pero lo hara pronto
Inside Microsoft® SQL Server® 2008: T-SQL Programming
Si todavia trabajas con la version 2005, entonces te recomiendo estos para
aprender sobre como funciona SQL Server y como tunearlo.
Inside Microsoft SQL Server(TM) 2005: The Storage Engine
http://www.amazon.com/Inside-Microsoft-SQL-Server-2005/dp/0735621055/ref=pd_bxgy_b_text_b
Inside Microsoft® SQL Server(TM) 2005: Query Tuning and Optimization
http://www.amazon.com/Inside-Microsoft%C2%AE-SQL-Server-2005/dp/0735621969/ref=pd_bxgy_b_text_c
Microsoft SQL Server 2005 Unleashed
http://www.amazon.com/Microsoft-SQL-Server-2005-Unleashed/dp/0672328240/ref=pd_sim_b_13
Microsoft® SQL Server(TM) 2005 Administrator's Companion
http://www.amazon.com/Microsoft%C2%AE-Server-2005-Administrators-Companion/dp/0735621985/ref=pd_sim_b_2
Uno mas que considero muy importante y son los libros en linea. El team de
documentacion ha hecho un magnifico trabajo y creo que debe ser el primer
lugar donde buscar sobre topicos de importancia.
AMB