Create Table – Tablas particionadas

CreateTableParticionadas

Una tabla se debe particionar cuando se proyecta que puede tener muchos registros, este artículo muestra como hacer una partición de la tabla Clientes

REQUISITO: La BD debe tener varios FilegroupsEjemplo

— Base de datos para poder crear la tabla particionada.

xp_create_subdir ‘C:\Sistemas’
go
xp_create_subdir ‘D:\Respaldo’
go
Create database EmpresaERP
on Primary
(Name=’EmpresaERP01′,FileName=’C:\Sistemas\EmpresaERP01.mdf’),
filegroup CONTABILIDAD
(Name=’EmpresaERP02′,FileName=’C:\Sistemas\EmpresaERP02.ndf’),
Filegroup PERSONAL
(Name=’EmpresaERP03′,FileName=’D:\Respaldo\EmpresaERP03.ndf’)
log on
(Name=’EmpresaERP04′,FileName=’D:\Respaldo\EmpresaERP04.ldf’)
go
use EmpresaERP
go

— Tabla particionada….
/*- PROCESO:
1. Crear FUNCION DE PARTICION: objetivo, definir los rango
CREATE PARTITION FUNCTION  Nombre ( TipoDato )
AS RANGE [ LEFT | RIGHT ] FOR VALUES ( límites)
2. Crear Esquema de Partición: objetivo, repartir rango definidos
en la función de partición en los fielgroups
CREATE PARTITION SCHEME Nombre
AS PARTITION NombreFuncion
TO ( Grupos de Archivos)
3. Crear tabla… al finalizar la definición de la tabla.
on NombreEsquema (NombreCampo)
*/
— Ejemplo
CREATE PARTITION FUNCTION  FuncionParticionClientesCodigoFP ( nchar(5))
AS RANGE LEFT FOR VALUES (‘D’,’L’,’Q’,’V’)
go
CREATE PARTITION SCHEME EsquemaParticionClientesCodigoEP
AS PARTITION FuncionParticionClientesCodigoFP
TO (CONTABILIDAD,PERSONAL,PERSONAL,[PRIMARY],CONTABILIDAD)
go
Create table Clientes
(
ClientesCodigo nchar(5) ,
ClientesPaterno nvarchar(100),
ClientesMaterno nvarchar(100),
ClientesNombres nvarchar(100),
constraint ClientesPK Primary key (ClientesCodigo)
) on EsquemaParticionClientesCodigoEP (ClientesCodigo)
go