Microsoft SQL Server admite diferentes tipos de compresión para tablas e índices, y también admite compresión de archivo para ellos. La función de compresión de datos en SQL Server es muy útil para reducir el tamaño del archivo de la base de datos. Ser una carga de trabajo intensiva debido al gran almacenamiento de datos. La compresión de datos en SQL Server ayuda a mejorar el rendimiento de E/S.
Diferentes tipos de compresión de SQL Server
Hay tres compresiones principales utilizadas en la base de datos MS SQL y puede revisarlas todas.
Compresión de nivel de ROW
Los niveles que no son de hoja de las páginas de la base de datos utilizan la compresión de nivel de FILA. Las filas de datos se colocan en la página en serie, comenzando inmediatamente después del encabezado. La cantidad máxima de datos y sobrecarga contenida en una sola fila en una página es de 8060 bytes (8 KB). Sin embargo, esto no incluye los datos almacenados en el tipo de página Texto/Imagen. Cuando el tamaño de fila total de todas las columnas fijas y variables de una tabla supera el límite de 8060 bytes, SQL Server mueve dinámicamente una o más columnas de longitud variable a páginas en la unidad de asignación ROW_OVERFLOW_DATA, comenzando desde la columna con el ancho más grande.
Cuando se lleva a cabo la compresión a nivel de fila:
- Reduce la sobrecarga de metadatos asociada con el registro.
- Utiliza un formato de almacenamiento de longitud variable para tipos numéricos (por example entero, decimal y flotante) y los tipos que se basan en numérico (por example fecha y hora y dinero).
- Almacena cadenas de caracteres fijas utilizando un formato de longitud variable al no almacenar los caracteres en blanco.
Compresión a nivel de PÁGINA
La compresión de página consiste en tres operaciones diferentes en el siguiente orden:
- Compresión de filas
- Compresión de prefijo
- Compresión de diccionario
Compresión de filas
Cuando usa la compresión de página, las páginas de índices que no son de nivel de hoja se comprimen usando solo compresión de fila.
Compresión de prefijo
Para cada página que se comprime, la compresión de prefijos utiliza los siguientes pasos:
- Para cada columna, se identifica un valor que se puede utilizar para reducir el espacio de almacenamiento de los valores de cada columna.
- Se crea una fila que representa los valores de prefijo para cada columna y se almacena en la estructura de información de compresión (CI) que sigue inmediatamente al encabezado de la página.
- Los valores de prefijo repetidos en la columna se reemplazan por una referencia al prefijo correspondiente. Si el valor de una fila no coincide exactamente con el valor del prefijo seleccionado, todavía se puede indicar una coincidencia parcial.
Compresión de diccionario
Una vez completada la compresión de prefijos, se aplica la compresión de diccionario a la base de datos. La compresión de diccionario busca valores repetidos en cualquier parte de la página y los almacena en el área de CI. A diferencia de la compresión de prefijos, la compresión de diccionario no está restringida a una columna. La compresión de diccionario puede reemplazar valores repetidos que ocurren en cualquier parte de una página.
Compresión Unicode
El servidor SQL comprime valores Unicode que se almacenan en una fila o en objetos comprimidos por página. Motor de base de datos almacena datos Unicode como 2 bytes, independientemente de la configuración regional. Esto se conoce como codificación UCS-2. La compresión Unicode admite la longitud fijanchar (n) ynvarchar (n)tipos de datos. Los valores de datos que se almacenan fuera de fila o ennvarchar (máx.)las columnas no se comprimen con compresión Unicode.
Conclusión
Ha visto que hay tres tipos de compresión en SQL Server y son compresión de fila, compresión de página y compresión Unicode. Pero no puede comprimir la base de datos SQL si está corrupta o dañada. Por lo tanto, para reparar las corrupciones, puede usar el software de recuperación de base de datos SQL. Después de reparar la base de datos Master SQL, puede comprimir fácilmente su base de datos.