INF: Propiedad de base de datos entre cadenas cambios de comportamiento en SQL Server 2000 Service Pack 3

Seleccione idioma Seleccione idioma
Id. de artículo: 810474 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Microsoft SQL Server Service Pack 3 (SP3) proporciona una nueva mejora de seguridad relacionados con la opción para configurar encadenamiento, Habilitar el encadenamiento para todas las bases de datos de propiedad entre bases de datos durante la instalación de propiedad de base de datos entre. Este artículo describe la propiedad entre bases de datos encadenamiento de comportamiento en SQL Server 2000 SP3. Con esta nueva opción, puede controlar si o no permite el encadenamiento de propiedad entre bases de datos. De forma predeterminada, esta opción está deshabilitada. Microsoft recomienda que utilice la opción predeterminada, porque hace que el servidor de base de datos sea más segura.

Más información

Encadenamiento de propiedad

De forma predeterminada, todos los objetos de base de datos tienen propietarios. Cuando un objeto como una vista, un procedimiento almacenado o una función definida por el usuario hace referencia a otro objeto, se establece una cadena de propiedad. Por ejemplo, una tabla que pertenezca al mismo usuario. Cuando el mismo usuario posee el objeto de origen, la vista, procedimiento almacenado o función definida por el usuario y todos los objetos (tablas, vistas o otros objetos subyacente) de destino, se dice que la cadena de propiedad es continua. Cuando la cadena de propiedad ininterrumpida, SQL Server comprueba permisos en el objeto de origen pero no en los objetos de destino.

Encadenamiento de propiedad entre bases de datos

Encadenamiento de propiedad entre bases de datos se produce cuando el objeto de origen depende de objetos de otra base de datos. Una cadena de propiedad entre bases de datos funciona de la forma misma encadenamiento de propiedad en una base de datos, excepto en que se basa una cadena de propiedad ininterrumpida en todos los propietarios de objeto que se asignan a la misma cuenta de inicio de sesión. Por lo tanto, en una cadena de propiedad entre bases de datos, si el objeto de origen en la base de datos de origen y los objetos de destino de las bases de datos destino pertenecen a la misma cuenta de inicio de sesión, SQL Server no comprueba permisos en los objetos de destino.

Si tiene más de una base de datos utilizado por una aplicación y que se utiliza la aplicación llama a procedimientos almacenados o vistas de una base de datos se basa en objetos de otra base de datos, a continuación, entre bases de datos encadenamiento de propiedad. Las aplicaciones que dependen de encadenamiento de propiedad entre bases de datos pueden generar el permiso denegado errores si el encadenamiento de opción de propiedad de base de datos entre está desactivado.

Riesgos asociados con el encadenamiento de propiedad entre bases de datos

Microsoft recomienda que deshabilite la propiedad entre bases de datos encadenamiento opción debido de las acciones que pueden realizar a los usuarios muy privilegios:
  • Los propietarios de base de datos y miembros de la db_ddladmin o las funciones de base de datos db_owners pueden crear objetos que pertenecen a otros usuarios. Estos objetos potencialmente pueden destinar objetos de otras bases de datos. Esto significa que si permite el encadenamiento de propiedad entre bases de datos, totalmente debe confiar estos usuarios con datos en todas las bases de datos. Para identificar a los miembros de la db_ddladmin y las funciones db_owners en la base de datos actual, ejecute la siguiente instrucción Transact-SQL comandos:
    exec sp_helprolemember 'db_ddladmin' exec sp_helprolemember 'db_owner'
  • Los usuarios con permiso CREATE DATABASE pueden crear nuevas bases de datos y adjuntar bases de datos existentes. Si está habilitado el encadenamiento de propiedad entre bases de datos, estos usuarios tener acceso a objetos en otras bases de datos desde bases de datos recién creadas o adjuntos.
Aunque Microsoft recomienda que apague el encadenamiento de propiedad entre bases de datos para obtener la máxima seguridad, hay algunos entornos donde se puede confiar completamente los usuarios privilegios muy; por lo tanto, puede habilitar la propiedad de base de datos entre bases de datos específico cumplir los requisitos de aplicaciones específicas.

Cómo configurar encadenamiento de propiedad entre bases de datos durante la instalación

En la instalación de Microsoft SQL Server Service Pack 3 (SP3), se ha agregado un nuevo cuadro de diálogo para permitir que el administrador del sistema controlar o no se permitirán el encadenamiento de propiedad de base de datos entre. Si elige Habilitar el encadenamiento para todas las bases de datos de propiedad entre bases de datos durante la instalación de SQL Server 2000 SP3, va a habilitar esta opción entre todas las bases de datos. Éste era el comportamiento predeterminado antes de SQL Server 2000 SP3. Independientemente de la opción que seleccione durante la instalación, puede modificar más adelante servidor y base de datos de compatibilidad con encadenamiento de propiedad entre bases de datos mediante comandos de Transact-SQL o desde el Administrador corporativo de SQL Server.

Cómo configurar encadenamiento de propiedad entre bases de datos después de la instalación

Para cambiar la configuración de encadenamiento de propiedad entre bases de datos, utilice las nuevas opciones de sp_configure y los procedimientos de almacenado sp_dboption .

Nota Si separar y volver a adjuntar una base de datos, debe reactivar el encadenamiento de propiedad entre bases de datos.
  • Configurar encadenamiento de propiedad entre bases de datos mediante comandos de Transact-SQL:
    • Configurar encadenamiento compatibilidad para la instancia de SQL Server con la nueva opción de Encadenamiento de propiedad de DB entre para sp_configure de propiedad de bases de datos cruzadas. Cuando esta opción se establece en 0, puede controlar el encadenamiento de propiedad entre bases de datos en el nivel de base de datos con sp_dboption . Cuando esta opción se establece en 1, no se puede restringir de encadenamiento de propiedad entre bases de datos. Éste es el comportamiento de versiones anteriores de SQL Server 2000 SP3. Si cambia esta opción, incluya la opción RECONFIGURE para volver a configurar la instancia sin tener que reiniciarlo. Por ejemplo, utilice el siguiente comando para permitir encadenamiento de propiedad entre bases de datos en todas las bases de datos:
      EXEC sp_configure 'Cross DB Ownership Chaining', '1'; RECONFIGURE 
      
    • Configurar encadenamiento de propiedad entre bases de datos en el nivel de base de datos con la opción de encadenamiento de base de datos nueva de sp_dboption . Cuando esta opción está establecida en false, la base de datos no puede participar en el encadenamiento de propiedad entre bases de datos como el origen o la base de datos de destino. Cuando esta opción está establecida en true, la base de datos puede participar en una cadena de propiedad entre bases de datos. De forma predeterminada, esta opción es false para todas las bases de datos usuario después de aplicar SP3 de SQL Server 2000. El siguiente comando habilita encadenamiento de propiedad entre bases de datos para la base de datos Northwind:
      EXEC sp_dboption 'Northwind', 'db chaining', 'true'

    Los efectos de sp_dboption se manifiesta sólo cuando la opción de Encadenamiento de propiedad de DB entre sp_configure está establecida en 0. Además, para habilitar el encadenamiento del nivel de base de datos de propiedad entre bases de datos, debe habilitar esta opción en el origen y la base de datos de destino.
  • Configurar encadenamiento de propiedad entre bases de datos mediante el Administrador corporativo de SQL:
    • Para establecer esta opción para todas las bases de datos, siga estos pasos:
      1. Haga clic con el botón secundario del mouse en <server>.
      2. Haga clic para seleccionar Propiedades .
      3. Haga clic en seguridad .
      4. Haga clic para seleccionar Permitir entre bases de datos encadenamiento de propiedad en el encadenamiento de propiedad de sección.
      5. Haga clic en Aceptar. Se le pedirá que detener y reiniciar los servicios de SQL Server.
      6. Haga clic en Aceptar .
    • Para habilitar esta opción en el nivel de base de datos, siga estos pasos:
      1. Haga clic con el botón secundario en el <database>.
      2. Haga clic para seleccionar Propiedades .
      3. Haga clic en Opciones .
      4. Haga clic para seleccionar Permitir base de datos entre cadenas de propiedad en la sección de configuración

Propiedades

Id. de artículo: 810474 - Última revisión: lunes, 29 de octubre de 2007 - Versión: 4.3
La información de este artículo se refiere a:
  • Service Pack 3 de Microsoft SQL Server 2000
Palabras clave: 
kbmt kbproductlink kbinfo kbsysadmin kbupgrade kbsqlserv2000sp3fea KB810474 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 810474

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com