Identificar que tablas contiene cada archivo de datos de una BD

11/07/2008 - 00:49 por Emerson | Informe spam
Hola A Todos:
Resulta que tengo una BD, que esta conformado por un archivo de dato
principal(.mdf) y 2 archivos de datos secundarios(.ndf) y sus respectivos
archivos .log, mi consulta es como puedo saber que tablas contiene cada
archivo de datos, o sea qeu tablas estan en el archivo .mdf, y que tablas
estan en los .ndf de dicha BD, para ellos poder organizarlos mejor ya que se
ha dejado de llevar dicho control, o en su defecto poder juntar todas las
tablas en un archivo de datos(el principal .mdf), me imagino que si esa
fuera mi intencion me dirian entonces, para que quiero saber que talbas
estan en cada ndf, me bastaria solo con redireccionar a todas las tablas al
archivo principal (mdf), en realidad me gustaria saber como puedo saber qeu
tablas estan en que archivo de datos(sean principal o secundarios) y como
podria cambiar de archivos de datos, asi al tomar uan decicion cualqueira
saber como poder hacerla.

*Uso SQL 2000 SP4, Win2003 Server.

P.D.: y si podrian postear la forma de hacerlo con SQL 2005 seria genial,
asi tenerlo presente para futuras migraciones.

Gracias de antemano a todos.
 

Leer las respuestas

#1 Maxi Accotto
11/07/2008 - 01:31 | Informe spam
Hola, una opcion es usar el procedimiento almacenado

sp_objectfilegroup y el id del objeto que internamente hace esto

if exists (select * from sysobjects
where id = @objid
and type in ('S ','U '))
begin
select Data_located_on_filegroup = s.groupname
from sysfilegroups s, sysindexes i
where i.id = @objid
and i.indid < 2
and i.groupid = s.groupid
end




Saludos
Maxi Accotto
Microsoft MVP en SQLServer
SQltotalconsulting
-

"Emerson" escribió en el mensaje de
noticias:
Hola A Todos:
Resulta que tengo una BD, que esta conformado por un archivo de dato
principal(.mdf) y 2 archivos de datos secundarios(.ndf) y sus respectivos
archivos .log, mi consulta es como puedo saber que tablas contiene cada
archivo de datos, o sea qeu tablas estan en el archivo .mdf, y que tablas
estan en los .ndf de dicha BD, para ellos poder organizarlos mejor ya que
se ha dejado de llevar dicho control, o en su defecto poder juntar todas
las tablas en un archivo de datos(el principal .mdf), me imagino que si
esa fuera mi intencion me dirian entonces, para que quiero saber que
talbas estan en cada ndf, me bastaria solo con redireccionar a todas las
tablas al archivo principal (mdf), en realidad me gustaria saber como
puedo saber qeu tablas estan en que archivo de datos(sean principal o
secundarios) y como podria cambiar de archivos de datos, asi al tomar uan
decicion cualqueira saber como poder hacerla.

*Uso SQL 2000 SP4, Win2003 Server.

P.D.: y si podrian postear la forma de hacerlo con SQL 2005 seria genial,
asi tenerlo presente para futuras migraciones.

Gracias de antemano a todos.

Preguntas similares