Não deve desactivar o utilizador convidado na base de dados msdb no SQL Server

Traduções de Artigos Traduções de Artigos
Artigo: 2539091 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sumário

SQL Server Books Online recomenda que desactive o utilizador convidado em cada base de dados como procedimento recomendado para proteger o servidor de base de dados. Esta recomendação não se aplica bases de dados de sistema de tempb, tomaster e msdb.Para algumas funcionalidades do Microsoft SQL Server trabalhar, o utilizador de convidadotem de estar activada na base de dados msdb. Este artigo descreve alguns problemas que poderá detectar se desactivar o utilizador convidado na base de dados msdb. O artigo também fornece informações sobre como resolver esses problemas.

Para mais informações sobre esta recomendação no SQL Server Books Online, visite o seguinte Web site da Microsoft Developer Network (MSDN):

Obter informações sobre como limitar o acesso a dados no SQL Server

Mais Informação

Sintomas quando o utilizador de convidado está desactivado na base de dados msdb

Quando o utilizador de convidado está desactivado na base de dados msdb, poderá receber o erro 916Quando expande o nó de bases de dados no Management Studio ou quando um serverapplication, tais como OCS tenta ligar ao SQL Server.You poderá detectar um ou mais dos seguintes sintomas no seu ambiente quando este problema ocorre.

NOTEO texto do erro ligeiramente pode variar, dependendo do cenário. No entanto, a causa subjacente é essencialmente o mesmo. A causa é privilégios suficientes na base de dados msdb. Os dois primeiros sintomas ocorrem quando o Explorador de objectos tenta Mostrar o estado de gestão da política com base de cada base de dados. Explorador de objectos utiliza as permissões do início de sessão actual, para consultar a base de dados msdb para obter estas informações, o que faz com que o erro.

Sintoma 1

Em ambientes de SQL Server 2008 e o SQL Server 2008 R2, quando um utilizador que não seja membro de Sysadmin fixo a função de servidor no SQL Server e não anteriormente concedidas as permissões apropriadas no msdb tenta expanda o nó de bases de dados ou qualquer uma das pastas nesse nó, recebem uma mensagem de erro semelhante à seguinte:

Falha ao obter dados para este pedido. (Microsoft.SqlServer.Manager.Sdk.Sfc)

Obter informações adicionais:

Ocorreu uma excepção ao executar uma instrução Transact-SQL ou batch.

(Microsoft.SqlServer.ConnectionInfo)

O principal do servidor <Servername>não é possível aceder à base de dados "msdb" no contexto de segurança actual. (Microsoft SQL Server, o erro: 916)</Servername>

NotaExpandir o nó de base de dados é apenas uma das actividades que requer a permissãoLigarpara a conta de convidado para o msdbdatabase. Pode ocorrer um erro semelhante com qualquer actividade que requer acesso mínimo pelo menos a base de dados de themsdb.

Sintoma 2

No SQL Server 2005, quando um utilizador que não seja membro de Sysadmin fixada a função de servidor no SQL Server e que não é concedido caso contrário, as permissões apropriadas no msdb, pode expandir o nó de bases de dados. No entanto, quando o utilizador tenta visualizar as propriedades de uma base de dados, recebem a seguinte mensagem de erro:

Não é possível mostrar a caixa de diálogo pedida.

OBTER INFORMAÇÕES ADICIONAIS:
Não é possível mostrar a caixa de diálogo pedida. (SqlMgmt)
Ocorreu uma excepção ao executar uma instrução Transact-SQL ou batch. (Microsoft.SqlServer.ConnectionInfo)
O principal do servidor Principal nome não é possível aceder à base de dados "msdb" no contexto de segurança actual. (Microsoft SQL Server, o erro: 916)

NotaA mensagem de erro ocorre mesmo quando o utilizador é um membro da função dbo nessa base de dados.

Sintoma 3

Um dos produtos afectados por este problema é o Microsoft Office Communications Server 2007 (OCS 2007). Os serviços front-end não são iniciados quando tenta iniciar o servidor. Além disso, verá a seguinte mensagem de erro no Visualizador de eventos:

Tipo de evento: erro
Origem do evento: Serviços de OCS utilizador
Categoria do evento: (1006)
ID do evento: 30962
Data: data
Tempo: tempo de
Utilizador: n/d
Computador: nome_computador de
Descrição: Ligação à base de dados back-end teve êxito, mas não foi possível executar o processo de registo armazenado no back-end. Este erro não deverá ocorrer em condições normais. Contacte o suporte de produto.
Servidor back-end: Base de dados nome_servidor : rtc erro nativo Sql: cadeia de ligação 916: Controlador = {SQL Native Client};Trusted_Connection = yes;AutoTranslate = não; servidor =nome_servidor; base de dados = rtc;
Causa: Possíveis problemas com a base de dados back-end.
Resolução:
Certifique-se de que back-end está a funcionar correctamente.
Para mais informações, consulte Ajuda e o Centro de suporte em http://go.microsoft.com/fwlink/events.asp.

Para mais informações, consulte o seguinte tópico no fórum suporte OCS:

http://social.microsoft.com/Forums/en-us/communicationsserversetup/thread/8b428bd3-0509-4859-ac11-122bdbef06cc

Como determinar o problema

Para determinar se o utilizador de convidado está correctamente configurado na base de dados msdb, execute a seguinte consulta como um membro da função de servidor fixa 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

Se receber um conjunto de resultados que é semelhante ao seguinte, o utilizador de convidado tem as permissões necessárias.
Reduzir esta tabelaExpandir esta tabela
grantee_nameclasseclass_descmajor_idminor_idgrantee_principal_idgrantor_principal_idtipopermission_nameEstadostate_desc
convidado0BASE DE DADOS0021COLIGARGCONCESSÃO

Se receber um conjunto de resultado vazio ou se o state_desc mostra NEGAR no resultado definido que é mencionado aqui, que o utilizador de convidado está desactivado na base de dados msdb. Poderá receber o erro 916 quando liga a uma base de dados.

Como resolver o problema

Para resolver o problema, execute a seguinte consulta no SQL Server Management Studio, como um membro da função de servidor de fixa sysadmin:

USE msdb;

GRANT connect TO guest;

GO


Propriedades

Artigo: 2539091 - Última revisão: 24 de junho de 2014 - Revisão: 6.0
A informação contida neste artigo aplica-se 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 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
Palavras-chave: 
kbsurveynew kbexpertiseadvanced kbtshoot kbprb kbmt KB2539091 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 2539091

Submeter comentários

 

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