В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

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

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

Эта статья на английском языке: 2539091

Аннотация
Электронная документация по 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 permsJOIN sys.database_principals AS prinsON perms.grantee_principal_id = prins.principal_idWHERE 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 — последний просмотр: 06/22/2014 16:57:00 — редакция: 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
Отзывы и предложения
splay:none;" onerror="var m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">