Не следует отключать пользователя guest в базе данных msdb в SQL Server

Переводы статьи Переводы статьи
Код статьи: 2539091 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Аннотация

Электронная документация по SQL Server рекомендует отключить пользователя guest в каждой базе данных настоятельно рекомендуется для обеспечения безопасности сервера базы данных. Эта рекомендация не применяется tomaster, msdb и tempb системных баз данных.Некоторые функции Microsoft SQL Server для работы, чтобы пользователь Гость,необходимо включить в базе данных msdb. В данной статье описаны некоторые проблемы, которые возникают при отключении пользователя guest в базе данных msdb. Статья также содержит сведения о способах устранения этих проблем.

Дополнительные сведения об этой рекомендации в электронной документации по SQL Server посетите следующий веб-узел Microsoft Developer Network (MSDN):

Сведения об ограничении доступа к данным в SQL Server

Дополнительная информация

Проблема при отключении пользователя guest в базе данных msdb

При отключении пользователя guest в базе данных msdb, появляется сообщение об ошибке 916Когда разворачивается узел базы данных в среде Management Studio или serverapplication, например, OCS пытается подключиться к SQL Server.You могут возникнуть одно или несколько из следующих симптомов в среде при возникновении этой проблемы.

NoteТекст сообщения об ошибке может немного зависит от сценария. Тем не менее причиной является по существу одинаково. Причиной этого является недостаточно прав в базе данных msdb. Первые две проблемы возникают при попытке обозревателя объектов для отображения состояния политики управления каждой базы данных. Обозреватель объектов использует разрешения текущего входа в базе данных msdb для этих данных, что приводит к ошибке.

Проблема 1

В среде SQL Server 2008 и SQL Server 2008 R2 при попытке пользователя, который не является членом роли sysadmin фиксированной серверной роли в SQL Server и в противном случае не предоставлены соответствующие разрешения в базе данных msdb разверните узел базы данных или какой-либо папки в группе узла, получают сообщение об ошибке, подобное приведенному ниже:

Не удается получить данные для этого запроса. (Microsoft.SqlServer.Manager.Sdk.Sfc)

Дополнительные сведения:

Возникло исключение во время выполнения инструкции Transact-SQL или пакета.

(Microsoft.SqlServer.ConnectionInfo)

<Servername>Сервер-участник не может получить доступ к базе данных «msdb» в текущем контексте безопасности. (Microsoft SQL Server, ошибка: 916)</Servername>

ПримечаниеРазверните узел базы данных является одним из действий, которые требуется разрешениеconnectдля учетной записи гостя, msdbdatabase. Подобные ошибки могут возникнуть в любой операции, требующей хотя бы минимальный доступ к базе данных themsdb.

Случай 2

В SQL Server 2005 когда пользователь, который не является членом фиксированной серверной роли в SQL Server Sysadmin и которые в противном случае не предоставлено соответствующие разрешения в базе данных msdb, можно развернуть узел базы данных. Однако когда пользователь пытается просмотреть свойства базы данных, они получают следующее сообщение об ошибке:

Не удается вывести требуемое диалоговое окно.

ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:
Не удается вывести требуемое диалоговое окно. (SqlMgmt)
Возникло исключение во время выполнения инструкции Transact-SQL или пакета. (Microsoft.SqlServer.ConnectionInfo)
Сервер-участник участника имя не сможет получить доступ к базе данных «msdb» в текущем контексте безопасности. (Microsoft SQL Server, ошибка: 916)

ПримечаниеСообщение об ошибке возникает даже в том случае, если пользователь является членом роли dbo в базе данных.

Проблема 3

Один из продуктов, эта проблема является Microsoft Office Communications Server 2007 (OCS 2007). При попытке запустить сервер клиентского доступа службы не запускаются. Кроме того появляется следующее сообщение об ошибке в окне просмотра событий:

Тип события: ошибка
Источник события: Службы OCS пользователя
Категория события: (1006)
Код события: 30962
Дата: дата
Время: время
Пользователь: н/д
Компьютер: имя_компьютера
Описание: Подключение к серверной базе данных выполнена успешно, но не удалось выполнить процедуру регистрации хранятся на задней стороне. Эта ошибка не должна возникать в обычных условиях работы. Обратитесь в службу поддержки.
Конечного сервера: База данных имя_сервера : rtc собственной ошибки Sql: 916 строки подключения: драйвер = {собственный клиент SQL};Trusted_Connection = yes;AutoTranslate = нет; server =имя_сервера; базы данных = часы реального времени;
Причина: Возможные проблемы, связанные с серверной базой данных.
Решение.
Убедитесь, что серверную работает правильно.
Для получения дополнительных сведений см. центр справки и поддержки в http://go.Microsoft.com/fwlink/Events.ASP.

Дополнительные сведения см. ниже поток в форум поддержки OCS:

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

Определение проблемы

Чтобы определить, правильно ли настроена пользователя guest в базе данных msdb, запустите следующий запрос, который является членом фиксированной серверной роли 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

При получении набора результатов, подобное приведенному ниже, пользователь-Гость имеет необходимые разрешения.
Свернуть эту таблицуРазвернуть эту таблицу
grantee_nameклассclass_descmajor_idminor_idgrantee_principal_idgrantor_principal_idТипpermission_nameсостояниеstate_desc
Гость0БАЗЫ ДАННЫХ0021COПОДКЛЮЧЕНИЕGГРАНТ

При получении пустой результирующий набор или если state_desc показывает DENY в результате значение, здесь упоминается, отключении пользователя guest в базе данных msdb. Появляется сообщение об ошибке 916 при подключении к базе данных.

Как решить проблему

Чтобы устранить эту проблему, запустите следующий запрос в среде SQL Server Management Studio как член фиксированной серверной роли sysadmin:

USE msdb;

GRANT connect TO guest;

GO


Свойства

Код статьи: 2539091 - Последний отзыв: 22 июня 2014 г. - Revision: 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 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.
Эта статья на английском языке: 2539091

Отправить отзыв

 

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