Introducción
Ya he indicado previamente sobre las propiedades de las bases de datos y he indicado las paginas General, Archivos y Grupos de Archivos en previas entregas, ahora iniciare con las distintas opciones de configuración de las bases de datos.
Página Opciones
Es posible utilizar esta página para ver o modificar varias opciones de configuración para la base de datos seleccionada. Sin embargo, es necesario tener en cuenta que puede usar las declaraciones de Transact-SQL ALTER DATABASE SET OPTIONS o ALTER DATABASE SCOPED CONFIGURATION, para modificar los valores si se prefiere.
En esta página es posible obtener o modificar el valor de las opciones en las siguientes categorías:
- Automático
- Contención
- Cursor
- Configuraciones del alcance de la base de datos
- FILESTREAM
- Varios
- Recuperación
- Agente de servicios
- Estado
En esta entrega comentaré las tres primeras categorías y las demás se indicarán en subsecuentes entregas.
La pagina opciones se muestra a continuación:
En la parte superior aparecen los siguientes valores de configuración de la base de datos:
Colación - Indica la intercalación actual de la base de datos seleccionando, es posible cambiar este valor seleccionándolo de la lista. Debe recordarse que una base de datos que una base de datos que se mueve de un servidor a otro, ésta conserva la intercalación donde fue creada la base de datos. Es importante indicar que Microsoft recomienda que las bases de datos alojadas en el servidor mantengan la intercalación igual a la que se maneja en la base de datos master.
Modelo de recuperación - Indica el modelo de recuperación actual de la base de datos, asimismo es posible establecer un modelo diferente, seleccionando de la lista alguno de los siguientes valores; Completo, Registro-masivo o Simple. Debe recordarse que Microsoft recomienda que las bases de datos de ambiente productivo deben mantener el modelo de recuperación Completo.
Nivel de compatibilidad - Indica la versión de Microsoft SQL Server que admite actualmente la base de datos. Debe recordarse que cuando se actualiza una base de datos en Microsoft SQL Server, el nivel de compatibilidad de esa base de datos se conserva, si es posible, o se cambia al nivel mínimo compatible con el nuevo Microsoft SQL Server.
Tipo de contención – muestra el valor actual de la base de datos. Se puede especificar uno de los siguientes valores Ninguno o Parcial, este ultimo sirve para designar que se trata de una base de datos contenida. Esta opción apareció por primera vez en Microsoft SQL Server 2012, y establece que una base de datos puede manejar su permiso de acceso a los usuarios que están contenidos en la base de datos, pero que no cuentan con un permiso de acceso en el servidor. Se requiere que la propiedad del servidor Habilitar bases de datos contenidas se establezca en TRUE antes de que una base de datos pueda configurarse como contenida.
La parte inferior muestra una cuadricula con las categorías de las opciones, a continuación, se indican cada una de ellas.
Automático
Esta categoría de opciones es usada para establecer acciones automáticas que se llevan a cabo, por parte del servicio, en la base de datos. Los valores posibles de estas opciones son Falso o Verdadero.
Auto cerrado – Indica si la base de datos se apaga y libera recursos después de que el último usuario cierra su sesión. Recuerde que esta opción debe mantenerse en falso, en ambientes productivos, además de que esta opción se recomienda en valor verdadero para bases de datos en ambientes móviles.
Crear automáticamente estadísticas incrementales - Indica el uso de la opción incremental cuando se crean estadísticas por partición..
Crear estadísticas automáticamente - Indica si se crean automáticamente las estadísticas de optimización faltantes que requieren alguna consulta, por lo que para la optimización se crean automáticamente.
Contracción automática – Indica si los archivos de la base de datos están disponibles para la reducción periódica. Es recomendable que en ambiente productivo se mantenga esta opción en falso.
Estadísticas de actualización automática – Indica si la base de datos actualiza automáticamente las estadísticas de optimización desactualizadas que necesita una consulta para la optimización.
Actualización automática de estadísticas de forma asincrónica – Indica si las consultas que inician una actualización automática de estadísticas desactualizadas no esperan a que se actualicen las estadísticas antes de compilar. Las consultas posteriores utilizan las estadísticas actualizadas cuando están disponibles. Si se establecer esta opción en Verdadero no tiene efecto a menos que la opción Estadísticas de actualización automática también se establezcan en Verdadero.
Contención
En una base de datos contenida o independiente, algunas opciones que se configuran normalmente en el nivel del servidor se pueden configurar en el nivel de la base de datos.
LCID de idioma de texto completo predeterminado - Muestra el idioma predeterminado para las columnas indexadas de texto completo. El análisis lingüístico de datos indexados de texto completo depende del idioma de los datos. El valor predeterminado de esta opción es el idioma del servidor.
Idioma predeterminado – Muestra el idioma predeterminado para todos los nuevos usuarios de bases de datos contenidas, a menos que se especifique lo contrario.
Activadores anidados habilitados – Muestra si los disparadores activan otros disparadores. Los disparadores se pueden anidar hasta un máximo de 32 niveles.
Transformar palabras ruidosas – Muestra si se suprime un mensaje de error si las palabras irrelevantes, es decir, palabras vacías, hacen que una operación booleana en una consulta de texto completo devuelva cero filas.
Límite de año de dos dígitos – Indica el número de año más alto que se puede ingresar como un año de dos dígitos. El año indicado y los 99 años anteriores se pueden ingresar como un año de dos dígitos. Todos los demás años deben ingresarse como un año de cuatro dígitos. Por ejemplo, la configuración predeterminada de 2049 indica que una fecha ingresada como '14/3/49' se interpretará como 14 de marzo de 2049 y una fecha ingresada como '14/3/50' se interpretará como 14 de marzo de 1950. Para obtener más información, consulte Configurar la opción de configuración del servidor de corte de año de dos dígitos.
Cursor
Esta categoría de opciones tiene el alcance del uso de cursores de Transact-SQL. Los valores posibles de estas opciones son Falso o Verdadero.
Cerrar el cursor al confirmar habilitado - Indica si los cursores se cierran después de que la transacción que abre el cursor se ha confirmado. Con valor Verdadero, todos los cursores que están abiertos cuando se confirma o deshace una transacción se cierran. En contraste, si es Falso, estos cursores permanecen abiertos cuando se confirma una transacción.
Cursor predeterminado - Indica el comportamiento predeterminado del cursor. Con un valor Verdadero, las declaraciones del cursor son por defecto LOCAL. Con un valor de Falso, los cursores se establecen de forma predeterminada en GLOBAL.
Conclusión
Esta página de propiedades de la base de datos brinda información de las opciones de la base de datos. Si se requiere usar T-SQL para obtener la información que se muestra en la pagina indicada, es posible usar las siguientes consultas.
-- Script : Get Database Options Properties Part 1
-- Author : Julio J Bueyes
-- julio.bueyes@outlook.com
--
-- Description : This script helps to get a detailed view of the database properties – Options page – part 1.
--
-- DISCLAIMER. This Code is provided for the purpose of illustration only and is not intended to be used in a production environment.
--
-- THIS CODE AND ANY RELATED INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
-- INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************************/
-- Set the Database Name required
USE model;
GO
-- Header Page
SELECT collation_name AS [Collation],
recovery_model_desc AS [Recovery model],
CASE compatibility_level WHEN 80 THEN 'SQL Server 2000 (80)'
WHEN 90 THEN 'SQL Server 2005 (90)'
WHEN 100 THEN 'SQL Server 2008 (100)'
WHEN 110 THEN 'SQL Server 2012 (110)'
WHEN 120 THEN 'SQL Server 2014 (120)'
WHEN 130 THEN 'SQL Server 2016 (130)'
WHEN 140 THEN 'SQL Server 2017 (140)'
WHEN 150 THEN 'SQL Server 2019 / Azure SQL Database (150)'
ELSE 'SQL Server ' END AS [Compatibility level],
containment_desc AS [Containment type]
FROM sys.databases
WHERE database_id = DB_ID();
SELECT CASE is_auto_close_on WHEN 1 THEN 'True' ELSE 'False' END AS [Auto Close],
CASE is_auto_create_stats_incremental_on WHEN 1 THEN 'True' ELSE 'False' END AS [Auto Close Incremental Statistics],
CASE is_auto_create_stats_on WHEN 1 THEN 'True' ELSE 'False' END AS [Auto Create Statistics],
CASE is_auto_shrink_on WHEN 1 THEN 'True' ELSE 'False' END AS [Auto Shrink],
CASE is_auto_update_stats_on WHEN 1 THEN 'True' ELSE 'False' END AS [Auto Update Statistics],
CASE is_auto_update_stats_async_on WHEN 1 THEN 'True' ELSE 'False' END AS [Auto Update Statistics Asyncronously]
FROM sys.databases
WHERE database_id = DB_ID();
--- Containment Options
SELECT CASE ISNULL(default_fulltext_language_lcid,0) WHEN 0 THEN (SELECT value_in_use FROM sys.configurations WHERE configuration_id = 1126) ELSE default_language_lcid END AS [Default Fulltext Language LCID],
CASE ISNULL(default_language_name,0) WHEN 0 THEN (SELECT CASE value_in_use WHEN 0 THEN 'English' END FROM sys.configurations WHERE configuration_id = 124) ELSE default_language_name END AS [Default Language],
CASE ISNULL(is_nested_triggers_on,0) WHEN 0 THEN (SELECT CASE value_in_use WHEN 1 THEN 'True' ELSE 'False' END FROM sys.configurations WHERE configuration_id = 115) ELSE CASE is_nested_triggers_on WHEN 1 THEN 'True' ELSE 'False' END END AS [Nested Triggers Enabled],
CASE ISNULL(is_transform_noise_words_on,0) WHEN 0 THEN (SELECT CASE value_in_use WHEN 1 THEN 'True' ELSE 'False' END FROM sys.configurations WHERE configuration_id = 1555) ELSE CASE is_transform_noise_words_on WHEN 1 THEN 'True' ELSE 'False' END END AS [Transform Noise Words],
CASE ISNULL(two_digit_year_cutoff,0) WHEN 0 THEN (SELECT value_in_use FROM sys.configurations WHERE configuration_id = 1127) ELSE two_digit_year_cutoff END AS [Two Digit Year Cutoff]
FROM sys.databases db
WHERE database_id = DB_ID();
--- Cursor Options
SELECT CASE is_cursor_close_on_commit_on WHEN 1 THEN 'True' ELSE 'False' END AS [Close Cursor on Commit Enabled],
CASE is_local_cursor_default WHEN 1 THEN 'LOCAL' ELSE 'GLOBAL' END AS [Default Cursor]
FROM sys.databases
WHERE database_id = DB_ID();
Como puede observarse es muy fácil obtener los datos directamente de la ventana de propiedades de la base de datos, en la página Opciones, no obstante, el script funciona para obtener los mismos valores proporcionados por la página.
No hay comentarios.:
Publicar un comentario