studio - ¿Cómo muevo una tabla a un grupo de archivos en particular en SQL Server 2008?
select into variable sql server (3)
Acabo de crear un grupo de archivos secundario y deseo mover algunas tablas a él y luego hacerlo de solo lectura.
No estoy seguro de cómo hacer esto?
¿Simplemente uso ALTER blah blah TO MyFileGroup
?
Algo como esto debería ayudar:
CREATE UNIQUE CLUSTERED INDEX PK_YourTableName
ON dbo.YourTableName(YourPKFields)
WITH (DROP_EXISTING = ON) ON [NewFilegroup]
Estoy de acuerdo con Marc. La reconstrucción del clúster funciona bien y es mucho más rápida que Tareas-> Reducir base de datos-> Archivos-> Empty file by migrating data to another file.
La creación de índices individualmente permite controlar la carga en el sistema sin crear enormes archivos de registro desde select * into [your.new.table.] from .....
Hay dos maneras; uno de SSMS y el otro utilizando TSQL.
De los libros en línea de SQL Server 2008:
Para mover un índice existente a un grupo de archivos o esquema de partición diferente
En el Explorador de objetos, conéctese a una instancia del motor de base de datos de SQL Server y luego expanda esa instancia.
Expanda Bases de datos, expanda la base de datos que contiene la tabla con el índice específico y luego expanda Tablas.
Expanda la tabla a la que pertenece el índice y luego expanda Índices.
Haga clic con el botón derecho en el índice que desea mover y luego seleccione Propiedades.
En el cuadro de diálogo Propiedades del índice, seleccione la página Almacenamiento.
Seleccione el grupo de archivos en el que desea mover el índice.
No puede mover índices creados mediante una restricción de clave principal o única mediante el cuadro de diálogo Propiedades del índice. Para mover estos índices, debe eliminar la restricción utilizando ALTER TABLE (Transact-SQL) con la opción DROP CONSTRAINT y luego volver a crear la restricción en el grupo de archivos deseado utilizando ALTER TABLE (Transact-SQL) con la opción ADD CONSTRAINT.
Si la tabla o el índice están particionados, seleccione el esquema de partición en el que desea mover el índice.
[Pre SQL Server 2008: para colocar una tabla existente en un grupo de archivos diferente (SSMS)
- Expanda Bases de datos, expanda la base de datos que contiene la tabla y luego haga clic en Tablas.
- En el panel Detalles, haga clic con el botón derecho en la tabla y, a continuación, haga clic en Diseñar tabla.
- Haga clic derecho en cualquier columna, y luego haga clic en Propiedades.
- En la pestaña Tablas, en la lista Grupo de archivos de tabla, seleccione el grupo de archivos en el que desea colocar la tabla.
- Opcionalmente , en la lista Grupo de archivos de texto, seleccione un grupo de archivos en el que colocar cualquier texto, imagen y columnas de texto. ]
Una forma más efectiva es
para crear un índice agrupado en la tabla. Si la tabla ya tiene un índice agrupado, puede usar la cláusula WITH DROP_EXISTING del comando CREATE INDEX para recrear el índice agrupado y moverlo a un grupo de archivos en particular. Cuando una tabla tiene un índice agrupado, el nivel de hoja del índice y las páginas de datos de la tabla esencialmente se vuelven una y la misma. La tabla debe existir donde exista el índice agrupado, de modo que si crea o recrea un índice agrupado (colocando el índice en un grupo de archivos en particular), también moverá la tabla al nuevo grupo de archivos.
Crédito: Brian Moran
Puede crear (o recrear) el índice agrupado especificando el nuevo grupo de archivos para la cláusula ON y eso moverá la tabla (datos). Pero si tiene índices no agrupados y los quiere en el otro grupo de archivos, debe eliminarlos y volver a crearlos también especificando el nuevo grupo de archivos en la cláusula ON. Ref .