Planear directrices para tablas e índices con particiones

Debe planear la creación de los siguientes objetos de base de datos antes de crear particiones en una tabla o un índice:

  • Función de partición

  • Esquema de particiones

Una función de partición define la forma de asignar las filas de una tabla o un índice a un conjunto de particiones a partir de los valores de determinadas columnas, denominadas columnas de partición.

Un esquema de particiones asigna cada partición especificada con la función de partición a un grupo de archivos.

Planear la función de partición

Existen dos factores que se deben tener en cuenta al planear una función de partición: la columna cuyos valores determinan cómo se crean las particiones de una tabla, denominada columna de partición, y un intervalo de valores de la columna de partición para cada partición. Este intervalo de valores determina el número de particiones que componen la tabla. Una tabla puede puede tener un máximo de 1.000 particiones.

Las opciones disponibles para la columna de partición y el intervalo de valores están determinadas principalmente por la medida en que los datos se pueden agrupar de forma lógica, como por fecha, y si esta agrupación lógica es adecuada para administrar subconjuntos de datos.

Por ejemplo, en el escenario de particiones de la base de datos de ejemplo AdventureWorks2008R2, las tablas TransactionHistory y TransactionHistoryArchive tienen particiones en el campo TransactionDate. El intervalo de valores para cada partición es un mes. La tabla TransactionHistory conserva las transacciones actuales del año y TransactionHistoryArchive guarda las transacciones anteriores. Al incluir particiones en las tablas de este modo, se pueden transferir mensualmente los datos antiguos de un único mes, de forma rápida y eficaz, desde TransactionHistory hasta TransactionHistoryArchive.

Para obtener más información acerca de este escenario en particular, vea Diseñar particiones para administrar subconjuntos de datos.

Las columnas cuyo tipo de datos pueda utilizarse como clave de índice también se pueden especificar como columna de partición, excepto el tipo de datos timestamp, los tipos de datos definidos por el usuario para CLR (Common Language Runtime) de Microsoft .NET Framework y los tipos de datos de alias. Para obtener más información, vea Crear tablas e índices con particiones.

Planear el esquema de particiones

Al planear el esquema de particiones, debe decidir qué grupos de archivos desea incluir en las particiones. La principal razón para colocar las particiones en distintos grupos de archivos es garantizar que se puedan realizar operaciones de copia de seguridad en particiones de forma independiente. Esto se debe a que se pueden realizar copias de seguridad en grupos de archivos individuales. Para obtener más información, vea Realizar copias de seguridad y restaurar bases de datos en SQL Server.

Nota importanteImportante

SQL Server no garantiza la finalización de ninguna consulta que acceda a una tabla con particiones si algún archivo que pertenece a algún grupo de archivos de la tabla no se encuentra en un estado ONLINE, independientemente de las particiones a las que la consulta acceda.

Para conocer los scripts Transact-SQL que implementa este escenario, vea los ejemplos Readme_PartitioningScript y ReadMe_SlidingWindow. Para obtener información acerca de los ejemplos, vea Consideraciones para instalar ejemplos y bases de datos de ejemplo de SQL Server.