Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 R2, Microsoft SQL Server 2008 и Microsoft SQL Server 2005 в виде одного загружаемого файла. Поскольку исправления являются накопительными, каждый новый выпуск содержит все исправления и исправления для системы безопасности, которые были включены в предыдущий выпуск исправлений SQL Server 2008 R2, SQL Server 2008 или SQL Server 2005.
Проблема
Рассмотрим следующий сценарий.
- Вы запускаете команду DBCC CHECKDB('master) на компьютере под управлением SQL Server 2005, SQL Server 2008 или SQL Server 2008 R2.
- Учетная запись пользователя, используемая для выполнения команды, не назначена фиксированной роли сервера системного администратора или не сопоставлена с ролью пользователя "dbo".
- Вы получили успешный результат DBCC.
В этом сценарии вы получаете сообщение об ошибке, похожее на следующее под результатом DBCC:
Примечание
MSG 7983, уровень 14, состояние 36, строка 2
У пользователя "гость" нет разрешения на запуск DBCC checkdb для базы данных "mssqlsystemresource".
Решение
Сведения о накопительном пакете обновления
SQL Server 2005 с пакетом обновления 4 (SP4)
Исправление для этой проблемы впервые было выпущено в накопительном пакете обновления 1 для SQL Server 2005 с пакетом обновления 4 (SP4). Дополнительные сведения об этом накопительном пакете обновления см. в следующей статье базы знаний Майкрософт:
2464079 Накопительный пакет обновления 1 для SQL Server 2005 с пакетом обновления 4 (SP4) Так как сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, включенные в предыдущий выпуск исправления SQL Server 2005 г. Корпорация Майкрософт рекомендует рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2485757 Сборки SQL Server 2005 г., выпущенные после выпуска SQL Server 2005 с пакетом обновления 4 (SP4) для Microsoft SQL Server 2005 предназначены для определенных пакетов обновления SQL Server. Необходимо установить исправление для SQL Server 2005 с пакетом обновления 4 (SP4) для установки SQL Server 2005 с пакетом обновления 4. По умолчанию все исправления, предоставляемые в пакете обновления для SQL Server, входят в следующий пакет обновления для SQL Server.
SQL Server 2005 с пакетом обновления 3 (SP3)
Исправление для этой проблемы было впервые выпущено в накопительном пакете обновления 12 для SQL Server 2005 с пакетом обновления 3. Дополнительные сведения об этом накопительном пакете обновления см. в следующей статье базы знаний Майкрософт:
2345449 Накопительный пакет обновления 12 для SQL Server 2005 с пакетом обновления 3 Примечание Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые входили в предыдущий выпуск исправления SQL Server 2005 г. Корпорация Майкрософт рекомендует рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
960598 Сборки SQL Server 2005 г., выпущенные после выпуска SQL Server 2005 с пакетом обновления 3 (SP3) для Microsoft SQL Server 2005 предназначены для определенных пакетов обновления SQL Server. Необходимо установить исправление для SQL Server 2005 с пакетом обновления 3 (SP3) для установки SQL Server 2005 с пакетом обновления 3 (SP3). По умолчанию все исправления, предоставляемые в пакете обновления для SQL Server, входят в следующий пакет обновления для SQL Server.
SQL Server 2008 с пакетом обновления 2 (SP2)
Исправление для этой проблемы было впервые выпущено в накопительном пакете обновления 1 для SQL Server 2008 с пакетом обновления 2. Дополнительные сведения об этом накопительном пакете обновления см. в следующей статье базы знаний Майкрософт:
2289254 Накопительный пакет обновления 1 для SQL Server 2008 с пакетом обновления 2 (SP2) Так как сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления для системы безопасности, которые вошли в предыдущий выпуск исправления SQL Server 2008 г. Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
2402659 Сборки SQL Server 2008 г., выпущенные после выпуска SQL Server 2008 с пакетом обновления 2 (SP2)
SQL Server 2008 с пакетом обновления 1 (SP1)
Исправление для этой проблемы было впервые выпущено в накопительном пакете обновления 10 для SQL Server 2008 с пакетом обновления 1. Дополнительные сведения об этом накопительном пакете обновления см. в следующей статье базы знаний Майкрософт:
2279604
Накопительный пакет обновления 10 для SQL Server 2008 с пакетом обновления 1 (SP1)
Примечание
Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2008. Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
970365
Сборки SQL Server 2008, выпущенные после выпуска SQL Server 2008 с пакетом обновления 1 (SP1)
SQL Server 2008 R2
Исправление для этой проблемы впервые выпущено в накопительном пакете обновления 3. Для получения дополнительной информации о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2, откройте статью со следующим номером в базе знаний Майкрософт:
2261464 Накопительный пакет обновления 3 для SQL Server 2008 R2Note Поскольку сборки являются накопительными, каждый новый выпуск исправления содержит все исправления и исправления безопасности, которые были включены в предыдущий выпуск исправления SQL Server 2008 R2. Рекомендуется рассмотреть возможность применения последнего выпуска исправления, содержащего это исправление. Для просмотра статьи в базе знаний Майкрософт щелкните следующий номер статьи:
981356 Сборки SQL Server 2008 R2, выпущенные после выпуска SQL Server 2008 R2
Состояние
Корпорация Майкрософт подтвердила, что это проблема продуктов Microsoft, перечисленных в разделе «Относится к».
Ссылки
Дополнительные сведения о DBCC CHECKDB (Transact-SQL) см. на следующем веб-сайте сети Microsoft Developer Network (MSDN):
DBCC CHECKDB (Transact-SQL) Дополнительные сведения о компонентах и средствах PowerPivot см. на следующем веб-сайте сети Microsoft Developer Network (MSDN):
Компоненты и инструменты PowerPivot Дополнительные сведения об установке программного обеспечения PowerPivot для SharePoint см. на следующих веб-сайтах MSDN:
Установка (PowerPivot для SharePoint) Дополнительные сведения о модели добавочного обслуживания для SQL Server см. в следующей статье базы знаний Майкрософт:
935897 Команда SQL Server предоставляет модель добавочного обслуживания для предоставления исправлений для обнаруженных проблем
Дополнительные сведения о схеме именования для обновлений SQL Server см. в следующей статье базы знаний Майкрософт:
822499 Новая схема именования пакетов обновления программного обеспечения Microsoft SQL Server Дополнительные сведения о терминологии обновления программного обеспечения см. в следующей статье базы знаний Майкрософт:
824684 Стандартные термины, используемые при описании обновлений программного обеспечения Майкрософт
Дополнительные сведения
Действия по воспроизведению этой проблемы в SQL Server 2008 R2
- Создайте новую базу данных SQL Server 2008 R2. Например, создайте базу данных SQL Server 2008 R2 с помощью имени тестовой базы данных.
- Создайте новый логин SQL. В поле Имя для входа введите имя для входа. Например, введите LoginForUserA.
- В поле базы данных по умолчанию выберите базу данных, созданную на шаге 1.
- Создайте нового пользователя в базе данных, созданной на шаге 1.
- В качестве имени для входа выберите имя, созданное на шаге 2.
- Установите флажок db_owner проверка в разделе Роль роли базы данных и нажмите кнопку ОК.
- Создайте нового пользователя в базе данных MASTER, используя то же имя пользователя, которое использовалось на шаге 4.
- Повторите шаги с 5 по 6 в базе данных Master.
- Подключитесь к серверу, используя имя входа, созданное на шаге 2.
- Выполните следующую команду:
ВЫБОР ПОЛЬЗОВАТЕЛЯ
Возвращается имя пользователя, созданное на шаге 4. - Выполните следующую команду:
DBCC CHECKDB('master')
CHECKDB выполняется успешно, и возвращается следующее сообщение:
Функция CHECKDB обнаружила 0 ошибок выделения и 0 ошибок согласованности в базе данных «master».
Однако сообщение об ошибке, описанное в разделе "Симптомы", неожиданно возвращается при проверке базы данных mssqlsystemresource.