Configuración del servidor: autenticación de base de datos contenida

Se aplica a:SQL Server

Use la opción contained database authentication para habilitar bases de datos independientes en la instancia de Motor de base de datos de SQL Server.

Esta opción de servidor permite controlar contained database authentication.

  • Cuando contained database authentication está desactivado (0) para la instancia, no se pueden crear bases de datos independientes ni adjuntarlas al motor de base de datos.

  • Cuando contained database authentication está activado (1) para la instancia, se pueden crear bases de datos independientes o adjuntarlas al motor de base de datos.

Una base de datos independiente incluye todos los metadatos y la configuración de base de datos necesarios para definirla, y no tiene dependencias de configuración de la instancia del Motor de base de datos donde esté instalada. Los usuarios pueden conectarse a la base de datos sin autenticar un inicio de sesión en el nivel de Motor de base de datos.

Aislar la base de datos del Motor de base de datos permite moverla fácilmente a otra instancia de SQL Server. Al incluir toda la configuración de la base de datos en la base de datos, se permite que sus propietarios administren toda su configuración. Para obtener más información sobre las bases de datos independientes, consulte Bases de datos independientes.

Nota

Las bases de datos independientes siempre están habilitadas para SQL Database y Azure Synapse Analytics y no se pueden deshabilitar.

Si una instancia de SQL Server tiene alguna base de datos independiente, la opción contained database authentication se puede establecer en 0 mediante la instrucción RECONFIGURE WITH OVERRIDE. Establecer contained database authentication en 0 deshabilita la autenticación de base de datos contenida para las bases de datos contenidas.

Importante

Cuando las bases de datos con contención están habilitadas, los usuarios de la base de datos con el permiso ALTER ANY USER, como los miembros de los roles de base de datos db_owner y db_accessadmin, pueden otorgar acceso a las bases de datos y, al hacerlo, otorgar acceso a la instancia de SQL Server. Esto significa que el control sobre el acceso al servidor ya no se limita a los miembros de los roles fijos de servidor sysadmin y securityadmin, ni a los inicios de sesión con los permisos CONTROL SERVER y ALTER ANY LOGIN a nivel de servidor.

Antes de permitir las bases de datos contenidas, debe comprender los riesgos asociados con ellas. Para más información, vea Security Best Practices with Contained Databases.

Ejemplos

En el siguiente ejemplo se habilitan las bases de datos independientes en la instancia del Motor de base de datos.

EXECUTE sp_configure 'contained database authentication', 1;
GO

RECONFIGURE;
GO