lunes, 8 de julio de 2019

SQL Server Opciones de configuración – configuración para bases de datos

Introducción

Las opciones de configuración de servidor – configuración para bases de datos se pueden dividir en dos partes, por un lado, las opciones que se encuentran en sys.configurations y las opciones que se almacenan en el registro de Windows, referentes a la instancia de Microsoft SQL Server.
Primero veremos las opciones que se muestran en sys.configurations. Debe indicarse que se toman en cuenta las opciones relacionadas con la obtención de los respaldos de seguridad de las bases de datos, ya que, como se sabe, los respaldos de las bases de datos son una parte importante de la configuración de las bases de datos.
Es importante indicar que las opciones que aquí se muestran, solo se refieren a las opciones que aplican a todas las bases de datos, ya que, como veremos posteriormente, podemos generar una configuración para cada base de datos.
Con esto en mente, las opciones relacionadas para las bases de datos son:

Nombre de opción
Descripción
backup checksum default
Habilitar suma de comprobación de copias de seguridad de forma predeterminada
backup compression default
Habilitar la compresión de copias de seguridad de forma predeterminada
contained database authentication
Permite bases de datos contenidas y autenticación contenida
filestream access level
Establece el nivel de acceso de FILESTREAM
fill factor (%)
Porcentaje de factor de relleno predeterminado
media retention
Periodo de retención de cinta en días
recovery interval (min)
Intervalo máximo de recuperación en minutos
remote data archive
Permitir el uso del acceso a datos REMOTE_DATA_ARCHIVE para bases de datos

Como ya hemos indicado, para las opciones de configuración en Microsoft SQL Server que se identifican como avanzadas, debe utilizarse el procedimiento almacenado de sistema sp_configure, el cual sirve para habilitar la posibilidad de despliegue de estas opciones avanzadas.

sp_configure 'show advanced options', 1;
GO
RECONFIGURE
GO

backup checksum default

Esta opción permite indicar que se lleve a cabo la comprobación de la realización de un respaldo de seguridad, por omisión esta opción se encuentra con el valor 0 o deshabilitado, lo que significa que no se lleve a cabo la comprobación. Esta comprobación consiste en llevar a cabo una suma de verificación es una función hash que tiene como propósito principal detectar cambios accidentales en una secuencia de datos para proteger la integridad de estos, verificando que no haya discrepancias entre los valores obtenidos al hacer una comprobación inicial y otra final tras la finalización de copia de seguridad.
Es importante indicar que, si el valor de esta opción se mantiene en 0 o deshabilitado, entonces para que se lleve a cabo la verificación deberemos agregar la opción WITH CHECKSUM al comando que genere el archivo de respaldo, en caso de que el valor de esta opción sea 1 o habilitado, entonces no será necesario indicar la opción WITH CHECKSUM al comando de generación del respaldo, este se realizara de forma automática.
Para cambiar el valor de esta opción de configuración usando el procedimiento almacenado se ejecuta el siguiente comando:

sp_configure 'backup checksum default', 1
GO
RECONFIGURE

backup compression default

Esta opción permite indicar que se lleve a cabo la compresión del archivo que se obtiene cuando se lleva a cabo la generación del respaldo de seguridad de una base de datos. Esta es una opción que no esta restringida, no es una opción avanzada. Esta opción fue implementada por vez primera en la versión Microsoft SQL Server 2008. Por omisión este valor es 0 o deshabilitado, indicando que no se llevara a cabo la compresión del archivo. Es importante mencionar que cuando se lleva a cabo la generación del archivo de respaldo de una base de datos, el tamaño del archivo puede ser bastante grande, si la base de datos es de un tamaño considerable. La posibilidad de llevar a cabo la creación de un archivo de respaldo comprimido nos permitirá incrementar la velocidad de creación y transmisión de un archivo de copia de seguridad de una base de datos.
Debemos indicar que, si el valor de esta opción se mantiene en 0 o deshabilitado, entonces para que se lleve a cabo la compresión del archivo de respaldo debe agregarse la opción WITH COMPRESSION al comando que genera el archivo de respaldo, en caso de que el valor de esta opción sea 1 o habilitado, entonces no será necesario indicar la opción WITH COMRESSION al comando de generación del respaldo, la compresión se llevara a cabo de forma automática.
Para cambiar el valor de esta opción de configuración usando el procedimiento almacenado se ejecuta el siguiente comando:

sp_configure 'backup compression default', 1
GO
RECONFIGURE

contained database authentication

Antes de continuar, debemos indicar que se entiende como una base de datos contenida, para Microsoft, una base de datos contenida incluye toda la configuración de la base de datos y los metadatos necesarios para definir la base de datos y no tiene dependencias de configuración en la instancia del Motor de base de datos donde está instalada la base de datos. Esto significa que los usuarios pueden conectarse a la base de datos sin autenticar un inicio de sesión en el nivel del Motor de base de datos. Este aislamiento de la base de datos del Motor de base de datos hace posible mover fácilmente la base de datos a otra instancia de Microsoft SQL Server. Esta opción de configuración se presento por vez primera en la versión Microsoft SQL Server 2012.
Si el valor de esta opción se mantiene en 0 o deshabilitado, entonces no pueden crearse o adjuntarse las bases de datos contenidas dentro de la instancia, en caso de que el valor de la opción sea 1 o habilitado, entonces podrán crearse o adjuntarse las bases de datos contenidas en la instancia.
Para cambiar el valor de esta opción de configuración usando el procedimiento almacenado se ejecuta el siguiente comando:

sp_configure 'contained database authentication', 1
GO
RECONFIGURE WITH OVERRIDE

filestream access level

FILESTREAM es una opción que nos ayuda a permitir que las aplicaciones basadas en Microsoft SQL Server almacenen datos no estructurados, como documentos e imágenes, en el sistema de archivos de Windows, donde es contenida la instancia de Microsoft SQL Server. Habilitar el uso de FILESTREAM en una base de datos es permitir utilizar el caché del sistema NT para almacenar en caché los datos del archivo. Lo cual ayuda a reducir cualquier efecto que los datos de FILESTREAM puedan tener en el rendimiento del Motor de base de datos. El grupo de búfer de Microsoft SQL Server no se utiliza; por lo tanto, esta memoria está disponible para el procesamiento de consultas.
Los valores de esta opción son:

Valor
Definición
0
Deshabilita el soporte de FILESTREAM de esta instancia.

1

Habilita FILESTREAM para acceso en Transact-SQL.

2
Habilita FILESTREAM para acceso de transmision en Transact-SQL y Win32.

Es importante que se indique que esta opción, para que pueda ser confiablemente configurada, debe utilizarse, además, SQL Server Configuration Manager
o   Ubicar la instancia en cuestión y seleccionar las propiedades, ubicando el tab FILESTREAM.
o   Seleccionar “Enable FILESTREAM for Transact-SQL access
§  Si desea leer y escribir datos de FILESTREAM desde Windows, haga clic en “Enable FILESTREAM for file I/O streaming access”. Ingrese el nombre del recurso compartido de Windows en el cuadro “Windows Share Name”.
§  Si los clientes remotos deben acceder a los datos de FILESTREAM que están almacenados en este recurso compartido, seleccione Allow remote clients to have streaming access to FILESTREAM data.
o   Haga clic en Apply.
Una vez que se ha indicado que se utilizara FILESTREAM, entonces procedemos a indicar el valor de la opción filestream access level.

sp_configure 'filestream access level', 1
GO
RECONFIGURE

En este caso, es necesario que se lleve a cabo el reinicio de la instancia, a diferencia de otras opciones de configuración. Esto habilita el uso de FILESTREAM en la instancia, no necesariamente todas las bases de datos usaran esta opción.

fill factor (%)

El factor de relleno (Fill Factor) es el valor que determina el porcentaje de espacio en cada página de nivel de hoja que se debe llenar con datos. En un servidor de Microsoft SQL Server, la unidad más pequeña es una página, con tamaño 8K. Cada página puede almacenar una o más filas según el tamaño de la fila. El valor predeterminado del factor de relleno es 100, que es el mismo que el valor 0.
¿Cuál es el valor correcto del factor de relleno que debemos configurar para mejorar el rendimiento? No hay una respuesta específica. Depende de su aplicación. A continuación, se muestran los criterios que debe considerar al elegir el factor de relleno.

  •       Tabla estática / de consulta: este tipo de tablas tienen datos estáticos, lo cual significa que los datos rara vez cambian en la tabla. De esta forma, podemos establecer un alto valor de factor de relleno 100 o 0.
  •      Tabla dinámica: en este tipo de tabla, los datos obtienen cambios (insertados / actualizados) con frecuencia. Para este caso, necesitamos establecer un factor de llenado bajo, entre 80 y 90.
  •      Tabla con índice agrupado en la columna de identidad: los datos se insertan al final de la tabla siempre. Para este caso podemos tener un mayor valor de factor de relleno entre 95 y 100.

Ahora bien, el valor que se indica en esta opción se recomienda no modificarse, pero en caso de que lo deseen, deben indicar un valor alto.
Para cambiar el valor de esta opción de configuración usando el procedimiento almacenado se ejecuta el siguiente comando:

sp_configure 'fill factor (%)', 100
GO
RECONFIGURE

media retention

Esta opción permite especificar, para el caso de las copias de seguridad o respaldo de las bases de datos, el período de tiempo para retener cada conjunto de copia de seguridad. Establecer un valor en esta opción ayuda a evitar que las copias de seguridad se sobre-escriban hasta que haya transcurrido el número especificado de días.
Después de configurar un valor en esta opción de retención de medios, no será necesario especificar el período de tiempo para conservar las copias de seguridad del sistema cada vez que realice una copia de seguridad. El valor predeterminado es 0 días y el valor máximo es 365 días.
Para cambiar el valor de esta opción de configuración usando el procedimiento almacenado se ejecuta el siguiente comando:

sp_configure 'media retention', 30
GO
RECONFIGURE

recovery interval (min)

Esta opción permite definir un límite superior en el tiempo de recuperación que debe tomar una base de datos. El motor de base de datos de Microsoft SQL Server utiliza el valor especificado para esta opción para determinar aproximadamente con qué frecuencia emitir puntos de control automáticos en una base de datos determinada. En este punto, es importante indicar que un punto de control crea un punto bueno conocido desde el cual el motor de base de datos de Microsoft SQL Server puede comenzar a aplicar los cambios contenidos en el registro durante la recuperación después de un cierre o bloqueo inesperado.
El valor predeterminado de esta opción es 0, lo que permite que el motor de base de datos configure automáticamente el intervalo de recuperación.
Para cambiar el valor de esta opción de configuración usando el procedimiento almacenado se ejecuta el siguiente comando:

sp_configure 'recovery interval (min)', 3
GO
RECONFIGURE

remote data archive

Esta opción se utiliza para especificar si las bases de datos y las tablas en el servidor se pueden habilitar para Stretch. La opción puede tener los siguientes valores.

Valor
Descripción
0
Las bases de datos y las tablas en el servidor no se pueden habilitar para stretch.
1
Las bases de datos y las tablas en el servidor se pueden habilitar para stretch.

El valor por omisión de esta opción es 0, lo que no habilita a las bases de datos para stretch.
Para cambiar el valor de esta opción de configuración usando el procedimiento almacenado se ejecuta el siguiente comando:

sp_configure 'remote data archive', 1
GO
RECONFIGURE


Otras opciones

En el caso de las opciones de configuración que se mantienen en el registro de Windows, tenemos la ubicación de los archivos de datos, registro de transacciones (logs) y archivos de respaldo (backups), que se establecen inicialmente durante la instalación de la instancia de Microsoft SQL Server en el servidor, el valor de la ubicación de los archivos se mantiene en el Registry de Windows, también se muestran en la sección de las bases de datos de la ventana de configuración de la instancia de Microsoft SQL Server.
Si bien la ubicación de los archivos de las bases de datos se establece cuando se instala la instancia de Microsoft SQL Server, es posible modificar el valor en esta ventana, únicamente debe asegurarse que las unidades de disco y las carpetas donde se deben colocar los archivos sean validos.
Cabe mencionar que, aunque la ubicación que aquí se observa de las bases de datos, este es una ubicación por defecto para todas las bases de datos que se creen después de que se ha establecido, lo cual significa que, si ya se habían creado bases de datos en otra ubicación, las bases de datos no se moverán a una nueva ubicación, permanecerán donde se hayan creado. Microsoft SQL Server utiliza estas ubicaciones para establecer un valor por omisión, sin embargo, es posible modificar y establecer los valores individuales para cada una de las bases de datos, en la creación de los archivos de datos y de registro de transacciones. Lo mismo aplica para la creación de las copias de seguridad de las bases de datos, esta ubicación se utilizara como la de omisión, ya que podemos establecer la ubicación donde deseamos sea ubicada la copia de seguridad cuando se realiza.

Comentarios

Como se ha observado, conocer las opciones de configuración de bases de datos es responsabilidad de un Microsoft SQL Server Database Administrator, es importante indicar que los efectos de modificar una opción de esta sección, solo aplica para las bases de datos de forma general. Como se ha indicado, las opciones de configuración de servidor para las bases de datos aplican como valores por omisión, se pueden establecer valore específicos para cada base de datos y las copias de seguridad cuando sea requerido.

No hay comentarios.:

Publicar un comentario