Non è necessario disattivare l'utente guest nel database msdb di SQL Server

IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 2539091

Sommario
Documentazione in linea di SQL Server consiglia di disattivare l'utente guest in ogni database è consigliabile per la protezione dei server di database. Questa raccomandazione non si applica tomaster e tempb i database di sistema msdb.In ordine per alcune funzionalità di Microsoft SQL Server per l'utilizzo, l'utente guestdeve essere abilitato nel database msdb. In questo articolo vengono descritti alcuni problemi che possono verificarsi se si disattiva l'utente guest nel database msdb. L'articolo fornisce anche informazioni su come risolvere tali problemi.

Per ulteriori informazioni su questa raccomandazione nella documentazione in linea di SQL Server, visitare il seguente sito Web Microsoft Developer Network (MSDN):

Informazioni sulla limitazione dell'accesso ai dati in SQL Server

Informazioni

Sintomi quando l'utente guest è disattivato nel database msdb

Quando l'utente guest è disattivato nel database msdb, è possibile che venga visualizzato un errore 916Quando si espande il nodo di database in Management Studio o un serverapplication, ad esempio OCS tenta di connettersi a SQL Server.You possono verificarsi uno o più dei seguenti sintomi nel proprio ambiente quando si verifica questo problema.

NotaIl testo dell'errore variano leggermente, a seconda dello scenario. Tuttavia, la causa sottostante è essenzialmente la stessa. Tale causa è dispone di privilegi sufficienti nel database msdb. I primi due sintomi si verificano quando si tenta di visualizzare lo stato di gestione basato su criteri di ogni database in Esplora oggetti. Esplora oggetti utilizza le autorizzazioni di accesso corrente per interrogare il database msdb per queste informazioni, che causa l'errore.

Sintomo 1

In ambienti SQL Server 2008 e SQL Server 2008 R2, quando un utente che non è un membro dell'amministrazione server in SQL Server e non altrimenti concesse le autorizzazioni appropriate nel database msdb tenta di espandere il nodo database o le cartelle in tale nodo, riceveranno un messaggio di errore analogo al seguente:

Impossibile recuperare i dati per la richiesta. (Microsoft.SqlServer.Manager.Sdk.Sfc)

Ulteriori informazioni:

Si è verificata un'eccezione durante l'esecuzione di un'istruzione Transact-SQL o un batch.

(Microsoft.SqlServer.ConnectionInfo)

L'entità server <Servername>non è in grado di accedere al database "msdb" nel contesto di protezione corrente. (Microsoft SQL Server, errore: 916)</Servername>

Nota. Espandere il nodo del Database è solo una delle attività che richiede l'autorizzazione diconnessioneper l'account guest per la msdbdatabase. Un errore simile può verificarsi con qualsiasi attività che richiede un accesso minimo almeno al database themsdb.

Sintomo 2

In SQL Server 2005, è possibile che quando un utente che non è un membro del server Sysadmin in SQL Server e che non viene concesso in caso contrario le autorizzazioni appropriate nel database msdb, espandere il nodo database. Tuttavia, quando l'utente tenta di visualizzare le proprietà di un database, è visualizzato il seguente messaggio di errore:

Impossibile visualizzare la finestra di dialogo richiesta.

ULTERIORI INFORMAZIONI:
Impossibile visualizzare la finestra di dialogo richiesta. (SqlMgmt)
Si è verificata un'eccezione durante l'esecuzione di un'istruzione Transact-SQL o un batch. (Microsoft.SqlServer.ConnectionInfo)
L'entità server Principal nome non è in grado di accedere al database "msdb" nel contesto di protezione corrente. (Microsoft SQL Server, errore: 916)

Nota. Il messaggio di errore si verifica anche quando l'utente è un membro del ruolo dbo in tale database.

Sintomo 3

Uno dei prodotti interessati da questo problema è Microsoft Office Communications Server 2007 (OCS 2007). I servizi front-end non vengono avviati quando si tenta di avviare il server. Inoltre, è possibile vedere il seguente messaggio di errore nel Visualizzatore eventi:

Tipo di evento: errore
Origine evento: Servizi utente di OCS
Categoria evento: (1006)
ID evento: 30962
Data: data di
Ora: ora
Utente: n/d
Computer: nome_computer
Descrizione: Connessione al database back-end è stata completata, ma è Impossibile eseguire la procedura di registrazione memorizzato sul server back-end Questo errore non dovrebbe verificarsi in condizioni operative normali. Contattare il supporto tecnico.
Server back-end: Database nome_server : rtc errore nativo di Sql: 916 stringa di connessione: driver = {SQL Native Client};Trusted_Connection = yes;AutoTranslate = no; server =nome_server; database = rtc;
Causa: Possibili problemi con il database back-end.
Risoluzione:
Garantire il che corretto funzionamento del back-end.
Per ulteriori informazioni, vedere la Guida in linea e supporto tecnico all'indirizzo http://go.microsoft.com/fwlink/events.ASP.

Per ulteriori informazioni, vedere il thread nel forum di supporto OCS riportato di seguito:

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

Come determinare il problema

Per determinare se l'utente guest è configurato correttamente nel database msdb, è possibile eseguire la query seguente come membro del ruolo predefinito del server sysadmin:

USE msdb;SELECT prins.name AS grantee_name, perms.*FROM sys.database_permissions AS permsJOIN sys.database_principals AS prinsON perms.grantee_principal_id = prins.principal_idWHERE prins.name = 'guest' AND perms.permission_name = 'CONNECT';GO

Se si riceve un set di risultati che è simile al seguente, l'utente guest dispone delle autorizzazioni necessarie.
grantee_nameclasseclass_descmajor_idminor_idgrantee_principal_idgrantor_principal_idtipopermission_namestatoSTATE_DESC
guest0DATABASE0021COCONNETTERSIGCONCESSIONE

Se si riceve un set di risultati vuoto oppure se è il state_desc Mostra Nega nel risultato che è citato in questo caso, che l'utente guest è disattivato nel database msdb. È possibile che venga visualizzato l'errore 916 quando ci si connette a un database.

Come risolvere il problema

Per risolvere il problema, eseguire la seguente query in SQL Server Management Studio come membro del ruolo del server sysadmin:

USE msdb;GRANT connect TO guest;GO


Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 2539091 - Ultima revisione: 06/24/2014 20:48:00 - Revisione: 5.0

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

  • kbsurveynew kbexpertiseadvanced kbtshoot kbprb kbmt KB2539091 KbMtit
Feedback