Pregunta

Tengo una base de datos usando dos grupos de archivos.Llamemos a ellos primarios y FG1.Todos los datos fueron originalmente en primaria y luego se movieron para estar en FG1.Esto se logró moviendo los índices agrupados a FG1.Los otros índices se eliminaron y se recrearon sin especificar un grupo de archivos, pero FG1 se definió como predeterminado para que ahora estén efectivamente en FG1.

Sin embargo, el archivo de primario todavía se llena a lo largo del tiempo.

¿Cómo puedo encontrar el tipo de cosas que permanece en primaria, incluido su tamaño? Mi objetivo es realmente llegar a todo a FG1 para que la primaria ya no se llena.

¿Fue útil?

Solución

Aquí hay un script que enumera todos los objetos y todos los índices en todos los grupos de archivos:
http://gallery.technet.microsoft.com/scriptcenter/c7483555-CC22-4F6C-B9C4-90811EB3BDB6

-- List all Objects and Indexes 
-- per Filegroup / Partition and Allocation Type 
-- including the allocated data size 
SELECT DS.name AS DataSpaceName 
  ,AU.type_desc AS AllocationDesc 
  ,AU.total_pages / 128 AS TotalSizeMB 
  ,AU.used_pages / 128 AS UsedSizeMB 
  ,AU.data_pages / 128 AS DataSizeMB 
  ,SCH.name AS SchemaName 
  ,OBJ.type_desc AS ObjectType       
  ,OBJ.name AS ObjectName 
  ,IDX.type_desc AS IndexType 
  ,IDX.name AS IndexName 
FROM sys.data_spaces AS DS 
 INNER JOIN sys.allocation_units AS AU 
     ON DS.data_space_id = AU.data_space_id 
 INNER JOIN sys.partitions AS PA 
     ON (AU.type IN (1, 3)  
         AND AU.container_id = PA.hobt_id) 
        OR 
        (AU.type = 2 
         AND AU.container_id = PA.partition_id) 
 INNER JOIN sys.objects AS OBJ 
     ON PA.object_id = OBJ.object_id 
 INNER JOIN sys.schemas AS SCH 
     ON OBJ.schema_id = SCH.schema_id 
 LEFT JOIN sys.indexes AS IDX 
     ON PA.object_id = IDX.object_id 
        AND PA.index_id = IDX.index_id 
ORDER BY DS.name 
    ,SCH.name 
    ,OBJ.name 
    ,IDX.name

Gracias @ Raphaël Althaus para el enlace en los comentarios sobre la pregunta.

Con respecto al segundo punto en mi pregunta, no pude mover los objetos restantes de la primaria, ya que son datos LOB.Según la documentación de Crear tabla , "El almacenamiento de cualquier columna grandeLos datos especificados en la tabla Crear no se pueden alterar posteriormente ".Mala suerte.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top