DBCC SHRINKFILE

25/01/2007 - 11:43 por MJose | Informe spam
Hola a todos!,
os explico mi problema,
resulta que tengo una bdd que ocupa 40GB.
De hecho hemos empezado ahora a realizar filegroup con límite en .ndf's de
no mas de 4gb .
Lo que queremos hacer ahora es dividir el .mdf de 40GB . Probé con DBCC
SHRINKFILE con opcion EMPTYFILE en entorno de pruebas pero traspasó sólo
parte de info. a los .ndf's. Tampoco tengo muy claro si esto funciona para
los .mdf , es decir, no se si puede vaciar mdf tan alegremente y crear uno
nuevo.
¿me podriais ayudar?.
¿cual seria el mejor método para dividir el fichero?.
También he estado pensando en crear otra bdd y realizar exportación de
tablas objetos... pero no se como puede afectar a los index
Maria Jose.

Preguntas similare

Leer las respuestas

#6 MJose
31/01/2007 - 10:46 | Informe spam
hola Alejandro.
primero de todo disculpas por el retraso , últimamente estoy liada con
varios temas y ya se sabe.

- Por que no nos explicas mejor lo que estas tratando de hacer?
La intención es reducir tamaño de mdb ubicando parte de contenido tablas… en ndf’s.





- Cual es la configuracion de discos que tienes?
RAID 5





- Donde vas a poner el log de transacciones (en que disco)?
Log de transacciones y bdd en la actualidad están ubicados en mismo disco y unidad logica.





- Donde tienes la db [tempdb] (en que disco)?
En el mismo y misma unidad lógica.





-Tienes RAID y de que tipo?
RAID 5

¿crees que cambiando la ubicación de log de tran. Y tempdb a otra unidad se mejoraría en rendimiento?.




Como te comenté, a parte de querer distribuir los datos del mdb actual, la
gran problemática es que tenemos grandes problemas de rendimiento.

Una vez más muchas gracias por tu ayuda.
MJ.


"Alejandro Mesa" wrote:

MJose,

> sobre la división del fichero estoy viendo que quizas la mejor forma es
> importando tablas , objetos... en una nueva bdd con filegroup definido.
> tu que crees.

- Por que no nos explicas mejor lo que estas tratando de hacer?
- Cual es la configuracion de discos que tienes?
- Donde vas a poner el log de transacciones (en que disco)?
- Donde tienes la db [tempdb] (en que disco)?
- Tienes RAID y de que tipo?

Dices que tienes una db cuyo tamaño es de 40 GB y que quieres crear mas
grupo de archivos para distribuir la data entre ellos. Creastes otros
filegroups y estas tratando de repartir la data. Claro esta que el metodo que
has escogido para repartir la data no es el apropiado (DBCC SHRINKFILE
EMPTYFILE no reparte la data entre diferentes filegroups, sino que se usa
para limpiar un file dentro de un filegroup repartiendo su data entre los
otros files de ese filegroup). En tu caso, puedes repartir data moviendo los
indices clustered de un filegroup a otro y / o recreando los indices
nonclustered para mover indices (solo nonclustered).

Aca te paso un link hacia un articulo de Alberto Grande, gran colaborador de
este grupo, aunque ausente desde hace un tiempo.

Mover índices no clustered a otro filegroup
http://www.configuracionesintegrale...articulo28

Para mover indices clustered (esto movera la tabla), usa "create index" con
la opcion "with DROP_EXISTING" y especifica en nuevo file group donde deseas
ponerlo.


AMB

"MJose" wrote:

> gracias por tu ayuda Alejandro.
> sobre la división del fichero estoy viendo que quizas la mejor forma es
> importando tablas , objetos... en una nueva bdd con filegroup definido.
> tu que crees.
>
>
> "Alejandro Mesa" wrote:
>
> > MJose,
> >
> > > 1) para mayor manejabilidad, restore backup en entorno de pruebas.
> >
> > Eso es cierto, pero el tamaño actual (40GB) no se considera gran tamaño para
> > una db. Has probado hacer backups diferenciales despues de un full backup?
> >
> > > 2) tenemos grandes problemas de rendimiento y creemos que la división podria
> > > ayudar aunque yo aquí tengo mis dudas.
> >
> > Esto puede ayudar, siempre y cuando los grupos de archivo (filegroups) se
> > encuentren en juegos de disco diferentes. Si tienes los grupos en el mismo
> > juego de discos, entonces no habra mejora alguna por esta parte.
> >
> >
> > AMB
> >
> >
> > "MJose" wrote:
> >
> > >
> > > básicamente por dos cuestiones
> > > 1) para mayor manejabilidad, restore backup en entorno de pruebas.
> > > 2) tenemos grandes problemas de rendimiento y creemos que la división podria
> > > ayudar aunque yo aquí tengo mis dudas.
> > >
> > >
> > >
> > > "Alejandro Mesa" wrote:
> > >
> > > > MJose,
> > > >
> > > > Por que no nos cuentas primero el por que quieres hacer esta division?
> > > >
> > > >
> > > > AMB
> > > >
> > > > "MJose" wrote:
> > > >
> > > > > Hola a todos!,
> > > > > os explico mi problema,
> > > > > resulta que tengo una bdd que ocupa 40GB.
> > > > > De hecho hemos empezado ahora a realizar filegroup con límite en .ndf's de
> > > > > no mas de 4gb .
> > > > > Lo que queremos hacer ahora es dividir el .mdf de 40GB . Probé con DBCC
> > > > > SHRINKFILE con opcion EMPTYFILE en entorno de pruebas pero traspasó sólo
> > > > > parte de info. a los .ndf's. Tampoco tengo muy claro si esto funciona para
> > > > > los .mdf , es decir, no se si puede vaciar mdf tan alegremente y crear uno
> > > > > nuevo.
> > > > > ¿me podriais ayudar?.
> > > > > ¿cual seria el mejor método para dividir el fichero?.
> > > > > También he estado pensando en crear otra bdd y realizar exportación de
> > > > > tablas objetos... pero no se como puede afectar a los index
> > > > > Maria Jose.
> > > > >
Respuesta Responder a este mensaje
#7 MJose
31/01/2007 - 11:57 | Informe spam
Se me olvidó comentarte:
Para mover indices clustered (esto movera la tabla), usa "create index" con
la opcion "with DROP_EXISTING" y especifica en nuevo file group donde deseas
ponerlo.

Mover índices no clustered a otro filegroup
http://www.configuracionesintegrale...articulo28



para ambos temas ¿podria utilizar asistente de exportación/importación
tablas?.

Gracias,
MJ.


"Alejandro Mesa" wrote:

MJose,

> sobre la división del fichero estoy viendo que quizas la mejor forma es
> importando tablas , objetos... en una nueva bdd con filegroup definido.
> tu que crees.

- Por que no nos explicas mejor lo que estas tratando de hacer?
- Cual es la configuracion de discos que tienes?
- Donde vas a poner el log de transacciones (en que disco)?
- Donde tienes la db [tempdb] (en que disco)?
- Tienes RAID y de que tipo?

Dices que tienes una db cuyo tamaño es de 40 GB y que quieres crear mas
grupo de archivos para distribuir la data entre ellos. Creastes otros
filegroups y estas tratando de repartir la data. Claro esta que el metodo que
has escogido para repartir la data no es el apropiado (DBCC SHRINKFILE
EMPTYFILE no reparte la data entre diferentes filegroups, sino que se usa
para limpiar un file dentro de un filegroup repartiendo su data entre los
otros files de ese filegroup). En tu caso, puedes repartir data moviendo los
indices clustered de un filegroup a otro y / o recreando los indices
nonclustered para mover indices (solo nonclustered).

Aca te paso un link hacia un articulo de Alberto Grande, gran colaborador de
este grupo, aunque ausente desde hace un tiempo.

Mover índices no clustered a otro filegroup
http://www.configuracionesintegrale...articulo28

Para mover indices clustered (esto movera la tabla), usa "create index" con
la opcion "with DROP_EXISTING" y especifica en nuevo file group donde deseas
ponerlo.


AMB

"MJose" wrote:

> gracias por tu ayuda Alejandro.
> sobre la división del fichero estoy viendo que quizas la mejor forma es
> importando tablas , objetos... en una nueva bdd con filegroup definido.
> tu que crees.
>
>
> "Alejandro Mesa" wrote:
>
> > MJose,
> >
> > > 1) para mayor manejabilidad, restore backup en entorno de pruebas.
> >
> > Eso es cierto, pero el tamaño actual (40GB) no se considera gran tamaño para
> > una db. Has probado hacer backups diferenciales despues de un full backup?
> >
> > > 2) tenemos grandes problemas de rendimiento y creemos que la división podria
> > > ayudar aunque yo aquí tengo mis dudas.
> >
> > Esto puede ayudar, siempre y cuando los grupos de archivo (filegroups) se
> > encuentren en juegos de disco diferentes. Si tienes los grupos en el mismo
> > juego de discos, entonces no habra mejora alguna por esta parte.
> >
> >
> > AMB
> >
> >
> > "MJose" wrote:
> >
> > >
> > > básicamente por dos cuestiones
> > > 1) para mayor manejabilidad, restore backup en entorno de pruebas.
> > > 2) tenemos grandes problemas de rendimiento y creemos que la división podria
> > > ayudar aunque yo aquí tengo mis dudas.
> > >
> > >
> > >
> > > "Alejandro Mesa" wrote:
> > >
> > > > MJose,
> > > >
> > > > Por que no nos cuentas primero el por que quieres hacer esta division?
> > > >
> > > >
> > > > AMB
> > > >
> > > > "MJose" wrote:
> > > >
> > > > > Hola a todos!,
> > > > > os explico mi problema,
> > > > > resulta que tengo una bdd que ocupa 40GB.
> > > > > De hecho hemos empezado ahora a realizar filegroup con límite en .ndf's de
> > > > > no mas de 4gb .
> > > > > Lo que queremos hacer ahora es dividir el .mdf de 40GB . Probé con DBCC
> > > > > SHRINKFILE con opcion EMPTYFILE en entorno de pruebas pero traspasó sólo
> > > > > parte de info. a los .ndf's. Tampoco tengo muy claro si esto funciona para
> > > > > los .mdf , es decir, no se si puede vaciar mdf tan alegremente y crear uno
> > > > > nuevo.
> > > > > ¿me podriais ayudar?.
> > > > > ¿cual seria el mejor método para dividir el fichero?.
> > > > > También he estado pensando en crear otra bdd y realizar exportación de
> > > > > tablas objetos... pero no se como puede afectar a los index
> > > > > Maria Jose.
> > > > >
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida