Compartir a través de


Configuración del servidor: encadenamiento de propiedad entre bases de datos

Se aplica a:SQL Server

Use la opción para configurar el cross db ownership chaining encadenamiento de propiedad entre bases de datos para una instancia de SQL Server.

Esta opción del servidor permite controlar el encadenamiento de propiedad entre bases de datos en el nivel de base de datos o para todas las bases de datos:

  • Cuando cross db ownership chaining está desactivado (0) para la instancia, el encadenamiento de propiedad entre bases de datos está deshabilitado para todas las bases de datos.

  • Cuando cross db ownership chaining está activado (1) para la instancia, el encadenamiento de propiedad entre bases de datos está activado para todas las bases de datos.

  • Puede establecer el encadenamiento de propiedad entre bases de datos para bases de datos individuales mediante la SET cláusula de la ALTER DATABASE instrucción . Si va a crear una nueva base de datos, puede establecer la opción de encadenamiento de propiedad entre bases de datos para la nueva base de datos mediante la CREATE DATABASE instrucción .

    cross db ownership chaining No se recomienda establecer 1 en a menos que todas las bases de datos hospedadas por la instancia de SQL Server deban participar en el encadenamiento de propiedad entre bases de datos y tenga en cuenta las implicaciones de seguridad de esta configuración.

Comprobación del estado del encadenamiento de propiedad entre bases de datos

Para determinar el estado actual del encadenamiento de propiedad entre bases de datos, ejecute la siguiente consulta:

SELECT is_db_chaining_on,
       name
FROM sys.databases;

Un resultado de indica que el encadenamiento de propiedad entre bases de 1 datos está habilitado.

Control del encadenamiento de propiedad entre bases de datos

Antes de activar o desactivar el encadenamiento de propiedad entre bases de datos:

  • Debe ser miembro del rol fijo de servidor sysadmin para activar o desactivar el encadenamiento de propiedad entre bases de datos.

  • Antes de desactivar el encadenamiento de propiedad entre bases de datos en un servidor de producción, pruebe completamente todas las aplicaciones, incluidas las aplicaciones de terceros, para asegurarse de que los cambios no afectan a la funcionalidad de la aplicación.

  • Puede cambiar la cross db ownership chaining opción mientras se ejecuta el servidor si especifica RECONFIGURE con sp_configure.

  • Si tiene bases de datos que requieren encadenamiento de propiedad entre bases de datos, la práctica recomendada es desactivar la cross db ownership chaining opción para la instancia mediante sp_configure; a continuación, active el encadenamiento de propiedad entre bases de datos para bases de datos individuales que lo requieran con la instrucción ALTER DATABASE .

Riesgo de seguridad

La habilitación del encadenamiento de propiedad entre bases de datos en SQL Server presenta una posible vulnerabilidad de seguridad. Cuando esta característica está activa, un usuario local de la base de datos con privilegios elevados puede aprovechar el encadenamiento de propiedad y ampliar así los permisos para potencialmente obtener acceso sysadmin.

Se debería evitar habilitar el encadenamiento de propiedad entre bases de datos a nivel de instancia y restringir su uso solo a bases de datos relacionadas y de confianza.