No debe deshabilitar al usuario guest en la base de datos msdb en SQL Server

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

Resumen

Los libros en pantalla se recomienda deshabilitar el usuario invitado en cada base de datos como una mejor práctica para proteger el servidor de base de datos. Esta recomendación no se aplica a las bases de datos del sistema de master, msdb y tempb. A fin de que algunas características de Microsoft SQL Server trabajar, el usuario invitadodebe estar habilitado en la base de datos msdb. En este artículo se describe algunos problemas que pueden surgir si se deshabilita al usuario guest en la base de datos msdb. El artículo también proporciona información acerca de cómo resolver esos problemas.

Para obtener más información acerca de esta recomendación en los libros en pantalla, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):

Información acerca de cómo limitar el acceso a datos en SQL Server

Más información

Síntomas cuando el usuario invitado está deshabilitado en la base de datos msdb

Cuando el usuario invitado está deshabilitado en la base de datos msdb, puede recibir el error 916Cuando se expande el nodo de bases de datos en Management Studio o cuando una aplicación de servidor, como OCS intentará conectarse a SQL Server. Puede experimentar uno o varios de los síntomas siguientes en su entorno cuando se produce este problema.

NOTE El texto del error puede variar ligeramente, dependiendo del escenario. Sin embargo, la causa subyacente es esencialmente el mismo. Causa es privilegios suficientes en la base de datos msdb. Los dos primeros síntomas se producen cuando el Explorador de objetos intenta mostrar el estado de administración de directivas en función de cada base de datos. Explorador de objetos utiliza los permisos de inicio de sesión actual para consultar esta información, lo que provoca el error en la base de datos msdb.

Síntoma 1

En entornos de 2008 de SQL Server y SQL Server 2008 R2, cuando se trata de un usuario que no es un miembro de la función Sysadmin fija de servidor en SQL Server y de lo contrario no se conceden los permisos adecuados en msdb expandir el nodo de bases de datos o en cualquiera de las carpetas de ese nodo, reciben un mensaje de error similar al siguiente:

Error al recuperar datos para esta solicitud. (Microsoft.SqlServer.Manager.Sdk.Sfc)

Información adicional:

Se ha producido una excepción mientras se ejecuta una instrucción de Transact-SQL o por lotes.

(Microsoft.SqlServer.ConnectionInfo)

El principal de servidor <servername> no es capaz de tener acceso a la base de datos "msdb" en el contexto de seguridad actual. (Microsoft SQL Server, Error: 916)</servername>

Nota Expanda el nodo de la base de datos es sólo una de las actividades que requiereConectarpermiso para la cuenta de invitado a la base de datos msdb. Puede producirse un error similar con cualquier actividad que requiere al menos un mínimo acceso a la base de datos msdb.

Síntoma 2

En SQL Server 2005, cuando un usuario que no es un miembro de la función fijado de servidor en SQL Server Sysadmin, y que no se concede en caso contrario los permisos adecuados en msdb, puede expandir el nodo de bases de datos. Sin embargo, cuando el usuario intenta ver las propiedades de una base de datos, recibe el mensaje de error siguiente:

No se puede mostrar el cuadro de diálogo solicitado.

INFORMACIÓN ADICIONAL:
No se puede mostrar el cuadro de diálogo solicitado. (SqlMgmt)
Se ha producido una excepción mientras se ejecuta una instrucción de Transact-SQL o por lotes. (Microsoft.SqlServer.ConnectionInfo)
El principal del servidor Nombre principal no es capaz de tener acceso a la base de datos "msdb" en el contexto de seguridad actual. (Microsoft SQL Server, Error: 916)

Nota El mensaje de error se produce incluso cuando el usuario es un miembro de la función de dbo en esa base de datos.

Síntoma 3

Uno de los productos afectados por este problema es Microsoft Office Communications Server 2007 (OCS 2007).  Los servicios front-end no se inician cuando intenta iniciar el servidor. Además, consulte el siguiente mensaje de error en el Visor de sucesos:

Tipo de suceso: Error
Origen del suceso: Servicios de usuario de OCS
Categoría del suceso: (1006)
ID. de suceso: 30962
Fecha: Fecha
Tiempo: Tiempo
Usuario: N/d
Equipo: NombreDeEquipo
Descripción: Se ha realizado correctamente la conexión de base de datos de back-end, pero no se pudo ejecutar el procedimiento de registro almacenado en el back-end. Este error no debería suceder bajo condiciones normales de funcionamiento. Póngase en contacto con el servicio de soporte técnico.
Servidor de back-end: NombreDeServidor Base de datos: rtc error nativo de Sql: 916 cadena de conexión de: driver = {SQL Native Client};Trusted_Connection = yes;Traducir = no; servidor =NombreDeServidor; database = rtc;
Causa: Posibles problemas con la base de datos de back-end.
Resolución:
Asegúrese de que el back-end está funcionando correctamente.
Para obtener más información, consulte el centro de ayuda y soporte técnico en http://go.Microsoft.com/fwlink/events.asp.

Para obtener más información, consulte el siguiente subproceso en el foro de soporte de OCS:

http://social.Microsoft.com/forums/en-US/communicationsserversetup/Thread/8b428bd3-0509-4859-ac11-122bdbef06cc

Cómo determinar el problema

Para determinar si el usuario invitado está configurado correctamente en la base de datos msdb, ejecute la consulta siguiente como miembro de la función de servidor fija sysadmin:

USE msdb;

SELECT prins.name AS grantee_name, perms.*

FROM sys.database_permissions AS perms

JOIN sys.database_principals AS prins

ON perms.grantee_principal_id = prins.principal_id

WHERE prins.name = 'guest' AND perms.permission_name = 'CONNECT';

GO

Si recibe un conjunto de resultados similar a la siguiente, el usuario invitado tiene los permisos necesarios.
Contraer esta tablaAmpliar esta tabla
grantee_nameclaseclass_descmajor_idminor_idgrantee_principal_idgrantor_principal_idescribapermission_nameestadostate_desc
invitado0BASE DE DATOS0021COCONECTARGGRANT

Si recibe un conjunto de resultados vacío o si el state_desc se muestra en Denegar en el conjunto de resultados anterior, el usuario invitado está deshabilitada en la base de datos msdb. Puede recibir el error 916 cuando se conecta a una base de datos.

Cómo resolver el problema

Para resolver el problema, ejecute la siguiente consulta en SQL Server Management Studio como un miembro de la función fijado de servidor sysadmin:

USE msdb;

GRANT connect TO guest;

GO

 

Propiedades

Id. de artículo: 2539091 - Última revisión: viernes, 22 de julio de 2011 - Versión: 5.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
Palabras clave: 
kbsurveynew kbexpertiseadvanced kbtshoot kbprb kbmt KB2539091 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): 2539091

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