Configurar las opciones de la base de datos
Actualizado: 5 de diciembre de 2005
Para cada base de datos, es posible configurar varias opciones de base de datos que determinen sus características. Las opciones son únicas para cada base de datos y no afectan a otras bases de datos. Cuando crea una base de datos, estas opciones se establecen en sus valores predeterminados y estos valores se pueden modificar mediante el uso de la cláusula SET de la instrucción ALTER DATABASE. Además, SQL Server Management Studio se puede utilizar para establecer la mayoría de estas opciones.
[!NOTA] La configuración del servidor se establece mediante el procedimiento almacenado del sistema sp_configure o mediante SQL Server Management Studio. Para obtener más información, vea Establecer las opciones de configuración del servidor. La configuración en el nivel de conexión se especifica mediante instrucciones SET. Para obtener más información, vea Opciones SET.
Para cambiar los valores predeterminados de cualquiera de las opciones de las bases de datos que se acaban de crear, cambie la opción adecuada en la base de datos model. Por ejemplo, si desea que el valor predeterminado de la opción de la base de datos AUTO_SHRINK se establezca en ON para cualquier base de datos creada con posterioridad, establezca la opción AUTO_SHRINK de model en ON.
Después de especificar una opción de la base de datos, se utiliza automáticamente un punto de comprobación para que la modificación surta efecto de forma inmediata. Para obtener más información, vea CHECKPOINT (Transact-SQL).
Opciones de base de datos
En las siguientes tablas se enumeran las opciones de base de datos que se establecen cuando se crea una base de datos y se definen sus valores predeterminados. Para obtener una descripción completa de estas opciones, vea ALTER DATABASE (Transact-SQL).
Opciones automáticas
Controlan determinados comportamientos automáticos.
Opción | Descripción | Valor predeterminado |
---|---|---|
AUTO_CLOSE |
Si se establece en ON, la base de datos se cierra sin problemas y se liberan sus recursos después de que haya salido el último usuario. La base de datos se vuelve a abrir automáticamente cuando un usuario intenta utilizarla de nuevo. Si se establece en OFF, la base de datos sigue abierta después de que haya salido el último usuario. |
Es ON para todas las bases de datos si se utiliza Microsoft SQL Server 2000 Desktop Engine o SQL Server 2005 Express Edition, y OFF para el resto de las ediciones, independientemente del sistema operativo. |
AUTO_CREATE_STATISTICS |
Si se establece en ON, se crean automáticamente estadísticas de las columnas utilizadas en un predicado. Si se establece en OFF, las estadísticas no se crean automáticamente; en su lugar, se pueden crear manualmente. |
ON |
AUTO_UPDATE_STATISTICS |
Si se establece en ON, las estadísticas que le falten a una consulta para su optimización se generan automáticamente durante la optimización de la consulta. Si se establece en OFF, las estadísticas se deben crear manualmente. Para obtener más información, vea Estadísticas de índice. |
ON |
AUTO_SHRINK |
Si se establece en ON, los archivos de las bases de datos se pueden reducir periódicamente. SQL Server puede reducir automáticamente los archivos de datos y los archivos de registro. AUTO_SHRINK reduce el tamaño del registro de transacciones sólo si se establece en SIMPLE el modelo de recuperación de la base de datos o si se realiza una copia de seguridad del registro. Si se establece en OFF, los archivos de la base de datos no se reducen automáticamente durante las comprobaciones periódicas de espacio no utilizado. |
OFF |
Opciones de cursor
Controlan el comportamiento y el ámbito del cursor.
Opción | Descripción | Valor predeterminado |
---|---|---|
CURSOR_CLOSE_ON_COMMIT |
Si se establece en ON, se cierran los cursores que estén abiertos cuando se compromete o se revierte una transacción. Si se establece en OFF, los cursores siguen abiertos cuando se compromete una transacción; revertir una transacción cierra los cursores excepto los que están definidos como INSENSITIVE o STATIC. |
OFF |
CURSOR_DEFAULT |
Cuando se especifica LOCAL y no se define un cursor como GLOBAL al crearlo, el ámbito del cursor es local para el lote, el procedimiento almacenado o el desencadenador en el que se creó el cursor. El nombre del cursor sólo es válido dentro de este ámbito. Cuando se especifica GLOBAL y no se define un cursor como LOCAL al crearlo, el ámbito del cursor es global para la conexión. Puede hacerse referencia al nombre del cursor en cualquier procedimiento almacenado o lote que ejecute la conexión. |
GLOBAL |
Opciones de disponibilidad de la base de datos
Controlan si la base de datos está con conexión o sin conexión, quién puede conectarse a la base de datos y si la base de datos está o no en modo de sólo lectura.
Opción | Descripción | Valor predeterminado |
---|---|---|
OFFLINE | ONLINE | EMERGENCY |
Cuando se especifica OFFLINE, la base de datos se cierra sin problemas y se marca como sin conexión. Cuando se especifica ONLINE, la base de datos está abierta y disponible para su utilización. Cuando se especifica EMERGENCY, la base de datos se marca como READ_ONLY, se deshabilita el registro y se limita el acceso a los miembros de la función fija de servidor sysadmin. |
ONLINE |
READ_ONLY | READ_WRITE |
Cuando se especifica READ_ONLY, los usuarios pueden leer los datos de la base de datos pero no pueden modificarlos. Cuando se especifica READ_WRITE, la base de datos está disponible para operaciones de lectura y escritura. |
READ_WRITE |
SINGLE_USER | RESTRICTED_USER | MULTI_USER |
Cuando se especifica SINGLE_USER, sólo se puede conectar un usuario a la base de datos en un momento dado. Todas las demás conexiones de usuario se desconectan. Cuando se especifica RESTRICTED_USER, sólo pueden conectarse a la base de datos los miembros de la función fija de base de datos db_owner y los de las funciones fijas de servidor dbcreator y sysadmin, pero no se limita la cantidad de miembros. Cuando se especifica MULTI_USER, se permite el acceso de todos los usuarios que cuenten con los permisos adecuados para conectarse a la base de datos. |
MULTI_USER |
Opciones de optimización de correlación de fechas
Controlan la opción date_correlation_optimization.
Opción | Descripción | Valor predeterminado |
---|---|---|
DATE_CORRELATION_OPTIMIZATION |
Cuando se especifica ON, SQL Server mantiene las estadísticas de correlación entre dos tablas cualesquiera de la base de datos que estén vinculadas mediante una restricción FOREIGN KEY y tengan columnas datetime. Cuando se especifica OFF, no se mantienen las estadísticas de correlación. |
OFF |
Opciones de acceso externo
Controlan si es posible obtener acceso a la base de datos por medio de recursos externos, como objetos de otra base de datos.
Opción | Descripción | Valor predeterminado |
---|---|---|
DB_CHAINING |
Cuando se especifica ON, la base de datos puede constituir el origen o el destino de una cadena de propiedad entre bases de datos. Cuando se especifica OFF, la base de datos no puede participar en el encadenamiento de propiedad entre bases de datos. |
OFF |
TRUSTWORTHY |
Cuando se establece en ON, los módulos de la base de datos (por ejemplo, las funciones definidas por el usuario o los procedimientos almacenados) que utilizan un contexto de suplantación pueden obtener acceso a los recursos fuera de la base de datos. Cuando se especifica OFF, en un contexto de suplantación, no es posible obtener acceso a los recursos fuera de la base de datos. TRUSTWORTHY se establece en OFF cada vez que se adjunta la base de datos. |
OFF |
Opción de parametrización
Controla la opción de parametrización.
Opción | Descripción | Valor predeterminado |
---|---|---|
PARAMETERIZATION |
Cuando se especifica SIMPLE, las consultas se parametrizan en función del comportamiento predeterminado de la base de datos. Cuando se especifica FORCED, SQL Server parametriza todas las consultas de la base de datos. |
SIMPLE |
Opciones de recuperación
Controlan el modelo de recuperación de la base de datos.
Opción | Descripción | Valor predeterminado |
---|---|---|
RECOVERY |
Cuando se especifica FULL, se proporciona recuperación completa tras un error de medios mediante el uso de copias de seguridad de registros de transacciones. Si un archivo de datos está dañado, la recuperación del medio puede restaurar todas las transacciones comprometidas. Cuando se especifica BULK_LOGGED, se proporciona recuperación tras un error de medios mediante la combinación del mejor rendimiento y de la menor cantidad de espacio utilizado de registro para determinadas operaciones masivas o a gran escala. Cuando se especifica SIMPLE, se proporciona una estrategia de copia de seguridad sencilla que utiliza un espacio de registro mínimo. |
FULL |
PAGE_VERIFY |
Cuando se especifica CHECKSUM, el Database Engine (Motor de base de datos) calcula una suma de comprobación teniendo en cuenta el contenido de toda la página y almacena el valor en el encabezado de página cuando ésta se registra en un disco. Cuando se lee la página desde el disco, la suma de comprobación se vuelve a calcular y comparar con el valor de la suma de comprobación almacenado en el encabezado de página. Cuando se especifica TORN_PAGE_DETECTION, se guarda un bit específico para cada sector de 512 bytes de la página de base de datos de 8 kilobytes (KB) y se almacena en el encabezado de página de la base de datos cuando la página se registra en un disco. Cuando se lee la página desde el disco, los bits rasgados almacenados en el encabezado de página se comparan con la información real del sector de la página. Cuando se especifica NONE, los registros de la página de base de datos no generarán un valor de CHECKSUM ni de TORN_PAGE_DETECTION. SQL Server no controlará la suma de comprobación ni la página rasgada durante una lectura aunque haya un valor de CHECKSUM o TORN_PAGE_DETECTION presente en el encabezado de página. |
CHECKSUM |
Opciones de Service Broker
Controlan las opciones de Service Broker.
Opción | Descripción | Valor predeterminado |
---|---|---|
ENABLE_BROKER | DISABLE_BROKER | NEW_BROKER | ERROR_BROKER_CONVERSATIONS |
Cuando se especifica ENABLE_BROKER, se habilita Service Broker en la base de datos especificada. Cuando se especifica DISABLE_BROKER, se deshabilita Service Broker en la base de datos especificada. Cuando se especifica NEW_BROKER, la base de datos recibe un nuevo identificador de broker. Cuando se especifica ERROR_BROKER_CONVERSATIONS, las conversaciones efectuadas en la base de datos reciben un mensaje de error al adjuntar la base de datos. |
ENABLE_BROKER |
Opciones de aislamiento de instantáneas
Determinan el nivel de aislamiento de la transacción.
Opción | Descripción | Valor predeterminado |
---|---|---|
ALLOW_SNAPSHOT_ISOLATION |
Cuando se especifica ON, las transacciones pueden especificar el nivel de aislamiento de la transacción SNAPSHOT. Si una transacción se ejecuta en el nivel de aislamiento SNAPSHOT, todas las instrucciones ven una instantánea de los datos tal como estaban al inicio de la transacción. Cuando se especifica OFF, las transacciones no pueden especificar el nivel de aislamiento de la transacción SNAPSHOT. |
OFF |
READ_COMMITTED_SNAPSHOT |
Cuando se especifica ON, las transacciones que especifican el nivel de aislamiento READ_COMMITTED utilizan versiones de filas en lugar de bloqueos. Si una transacción se ejecuta en el nivel de aislamiento READ_COMMITTED, todas las instrucciones ven una instantánea de los datos tal como estaban al inicio de la instrucción. Cuando se especifica OFF, las transacciones que especifican el nivel de aislamiento READ_COMMITTED utilizan bloqueos. Al establecer la opción READ_COMMITTED_SNAPSHOT, sólo se permite en la base de datos la conexión que ejecuta el comando ALTER DATABASE. No debe haber ninguna otra conexión abierta en la base de datos hasta que finalice ALTER DATABASE. La base de datos no tiene que estar en modo de usuario único. |
OFF |
Opciones de SQL
Controlan las opciones de compatibilidad con ANSI.
Opción | Descripción | Valor predeterminado |
---|---|---|
ANSI_NULL_DEFAULT |
Determina el valor predeterminado, NULL o NOT NULL, de una columna, un tipo de datos de alias o un tipo definido por el usuario CLR para el cual no se ha definido explícitamente la capacidad de aceptar valores NULL en las instrucciones CREATE TABLE o ALTER TABLE. Cuando se especifica ON, el valor predeterminado es NULL. Cuando se especifica OFF, el valor predeterminado es NOT NULL. |
OFF |
ANSI_NULLS |
Cuando se especifica ON, todas las comparaciones con un valor NULL se evalúan como UNKNOWN. Cuando se especifica OFF, las comparaciones de valores que no sean UNICODE con un valor NULL se evalúan como TRUE si los dos valores son NULL. |
OFF |
ANSI_PADDING |
Cuando se establece en ON, los espacios en blanco finales de los valores de caracteres insertados en las columnas varchar o nvarchar y los ceros finales de los valores binarios insertados en las columnas varbinary no se recortan. Los valores no se rellenan hasta completar la longitud de la columna. Cuando se establece en OFF, los espacios en blanco finales para varchar o nvarchar y los ceros para varbinary se recortan. Esta opción sólo afecta a la definición de nuevas columnas. Las columnas char y binary que permiten valores NULL se rellenan hasta completar la longitud de la columna si ANSI_PADDING se establece en ON, pero los espacios en blanco y los ceros finales se recortan si ANSI_PADDING se establece en OFF. Las columnas char y binary que no permiten valores NULL siempre se rellenan hasta completar la longitud de la columna. |
OFF |
ANSI_WARNINGS |
Cuando se especifica ON, se emiten mensajes de error o advertencias cada vez que se generan condiciones como división entre cero o cuando aparecen valores NULL en funciones de agregado. Cuando se especifica OFF, no se emiten advertencias y se devuelven valores NULL cada vez que se generan condiciones como división entre cero. |
OFF |
ARITHABORT |
Cuando se especifica ON, se termina una consulta cuando se produce un error de desbordamiento o un error de una operación de división entre cero durante su ejecución. Cuando se especifica OFF, se muestra un mensaje de advertencia si se produce uno de estos errores, pero la consulta, el lote o la transacción continuará procesándose como si no se hubiera producido el error. |
OFF |
CONCAT_NULL_YIELDS_NULL |
Cuando se especifica ON, el resultado de una operación de concatenación es NULL si alguno de los operandos es NULL. Cuando se especifica OFF, el valor NULL se trata como una cadena de caracteres vacía. |
OFF |
QUOTED_IDENTIFIER |
Cuando se especifica ON, se pueden utilizar comillas dobles para encerrar los identificadores delimitados. Cuando se especifica OFF, los identificadores no pueden ir entre comillas y deben adaptarse a todas las reglas de Transact-SQL que se aplican a los identificadores. |
OFF |
NUMERIC_ROUNDABORT |
Cuando se especifica ON, al producirse una pérdida de precisión en una expresión se genera un error. Cuando se especifica OFF, las pérdidas de precisión no generan mensajes de error y el resultado se redondea con la precisión de la columna o la variable que lo almacena. |
OFF |
RECURSIVE_TRIGGERS |
Cuando se especifica ON, se permite la activación recursiva de desencadenadores AFTER. Cuando se especifica OFF, sólo se impide la activación recursiva de desencadenadores AFTER. |
OFF |
Para cambiar las opciones de base de datos
- ALTER DATABASE (Transact-SQL)
- Cómo cambiar los valores de configuración de una base de datos (SQL Server Management Studio)
Vea también
Conceptos
Opciones SET que afectan a los resultados
user options (opción)
Otros recursos
ALTER DATABASE (Transact-SQL)
DATABASEPROPERTYEX (Transact-SQL)
sp_configure (Transact-SQL)
sys.databases (Transact-SQL)
Ayuda e información
Obtener ayuda sobre SQL Server 2005
Historial de cambios
Versión | Historial |
---|---|
5 de diciembre de 2005 |
|