ИСПРАВЛЕНИЕ: Сообщение об ошибке при попытке установить SQL Server 2005: "[Microsoft] [собственный клиент SQL] [SQL Server] сертификат не может быть удален, так как один или несколько сущностей либо подписаны или зашифрованы с его помощью»

Переводы статьи Переводы статьи
Код статьи: 955920 - Vizualiza?i produsele pentru care se aplic? acest articol.
Номер ошибки: 50003040 (исправление SQL)
Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2005 как один загружаемый файл. Так как исправления являются накопительными, каждый выпуск содержит все исправления и исправить все исправления безопасности, которые вошли в состав SQL Server 2005 release.
Развернуть все | Свернуть все

В этой статье

Проблема

При попытке установить Microsoft SQL Server 2005, появляется следующее сообщение об ошибке:
Программа установки SQL Server обнаружила следующие проблемы: [Microsoft] [собственный клиент SQL] [SQL Server] сертификат не может быть удален, так как один или несколько сущностей либо подписаны или зашифрованы с его помощью. Чтобы продолжить, исправьте ошибку и снова запустите программу установки SQL Server.
Кроме того в SQL Server 2005 Errorlog файл регистрируется следующее сообщение об ошибке:
Значение SQL_ERROR (-1) в OdbcStatement::execute_batch
SQLSTATE = значениям состояния, уровень = 0, состояние = 1, native_error = 0, msg = sps подписи [Microsoft] [собственный клиент SQL] [SQL Server]...
SQLSTATE = 42000, уровень = 16, состояние 1, native_error = 15352, msg = [Microsoft] [собственный клиент SQL] [SQL Server] сертификат не может быть удален, так как один или несколько сущностей либо подписаны или зашифрованы с его помощью.
SQLSTATE = 42000, уровень = 16, состояние 1, native_error = 15232, msg = [Microsoft] [собственный клиент SQL] [SQL Server] A сертификат с именем "## MS_AgentSigningCertificate ##" уже существует или этот сертификат уже добавлен в базу данных.
SQLSTATE = HY000, уровень = 0, состояние = 0, native_error = 0, msg = [Microsoft] [собственный клиент SQL] произошла неизвестная ошибка на сервере SQL Server. Подключение прервано сервером.
SQLSTATE = 42000, уровень = 16, состояние = 2, native_error = 2745, msg [Microsoft] [собственный клиент SQL] [SQL Server] = 51 идентификатор процесса, поднял 50000, серьезность ошибки пользователя 20. SQL Server завершает этот процесс.
SQLSTATE = HY000, уровень = 20, состояние = 127, native_error = 50000, msg = [Microsoft] [собственный клиент SQL] [SQL Server] не удается создать ## MS_AgentSigningCertificate ## в базе данных msdb. INSTMSDB.Завершение работы SQL.
Печать «... sps подписи»
Если существует (выберите * из sys.certificates где имя = "## MS_AgentSigningCertificate ##")
Удаление сертификата [## MS_AgentSigningCertificate ##]
Создание сертификата [## MS_AgentSigningCertificate ##]
шифрование пароля = «yukon90_»
subject = «ms_agentsigningcertificate»
IF (функция @@ error <> 0)
Инструкция RAISERROR ("не удалось создать ## MS_AgentSigningCertificate ## в базе данных msdb. INSTMSDB.Завершение работы SQL. ", 20, 127) с помощью ЖУРНАЛА
Данная проблема возникает при установке сборки 3156 или последнюю версию SQL Server 2005 и выполнении одного из следующих условий:
  • При попытке обновления до новой версии SQL Server 2005.
  • Можно использовать USESYSDB возможность установки SQL Server 2005. Этот параметр использует системные базы данных из существующей установки.

Решение

Накопительное обновление информации

SQL Server 2005 с пакетом обновления 2

Важные Это исправление необходимо использовать при работе с SQL Server 2005 с пакетом обновления 2.

Исправление этой уязвимости первого выпуска накопительного обновления 10 для SQL Server 2005 с пакетом обновления 2. Для получения дополнительных сведений о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:
956854 Накопительный пакет обновления 10 для SQL Server 2005 с пакетом обновления 2
Примечание Поскольку сборки являются накопительными, каждый новый выпуск исправлений содержит все исправления и исправить все исправления безопасности, которые вошли в состав SQL Server 2005 release. Корпорация Майкрософт рекомендует их применение самую последнюю версию исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
937137 SQL Server 2005 выполняет построение, выпущенных после пакета обновления 2 (SP2) для SQL 2005
Microsoft SQL Server 2005 исправлениях создаются для определенных пакетов обновления SQL Server. Необходимо установить исправление SQL Server 2005 с пакетом обновления 2 для установки SQL Server 2005 с пакетом обновления 2. По умолчанию какие-либо исправления, входящее в пакет обновления SQL Server включены в следующий пакет обновления SQL Server.

SQL Server 2005 с пакетом обновления 3

Важные Это исправление необходимо использовать при работе пакета обновления 3 (Sp3) для SQL Server 2005.

Исправление этой уязвимости также позже была выпущена в накопительное обновление 1 для пакета обновления 3 (Sp3) для SQL Server 2005. Для получения дополнительных сведений о этот накопительный пакет обновления щелкните следующий номер статьи базы знаний Майкрософт:
959195 Накопительный пакет обновления 1 для пакета обновления 3 (Sp3) для SQL Server 2005
Примечание Поскольку сборки являются накопительными, каждый новый выпуск исправлений содержит все исправления и исправить все исправления безопасности, которые вошли в состав SQL Server 2005 release. Корпорация Майкрософт рекомендует их применение самую последнюю версию исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
960598 SQL Server 2005 выполняет построение, выпущенных после пакета обновления 3 (Sp3) для SQL Server 2005
Microsoft SQL Server 2005 исправлениях создаются для определенных пакетов обновления SQL Server. Необходимо установить исправление пакета обновления 3 (Sp3) для SQL Server 2005 до установки пакета обновления 3 (Sp3) для SQL Server 2005. По умолчанию какие-либо исправления, входящее в пакет обновления SQL Server включены в следующий пакет обновления SQL Server.

Заметки
  • Если эта проблема возникает при использовании USESYSDB возможность установки SQL Server 2005, установите это исправление к исходному серверу. После установки исправления необходимо сделать копии файлов системной базы данных. При использовании с помощью этой новой набор файлов системной базы данных USESYSDB возможность установки SQL Server 2005.
  • Если эта проблема возникает при попытке обновления до новой версии SQL Server 2005, это исправление, а затем выполнить обновление.

Временное решение

Чтобы обойти эту проблему, используйте один из следующих способов.

Способ 1

Если эта проблема возникает при использовании USESYSDB возможность установки SQL Server 2005, выполните следующие действия:
  1. Выполните следующие инструкции на существующей установке SQL Server. Эта операция удаляет зависимость между сертификат и sp_validate_user хранимой процедуры.
    USE msdb
    GO
    
    IF (EXISTS (SELECT * FROM msdb.dbo.sysobjects WHERE (name = N'sp_validate_user')))
    DROP PROCEDURE sp_validate_user
    GO
    
  2. Создание копии системных баз данных.

    Примечание Для повторного создания sp_validate_user хранимую процедуру после внесения копии системных баз данных, выполните сценарий sysdbupg.sql, который находится в следующей папке:
    C:\Program Files\Microsoft SQL Server\MSSQL.x\MSSQL\Install
    Запустите следующие инструкции, чтобы убедиться, что в списке результатов sp_validate_user хранимой процедуры.
    USE msdb
    GO
    
    SELECT object_name(crypts.major_id) 
    FROM sys.crypt_properties crypts, sys.certificates as certs 
    WHERE crypts.thumbprint = certs.thumbprint and crypts.class = 1 and certs.name = '##MS_AgentSigningCertificate##'
    GO
    
  3. Использование системных баз данных, скопированный на шаге 2, при установке SQL Server 2005, используя параметр USESYSDB.
  4. Установите последнее накопительное обновление для SQL Server 2005 и SQL Server 2005 с пакетом обновления 2.

    Примечание Нет необходимости вручную повторно создать sp_validate_user хранимой процедуры. Эта хранимая процедура будет создан и подписанный сертификат, после установки накопительного обновления.
Если эта проблема возникает при попытке обновления до новой версии SQL Server 2005, выполните следующие действия.
  1. Выполните следующие инструкции на существующей установке SQL Server. Эта операция удаляет зависимость между сертификат и sp_validate_user хранимой процедуры.
    USE msdb
    GO
    
    IF (EXISTS (SELECT * FROM msdb.dbo.sysobjects WHERE (name = N'sp_validate_user')))
    DROP PROCEDURE sp_validate_user
    GO
    
  2. Запустите программу установки для обновления SQL Server 2005.
  3. Выполните следующие инструкции, чтобы убедиться, что в списке результатов sp_validate_user хранимой процедуры.
    USE msdb
    GO
    
    SELECT object_name(crypts.major_id) 
    FROM sys.crypt_properties crypts, sys.certificates as certs 
    WHERE crypts.thumbprint = certs.thumbprint and crypts.class = 1 and certs.name = '##MS_AgentSigningCertificate##'
    GO
    

Способ 2

  1. Задайте переменную среды под названием SqlStop. Присвойте ему значение ComponentUpgrade.

    Для этого на компьютере под управлением Windows XP, выполните следующие действия.
    1. Щелкните правой кнопкой мыши Мой компьютер, а затем нажмите кнопку Свойства.
    2. Нажмите кнопку Дополнительно Вкладка.
    3. Нажмите кнопку Переменные среды.
    4. В группе Системные переменные, нажмите кнопку Новый, а затем добавьте новую переменную с именем SqlStop.
    Для этого на компьютере под управлением Windows Vista, выполните следующие действия.
    1. Щелкните правой кнопкой мыши Компьютер , а затем нажмите кнопку Свойства .
    2. В области переходов нажмите кнопку Дополнительные параметры системы.
    3. Нажмите кнопку Дополнительно Вкладка.
    4. Нажмите кнопку Переменные среды.
    5. В группе Системные переменные, нажмите кнопку Новый, а затем добавьте новую переменную с именем SqlStop.
  2. Использование USESYSDB вариант установки — обновление или установка SQL Server 2005. Программа установки останавливается, и появляется диалоговое окно отладки перед запуском программы установки сценариев обновления. В этом диалоговом окне оставьте открытым до шага 4.
  3. После завершения программы установки, откройте файл сценария Sqlagent90_msdb_upgrade.sql, который находится в следующей папке:
    <sql server="" installation="" directory=""></sql>\MSSQL.x\MSSQL\Upgrade
    Добавьте следующие строки в файл сценария в разделе интерес с дополнениями:
    --- section of interest with additions
    IF (EXISTS (SELECT *
                FROM msdb.dbo.sysobjects
                WHERE (name = N'sp_validate_user')))
      DROP PROCEDURE sp_validate_user
    go
    
    if exists (select * from sys.certificates where name = '##MS_AgentSigningCertificate##')
       drop certificate [##MS_AgentSigningCertificate##]
    
  4. Продолжение установки, нажав кнопку ОК в окне отладки.
  5. Установите последнее накопительное обновление для SQL Server 2005 и SQL Server 2005 с пакетом обновления 2.

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Microsoft, перечисленных в разделе «Относится к».

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

Для получения дополнительных сведений об изменении файлов и сведения о требованиях для применения в накопительный пакет обновления, содержащий исправление, описанное в данной статье базы знаний Майкрософт щелкните следующий номер статьи базы знаний Майкрософт:
956854 Накопительный пакет обновления 10 для SQL Server 2005 с пакетом обновления 2

Ссылки

Для получения дополнительных сведений о списке сборок, которые будут доступны после пакета обновления 2 (SP2) для SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
937137 Список сборок, доступных после выпуска SQL Server 2005 с пакетом обновления 2
Для получения дополнительных сведений о добавочных модель обслуживания для SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
935897 Доступные группы разработчиков SQL Server для исправления ошибок, о которой сообщалось в добавочной модель обслуживания
Для получения дополнительных сведений о получении пакета обновления 2 для SQL Server 2005 щелкните следующий номер статьи базы знаний Майкрософт:
913089 Как получить последний пакет обновления для SQL Server 2005
Для получения дополнительных сведений о новых возможностях и улучшениях в SQL Server 2005 с пакетом обновления 2 посетите следующий веб-узел корпорации Майкрософт:
http://go.Microsoft.com/fwlink/?LinkId = 71711
Для получения дополнительных сведений о схеме именования обновлений SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
822499 Новая схема присвоения имен пакетам обновлений программного обеспечения Microsoft SQL Server
Для получения дополнительных сведений о терминологии, обновление программного обеспечения щелкните следующий номер статьи базы знаний Майкрософт:
824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Свойства

Код статьи: 955920 - Последний отзыв: 19 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Workgroup Edition
Ключевые слова: 
kbfix kbPubTypeKC kbqfe kbexpertiseadvanced kbmt KB955920 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:955920

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

 

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