Particionamiento de tablas en SQLServer 2005

Hola a todos.

Es sabido por todo el mundo de las capacidades de particionamiento que posee Oracle desde sus mas antiguos releases. En Sql Server 2000 existia una especie de "chapuza" para poder hacerlo mediante restricciones "CHECK" en los campos y utilizando vistas mediante UNIONS.

El panorama en SQL Server 2005 a mejorado un poco respecto a eso.
No puedo dar fe absoluta sobre las ventajas de utilizar dicho particionamiento (lo usé en una tabla de hechos con pocos millones de registros) pero al menos es una tecnología más reciente que las "vistas".

PASO 1: Crear una función de partición
CREATE PARTITION FUNCTION [MiFuncionDeParticion] (char(15))
AS RANGE LEFT FOR VALUES ('VALOR1', 'VALOR2', 'VALOR3')

PASO 2: Crear un schema para la partición con el grupo de archivos SQL a utilizar
CREATE PARTITION SCHEME [MiNombreDeSchema]
AS PARTITION [MiFuncionDeParticion] ALL TO ([PRIMARY]) <------- Nombre del grupo de archivos de SQL Server.

PASO 3: Se crea la tabla que va a ser particionada
CREATE TABLE [dbo].[MiTabla] (
[CAMPO1] [int] NOT NULL,
[CAMPO2] [int] NOT NULL,
[CAMPO3] [char](15) COLLATE Modern_Spanish_CI_AS NOT NULL,
[CAMPO4] [char](15) COLLATE Modern_Spanish_CI_AS NOT NULL,
[CAMPO5] [float] NULL
) ON [MiNombreDeSchema] ([CAMPO3])

Existen mas valores de configuración para realizar este tipo de particiones.
Si alquien quiere saber mas...... en la documentación de SQL hay más información y si no, pues podeis preguntar lo que querais.

Saludos,

Rispondi

Il contenuto di questo campo è privato e non verrà mostrato pubblicamente.
  • Linee e paragrafi vanno a capo automaticamente.
  • Links to specified hosts will have a rel="nofollow" added to them.

  • Indirizzi web o e-mail vengono trasformati in link automaticamente

Maggiori informazioni sulle opzioni di formattazione.

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.

Google