Select Into en un Filegroup

05/09/2008 - 10:19 por Ricardo Junquera | Informe spam
Hola

Tengo varios select into con un gran volumen de informacion, pero me
gustaria poder asignar a la nueva tabla creada un filegroup en concreto.

Creo que lo podría hacer cambiando el filegroup por defecto con el que me
interesa para la nueva tabla y despues ponerlo a su valor original.

¿Parece buena idea? ¿Alguna mejor?.

Un saludo
Ricardo Junquera
Consultor Business Intelligence

BG&S Online Consultores
Ganadora del Premio Microsoft Business Awards 2008.
Partner de Soluciones : Satisfacción de Cliente.

Preguntas similare

Leer las respuestas

#1 Rubén Garrigós
05/09/2008 - 13:57 | Informe spam
Hola Ricardo,

Imagino que comentas que tienes un gran volumen de información y es por lo
que necesitas realizar la operación de forma que sea mínimamente registrada
por motivos de rendimiento.

Si estuvieras en SQL Server 2008 podrías utilizar INSERT INTO sobre una
tabla HEAP que crearas previamente en el filegroup que desees. Si es el caso,
recuerda que debes indicar que quieres un TABLOCK sobre la tabla.

Con versiones anteriores una solución, que puede tener efectos colaterales,
es modificar el filegroup por defecto como comentas. Si controlas toda la
creación de objetos de tu base de datos no debería ser problema indicarles
manualmente el filegroup primary (o el que estés utilizando) para los objetos
creados que puedan concurrir con tu proceso de carga masiva.

Rubén Garrigós
Solid Quality Mentors

"Ricardo Junquera" wrote:

Hola

Tengo varios select into con un gran volumen de informacion, pero me
gustaria poder asignar a la nueva tabla creada un filegroup en concreto.

Creo que lo podría hacer cambiando el filegroup por defecto con el que me
interesa para la nueva tabla y despues ponerlo a su valor original.

¿Parece buena idea? ¿Alguna mejor?.

Un saludo
Ricardo Junquera
Consultor Business Intelligence

BG&S Online Consultores
Ganadora del Premio Microsoft Business Awards 2008.
Partner de Soluciones : Satisfacción de Cliente.

Respuesta Responder a este mensaje
#2 Ricardo Junquera
05/09/2008 - 14:14 | Informe spam
Hola Rubén

Gracias por tu respuesta.

Estoy hablando de un SQL Server 2000, por lo que lo del 2008...

Estoy hablando de un proceso muy puntal para modificar las tablas de hechos
de un cubo que esta particionado anualmente y tiene sus correspondiente
filegroups creados.
Pero no he visto la manera de en el "select into" indicarle el fiilegroup
donde quiero colocar la nueva tabla.
Por eso la solución de modifar el filegroup por defecto.

Un saludo
Ricardo Junquera
Consultor Business Intelligence

BG&S Online Consultores
Ganadora del Premio Microsoft Business Awards 2008.
Partner de Soluciones : Satisfacción de Cliente.



"Rubén Garrigós" wrote:

Hola Ricardo,

Imagino que comentas que tienes un gran volumen de información y es por lo
que necesitas realizar la operación de forma que sea mínimamente registrada
por motivos de rendimiento.

Si estuvieras en SQL Server 2008 podrías utilizar INSERT INTO sobre una
tabla HEAP que crearas previamente en el filegroup que desees. Si es el caso,
recuerda que debes indicar que quieres un TABLOCK sobre la tabla.

Con versiones anteriores una solución, que puede tener efectos colaterales,
es modificar el filegroup por defecto como comentas. Si controlas toda la
creación de objetos de tu base de datos no debería ser problema indicarles
manualmente el filegroup primary (o el que estés utilizando) para los objetos
creados que puedan concurrir con tu proceso de carga masiva.

Rubén Garrigós
Solid Quality Mentors

"Ricardo Junquera" wrote:

> Hola
>
> Tengo varios select into con un gran volumen de informacion, pero me
> gustaria poder asignar a la nueva tabla creada un filegroup en concreto.
>
> Creo que lo podría hacer cambiando el filegroup por defecto con el que me
> interesa para la nueva tabla y despues ponerlo a su valor original.
>
> ¿Parece buena idea? ¿Alguna mejor?.
>
> Un saludo
> Ricardo Junquera
> Consultor Business Intelligence
>
> BG&S Online Consultores
> Ganadora del Premio Microsoft Business Awards 2008.
> Partner de Soluciones : Satisfacción de Cliente.
>
Respuesta Responder a este mensaje
#3 Rubén Garrigós
05/09/2008 - 14:40 | Informe spam
Hola Ricardo,

La sintaxis del SELECT INTO no permite indicar el filegroup ni la partición,
solo el nombre de la tabla. Sucede lo mismo en SQL Server 2008 también pero
la diferencia es que la operación INSERT INTO permite que sea minimamente
registrada en ciertos casos. De hecho en CONNECT
(http://connect.microsoft.com/SQLSer...ackID%4140)
hay un feature request para esto mismo, pero parece que habrá que esperar a
la versión posterior a 2008 de SQL Server para tenerla.

Yo creo que mientras tengas bajo control el sistema y conozcas cuando se
crean nuevos objetos en el filegroup por defecto no debería ser problema que
hicieras ese cambio puntualmente.

Rubén Garrigós
Solid Quality Mentors

"Ricardo Junquera" wrote:

Hola Rubén

Gracias por tu respuesta.

Estoy hablando de un SQL Server 2000, por lo que lo del 2008...

Estoy hablando de un proceso muy puntal para modificar las tablas de hechos
de un cubo que esta particionado anualmente y tiene sus correspondiente
filegroups creados.
Pero no he visto la manera de en el "select into" indicarle el fiilegroup
donde quiero colocar la nueva tabla.
Por eso la solución de modifar el filegroup por defecto.

Un saludo
Ricardo Junquera
Consultor Business Intelligence

BG&S Online Consultores
Ganadora del Premio Microsoft Business Awards 2008.
Partner de Soluciones : Satisfacción de Cliente.



"Rubén Garrigós" wrote:

> Hola Ricardo,
>
> Imagino que comentas que tienes un gran volumen de información y es por lo
> que necesitas realizar la operación de forma que sea mínimamente registrada
> por motivos de rendimiento.
>
> Si estuvieras en SQL Server 2008 podrías utilizar INSERT INTO sobre una
> tabla HEAP que crearas previamente en el filegroup que desees. Si es el caso,
> recuerda que debes indicar que quieres un TABLOCK sobre la tabla.
>
> Con versiones anteriores una solución, que puede tener efectos colaterales,
> es modificar el filegroup por defecto como comentas. Si controlas toda la
> creación de objetos de tu base de datos no debería ser problema indicarles
> manualmente el filegroup primary (o el que estés utilizando) para los objetos
> creados que puedan concurrir con tu proceso de carga masiva.
>
> Rubén Garrigós
> Solid Quality Mentors
>
> "Ricardo Junquera" wrote:
>
> > Hola
> >
> > Tengo varios select into con un gran volumen de informacion, pero me
> > gustaria poder asignar a la nueva tabla creada un filegroup en concreto.
> >
> > Creo que lo podría hacer cambiando el filegroup por defecto con el que me
> > interesa para la nueva tabla y despues ponerlo a su valor original.
> >
> > ¿Parece buena idea? ¿Alguna mejor?.
> >
> > Un saludo
> > Ricardo Junquera
> > Consultor Business Intelligence
> >
> > BG&S Online Consultores
> > Ganadora del Premio Microsoft Business Awards 2008.
> > Partner de Soluciones : Satisfacción de Cliente.
> >
Respuesta Responder a este mensaje
#4 Maxi Accotto
06/09/2008 - 02:13 | Informe spam
Hola, si usas como tecnica el select into no podras hacer lo que buscas.

Porque no creas primero el objeto en el filegroup adecuado y luego usas
insert into?

Ojo con el Select INTO porque no pasa toda la estructura al otro lado

"Ricardo Junquera" escribió en
el mensaje de noticias:
Hola

Tengo varios select into con un gran volumen de informacion, pero me
gustaria poder asignar a la nueva tabla creada un filegroup en concreto.

Creo que lo podría hacer cambiando el filegroup por defecto con el que me
interesa para la nueva tabla y despues ponerlo a su valor original.

¿Parece buena idea? ¿Alguna mejor?.

Un saludo
Ricardo Junquera
Consultor Business Intelligence

BG&S Online Consultores
Ganadora del Premio Microsoft Business Awards 2008.
Partner de Soluciones : Satisfacción de Cliente.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida