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

Как восстановить недостающие файлы кэша установщика Windows и решить проблемы, возникающих во время обновления SQL Server

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

Эта статья на английском языке: 969052
Проблема
Процесс, описанный в этой статье содержит только аварийного контрастности, а не постоянное решение. Пользователи, использующие этот процесс аварийного следует проверять их кэша установщика Windows с помощьюПакета проверки кэширования установщика Windows, как указано в статье БАЗЫ знаний 2667628.

При попытке установить пакет обновления Microsoft SQL Server или накопительное обновление, могут появиться следующие сообщения об ошибках и проблемах кэширования установщика Windows, thesemay. Кэше установщика Windows, расположенные в папкеc:\windows\installer хранит важные файлы для приложений, установленные с помощью технологии установщика Windows и не должны удаляться. При компрометации кэше установщика может не сразу проблем см до выполнения действия, например, удаления, восстановления или обновления SQL Server.

При установке SQL Server результате установщик критические файлы хранятся в кэше установщика Windows (по умолчанию — C:\Windows\Installer). Эти файлы необходимы для удаления и обновления приложений. Невозможно скопировать отсутствующие файлы между компьютерами, потому что они являются уникальными.

Корпорация Майкрософт рекомендует для установок SQL Server сначала использовать процесс восстановления, описанные в следующих статьях для проверки текущей установки.

Должен начать восстановление из исходного установочного носителя с помощью следующей командной строки:

Setup.exe /ACTION = ВОССТАНОВЛЕНИЕ /INDICATEPROGRESS = TRUE

Сначала восстановить часто общие компоненты и компоненты, а затем повторите команду для восстановления установленных экземпляров. Во время процесса восстановления исчезнет диалоговое окно программы установки. До тех пор, пока окно хода выполнения не отображается сообщение об ошибке, процесс восстановления proceeding должным образом.

Примечание. Следующие сообщения об ошибках можно найти как текст сообщения в журнал событий или в журналы установки, расположенные в одной из следующих папок, и они указывают, что необходимо восстановить экземпляр уязвимой продолжить:
  • Для SQL Server 2008 и SQL Server 2008 R2:
    C:\Program создаваемую SQL Server\100\Setup загрузки
  • Для SQL Server 2012:
    C:\Program создаваемую SQL Server\110\Setup загрузки
Для SQL 2005 (все ветви)
Версия продуктаСообщение об ошибке при отсутствии пакета установщика (MSI)Сообщение об ошибке при отсутствии пакета кэш программы установки (MSP)
SQL Server 2005
1636 не удается установить Windows установщика MSI-файла
1636 не удалось установить файл MSP установщика Windows
Примечание Необходимо просмотреть файлы журналов программы установки для идентификации ли все файлы кэша, отсутствуют. Дополнительные сведения о том, как сделать это перейдите к разделу «Решение».

Для SQL Server 2008 с пакетом обновления 1
Версия продуктаСообщение об ошибке при отсутствии пакета установщика (MSI)Сообщение об ошибке при отсутствии пакета кэш программы установки (MSP)
SQL Server 2008 с пакетом обновления 1Сообщение об ошибке
Название: Сбой программы установки SQL Server.
------------------------------
Программа установки SQL Server произошла следующая ошибка: не удается открыть файл исправления. Файл: c:\WINNT\Installer\1cf506f.msp. Код ошибки 0x84B20001.
------------------------------
Для SQL Server 2008 с пакетом обновления 3 только для построения (CU/GDR ветви не применимо)
Версия продуктаСообщение об ошибке при отсутствии пакета установщика (MSI)Сообщение об ошибке при отсутствии пакета кэш программы установки (MSP)
SQL Server 2008 с пакетом обновления 3
Отсутствует кэшированный MSI-файл «C:\Windows\Installer\2775c8.msi». Его исходного файла — «sql_engine_core_inst.msi», и он был установлен для продукта «Microsoft SQL Server 2008 службы ядра баз данных из»<network path="">", версия «10.3.5500.0» язык «ENU».</network>
Отсутствует кэшированного файла исправления «C:\Windows\Installer\19b19196.msp». Исходный файл для этого кэшированного файла является «sql_engine_core_inst.msp», которая может быть установлена из версии «Пакет обновления 3 для SQL Server 2008 (KB2546951) (64-разрядная версия)», 10.3.5500.0
Примечание. При выполнении обновления появляется следующее сообщение об ошибке:
Ошибка SQL Server

Для SQL Server 2008 R2 SP1 только (CU/GDR ветви не применимо)
Версия продуктаСообщение об ошибке при отсутствии пакета установщика (MSI)Сообщение об ошибке при отсутствии пакета кэш программы установки (MSP)
SQL Server 2008 R2 с пакетом обновления 1
Название: Сбой программы установки SQL Server.
------------------------------
Программа установки SQL Server обнаружила следующую ошибку: C:\Windows\Installer\932b909.msi.
------------------------------
Отсутствует кэшированного файла исправления «C:\Windows\Installer\105441.msp». Исходный файл для этого кэшированного файла является «sql_engine_core_inst_loc.msp», которая может быть установлена из «Пакет обновления 1 для SQL Server 2008 R2 (KB2528583) (64-разрядная версия)», версия 10.51.2500.0.
Примечание. При выполнении обновления появляется следующее сообщение об ошибке:
Ошибка SQL Server

Для SQL Server 2008 R2 с пакетом обновления 2
Версия продуктаСообщение об ошибке при отсутствии пакета установщика (MSI)Сообщение об ошибке при отсутствии пакета кэш программы установки (MSP)
SQL Server 2008 R2 с пакетом обновления 1
Отсутствует кэшированный MSI-файл «C:\Windows\Installer\932b909.msi». Его исходного файла — «sql_engine_core_inst.msi», и он был установлен для продукта «SQL Server 2008 R2 с пакетом обновления 1 службы ядра баз данных из»<network path="">", версия «10.51.2500.0» язык «ENU».</network>
Отсутствует кэшированного файла исправления «C:\Windows\Installer\105441.msp». Исходный файл для этого кэшированного файла является «sql_engine_core_inst_loc.msp», которая может быть установлена из «Пакет обновления 1 для SQL Server 2008 R2 (KB2528583) (64-разрядная версия)», версия 10.51.2500.0.
Примечание. При выполнении обновления появляется следующее сообщение об ошибке:
Ошибка SQL Server

SQL Server 2012 до CU2
Отсутствуют сообщения для отсутствующих файлов MSI или MSP. Тем не менее код ошибки 1714 регистрируется в журнале установки.

В файле Summary.txt:
Имя компонента: файлы поддержки программы установки SQL Server
Код ошибки компонента: 1714

В файле Detail.txt:
<Date><Time>Установка блокированной системы: Sco: файл «d:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\x64\SqlSupport.msi» не существует
<Date><Time>Установка блокированной системы: Sco: файл «d:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\x64\SqlSupport.msi» не существует
<Date><Time>Установка блокированной системы: Контрольная точка: PREINSTALL_SQLSUPPORT_CPU64_ACTION
<Date><Time>SLP: Sco: попытка создания базового системного реестра HKEY_LOCAL_MACHINE, машины<Server name="">
<Date><Time>Установка блокированной системы: Sco: попытка открыть подраздел реестра Software\Microsoft\Windows\CurrentVersion\Installer
<Date><Time>Установка блокированной системы: Sco: попытка получить значение реестра InstallerLocation
<Date><Time>Установка блокированной системы: Установщик Windows версии: 5.0.7601.17514
<Date><Time>Установка блокированной системы: Sco: ожидание службы «msiserver» для принятия запроса на остановку.
<Date><Time>Установка блокированной системы: Sco: попытка открытия диспетчера Управления службами
<Date><Time>Установка блокированной системы: Sco: попытка открыть дескриптор службы для службы msiserver
<Date><Time>Установка блокированной системы: Вызов интерфейса API QueryServiceStatus Win32
<Date><Time>Установка блокированной системы: Sco: попытка закрыть дескриптор службы для службы msiserver
<Date><Time>Установка блокированной системы: Sco: попытка закрыть диспетчера Управления службами
<Date><Time>Предустановки блокированной системы: Пакет цели: «d:\2d5feb4dd893c4adee47f15661ac\1033_ENU_LP\x64\setup\sqlsupport_msi\SqlSupport.msi»
<Date><Time>Установка блокированной системы: MSI Ошибка: 1714 не удалить более раннюю версию Microsoft SQL Server 2012 установки (на английском языке). Обратитесь в группу технической поддержки.
<Date><Time>Установка блокированной системы: InstallPackage: MsiInstallProduct вернул код результата 1603.
<Date><Time>SLP: Параметр повторных попыток обнаружения с помощью MSI код ошибки: 1714
<Date><Time>Установка блокированной системы: MSI не может повторить возврата обнаружен код.</Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Time></Date></Server></Time></Date></Time></Date></Time></Date></Time></Date>

Для SQL Server 2012 CU2 (и всех последующих CU или SP)
Версия продуктаСообщение об ошибке при отсутствии пакета установщика (MSI)Сообщение об ошибке при отсутствии пакета кэш программы установки (MSP)
SQL Server 2008 R2 с пакетом обновления 1
Кэшированный MSI-файл "C:\Windows\Installer\<file_encoded_name>.msi" отсутствует. Его исходный файл '' C:\Windows\Installer\sql_<featurename>.msi "}" и он был установлен для продукта "Microsoft SQL Server <version>" из "C:\originalfolder" версия "<versionnumber>", язык "<language>".</language> </versionnumber> </version> </featurename> </file_encoded_name>
Отсутствует кэшированного файла исправления «c:\Windows\Installer\1fdb1aec.msp». Его исходного файла — «sql_engine_core_inst.msp», которая может быть установлена из «Исправление 2316 для SQL Server 2012 (KB2679368) (64-разрядная версия),» версия 11.00.2100.60.The кэшированного файла исправления "C:\Windows\Installer\<file_encoded_name>.msp" отсутствует. Его исходный файл '' C:\Windows\Installer\sql_<featurename>.msp "}", которые могут быть установлены из "исправление <number>для SQL Server 2012 <KB number="">", версия "<versionnumber>".</versionnumber> </KB> </number> </featurename> </file_encoded_name>
Примечание. При определенных условиях в SQL Server 2012 RTM носителей могут быть неправильно зарегистрированы. После удаления накопительного обновления или пакета обновления в этих случаях программа установки может запросить RTM media. Чтобы обойти эту проблему, укажите путь media RTM в процессе удаления исправления.
Причина
Эти проблемы могут возникать, если файл базы данных установщика Windows (MSI-файл) или файл исправления установщика Windows (.msp) отсутствует в кэше установщика Windows. В кэше установщика Windows находится в следующей папке:
%Windir%\Installer
При установке продукта с помощью установщика Windows хранится очищенный версии исходного файла MSI в кэше установщика Windows. Каждое обновление продукта, например, исправление, накопительного обновления или установки пакета обновления, также сохраняет соответствующие .msp или MSI-файл в кэше установщика Windows.

Все обновления для продукта, например, исправление, накопительного обновления или установки пакета обновления, опирается на информацию в файлы, которые хранятся в кэше установщика Windows. Без этой информации новое обновление не удается выполнить необходимые преобразования.
Решение
Для устранения проблемы воспользуйтесь одним из следующих процедур.

Процедура 1: Использование сценария

Чтобы выполнить действия, описанные в этой процедуре, необходимо скопировать Сценарий FindSQLInstalls.vbs в разделе «Дополнительные сведения» в локальную папку на компьютере, где вы пытаетесь обновления установки SQL Server.

Примечание. FindSQLInstalls.vbs сценарий собирает сведения о правильных путей недопустимый пакет. И этот сценарий используется для расположения источника убедитесь, что все пакеты MSP находятся в каталоге кэша установщика Windows. Все отсутствующие пакеты будут повторно добавлены при наличии исходного носителя.

Чтобы устранить эти проблемы с помощью сценария, выполните следующие действия.
  1. Найдите каталог, в котором сохраняется содержимое сценария.
  2. Откройте командную строку с повышенными правами в каталог, в котором сохранен сценарий и выполните следующую команду:
    Cscript FindSQLInstalls.vbs %computername%_sql_install_details.txt
  3. На шаге 2 в текстовый редактор, например «Блокнот» откройте файл и определения проблем, которые вызывают ошибки. Для этого найдите в файле текста шаблоны строки следующий:
    • Нет
    • !!!
  4. На основе результатов на шаге 3, предпринять шаги, которые необходимы.

    Примечание. Найдите Дополнительные сведения об этих действиях в разделе «Примеры».

  5. Повторите шаги 2 – 4, текстовый файл, созданный на шаге 2 не содержит текст, который ссылается на недопустимый путь или отсутствующие файлы для компонента, которая обновляется.

Примеры

В следующих примерах показаны записи и описание действий, которые описаны в выходной файл, созданный при запуске сценария FindSQLInstalls.vbs.

Пример 1: Отсутствующие файлы установщика
Ниже приведен пример выходных данных, которое появляется, когда отсутствует пакет MSI-файл в папке кэша установщика Windows.
================================================================================PRODUCT NAME   : Microsoft SQL Server 2008 Database Engine Services================================================================================  Product Code: {9FFAE13C-6160-4DD0-A67A-DAC5994F81BD}  Version     : 10.2.4000.0  Most Current Install Date: 20110211  Target Install Location:   Registry Path:    HKEY_CLASSES_ROOT\Installer\Products\C31EAFF906160DD46AA7AD5C99F418DB\SourceList     Package    : sql_engine_core_inst.msi  Install Source: \x64\setup\sql_engine_core_inst_msi\  LastUsedSource: m;1;G:\x64\setup\sql_engine_core_inst_msi\

В строке «LastUsedSource» указывает на местоположение, которая использовалась для запуска программы установки.

В строке «LastUsedSource» запись m; обозначает мультимедиа и указывает, что исходный компакт-ДИСК или DVD.

В следующем примере источником является компакт-диска или DVD-диска в дисководе ж. При установке из папки файла или из общего сетевого ресурса, «LastUsedSource», строка начинается с записью n; затем запись Numeric_Data_Name; и фактический путь:
!!!! sql_engine_core_inst.msi DOES NOT exist on the path in the path G:\x64\setup\sql_engine_core_inst_msi\ !!!! Action needed, re-establish the path to G:\x64\setup\sql_engine_core_inst_msi\ 

«Требуется действие» строка показывает полный путь, который должен существовать для обновления отсутствующие файлы для исходного установочного носителя:
Installer Cache File: C:\WINDOWS\Installer\19b4d2.msi 

В строке «Кэшированного файла установщика» подтверждает имя кэшированного файла установщика:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! C:\WINDOWS\Installer\19b4d2.msi DOES NOT exist in the Installer cache. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

В следующем разделе выходных данных предлагающее действий, необходимых для разрешения отсутствующих файлов:
 Action needed, recreate or re-establish path to the directory:     G:\x64\setup\sql_engine_core_inst_msi\then rerun this script to update installer cache and results     The path on the line above must exist at the root location to resolve     this problem with your msi/msp file not being found or corrupted,     In some cases you may need to manually copy the missing file or manually     replace the problem file overwriting it is exist:       Copy "G:\x64\setup\sql_engine_core_inst_msi\sql_engine_core_inst.msi" C:\WINDOWS\Installer\19b4d2.msi      Replace the existing file if prompted to do so.
Пример 2: Пропущенными исправлениями
Отсутствующие обновления может привести к записи, похожие на те, в примере 1. В большинстве случаев, можно заметить, в строке «Обновление LastUsedSource» записи, ссылающиеся на исправление и эту строку следующего вида:
Patch LastUsedSource:   n;1;c:\0ca91e857a4f12dd390f0821a3\HotFixSQL\Files\

Этот вывод указывает следующее относительно установки исправления:
  • Дважды щелкните исполняемый файл исправления была установлена исходная версия обновления.
  • Временную папку, c:\0ca91e857a4f12dd390f0821a3, использовать установщик для исправления во время установки исправления.
  • Чтобы повторно создать путь, необходимо запустить тем же исполняемым файлом и добавьте следующий параметр:
    /x:c:\0ca91e857a4f12dd390f0821a3
    Примечание. Эта команда вынуждает исполняемый файл для извлечения файлов к предыдущему размещению отсутствует, и это воссоздает структуру, когда необходимо обновить все отсутствующие файлы в кэше установщика Windows. Фактическое расположение зависит и отдельное исправление, например пакет обновления может потребоваться извлечь в несколько мест. Каждый установленный продукт включает раздел содержит следующие сведения о «Установленных исправлений».
    Display name:KB Article URL:  http://support.microsoft.com/?kbid=<value>Patch LastUsedSource: 

    В строке «URL статьи КБ» может помочь загрузить исправление носителей, при необходимости.

Второй метод: Вручную восстановить файлы

Чтобы вручную восстановить файлы, которые отсутствуют в кэше установщика Windows, выполните следующие действия.
  1. Собирает подробные сведения о файле отсутствует сообщение об ошибке, файл журнала установки или записи реестра, которые поддерживаются с помощью установщика Windows. Например сообщение об ошибке 1 в разделе «Проблема», все сведения, необходимые для решения этой проблемы нет в сообщении об ошибке:
    • PatchName: "1702 исправление для SQL Server 2008 R2 (KB981355) (64-разрядная версия)»
    • Исходный MSP-файл, используемый исправление: sql_engine_core_inst.msp
    • Кэшированный файл MSP: c:\Windows\Installer\1fdb1aec.msp
  2. Если у вас все детали, "Дополнительные сведения для процедуры 2" раздел для действия для сбора этих сведений.
  3. Посетите http://support.microsoft.comи поиск в статье БАЗЫ знаний, связанная с этим исправлением. В данном примере необходимо найти KB981355.
  4. Загрузите этот пакет исправлений на компьютере. Убедитесь, что загрузить пакет, соответствующий требуемая платформа. В этом примере пакет является SQLServer2008R2-KB981355-x64.exe.
  5. Извлеките содержимое пакета исправлений, используя следующий синтаксис:
    C:\Temp\SQLServer2008R2-KB981355-x64\/x C:\temp>SQLServer2008R2-KB981355-x64.exe
  6. Найдите исходный файл sql_engine_core_inst.msp файл msp. Файл должен находиться в следующей папке:
    C:\Temp\SQLServer2008R2-KB981355-x64\x64\setup\sql_engine_core_inst_msi\
  7. Скопируйте этот исходный файл msp в кэше установщика Windows следующие:
    %windir%\installer\
  8. Переименуйте исходный файл msp, sql_engine_core_inst.msp, в следующее имя:
    1fdb1aec.msp файл msp кэширования

Можно запустить программу установки для обновления, вызвал ошибку и продолжить процесс обновления. Может появиться сообщение для отсутствующих кэшированного файла установщика Windows для другого компонента или другое обновление этого же продукта.

Чтобы получить список всех отсутствующих файлов установщика Windows кэша, относящиеся к компонентам продукта SQL Server, можно загрузить средство SQL Server 2008 R2 анализатора соответствия Рекомендациям, описанное в разделе «Дополнительные сведения».

Если сообщение об ошибке ссылается на отсутствующий файл базы данных установщика Windows (.msi), выполните шаги 2-4 нет. Вместо этого можно перейти к шагу 5. Вам придется найти MSI-файл с исходного носителя, который использовался для установки продукта. Если это сообщение об ошибке для sql_engine_core_inst.msi был создан, необходимо найти файл с носителя установки в следующую структуру папок:
\x64\setup\sql_engine_core_inst_msi\
Другие шаги одинаковы.

Дополнительные сведения о процедуре 2

Поиск для отсутствующего MSP-файл пакета исправлений и сведения о продукте
Различные версии продукта, создают различные сообщения об ошибках для этой проблемы. Для программы установки для обновления, начиная с Microsoft SQL Server 2008 SP1 появляются сообщения об ошибках, описанные в разделе «Проблема». Другие обновления появляется сообщение об ошибке, может не указывать явно файл исправления, который отсутствует в кэше установщика Windows и обновления сведений. Эти сообщения об ошибках файлы журналов программы установки будет содержать сведения об отсутствующих кэшированного файла установщика Windows. Журнал установки примера напоминает следующий:
MSI (s) (FC:F8) [13:48:58:649]: Opening existing patch 'C:\WINDOWS\Installer\145258.msp'.MSI (s) (FC:F8) [13:48:58:649]: Couldn't find local patch 'C:\WINDOWS\Installer\145258.msp'. Looking for it at its source.MSI (s) (FC:F8) [13:48:58:649]: Resolving Patch source.MSI (s) (FC:F8) [13:48:58:649]: Note: 1: 2203 2: D:\cda162709d239766830bae5ce12b\HotFixSQL\Files\sqlrun_sql.msp 3: -2147287037 MSI (s) (FC:F8) [13:48:58:649]: SOURCEMGMT: Source is invalid due to missing/inaccessible package.MSI (s) (FC:F8) [13:49:29:961]: Product: Microsoft SQL Server 2005 -- Installation failed.MSI (s) (FC:F8) [13:49:29:992]: MainEngineThread is returning 1635This patch package could not be opened.  Verify that the patch package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer patch package.D:\SQL2K5\Servers\Setup\SqlRun_SQL.msi

Если внимательно изучить этот журнал программы установки, его уже предоставляет сведения о исходный MSP-файл, который использовался следующее исправление:
sqlrun_sql.msp


Чтобы получить дополнительные сведения об отсутствующих MSP-файл в кэше установщика Windows, выполните следующие действия:
  1. Поиск отсутствующего файла MSP в следующем подразделе реестра исправлений установщика Windows:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\
  2. Найти идентификатор GUID исправления.
  3. Поиск GUID исправление в следующий подраздел реестра продуктов установщика Windows:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\
Пример журнала установки сведения об отсутствующих MSP-файл и соответствующие исправления подробные сведения присутствуют в следующие параметры реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches\A3B085EA74A9A7640A496636F7EF9A44

Значение: 0
Имя: LocalPackage
Данные: C:\WINDOWS\Installer\145258.msp

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\1EB3A031CC585314E87AA527E46EECC2\Patches\A3B085EA74A9A7640A496636F7EF9A44
Значение: 6
Имя: отображаемое имя
Данные: GDR 2050 для базы данных SQL Server Services 2005 ENU (KB932555)

Теперь имеется все точки данных для запуска действия по устранению отсутствующие файлы в кэше установщика Windows.

Примечание. Если используется Пакет обновления 3 (SP3) для SQL Server 2008 или более поздней версии, могут также получать сообщение об ошибке для отсутствующих файлов MSI. С помощью этого сообщения об ошибке, может быстро определить какой файл отсутствует, какой пакет обновления для загрузки, и где можно найти загрузки.

Дополнительные сведения о получении пакета обновления щелкните следующий номер статьи базы знаний Майкрософт:
2546951 Список ошибок, исправленных в Пакет обновления 3 для SQL Server 2008

Дополнительная информация
Дополнительные сведения о файлах установщика Windows (.msi) базы данных посетите следующий веб-узел Microsoft Developer Network (MSDN):Дополнительные сведения о файлах исправлений (MSP) установщика Windows посетите следующий веб-узел MSDN:Дополнительные сведения о внутренних элементов в кэше установщика Windows можно найти следующие MSDN:Дополнительные сведения о процессе исправления см MSDN:Дополнительные сведения о том, как убедиться в том, кэшировать файл исправления для нужной платформы см MSDN:Дополнительные сведения о почему продукцией, которая использует установщик Windows могут возникнуть неполадки см MSDN:Дополнительные сведения о подробные сведения о различных наборов сообщений об ошибках, которые отображаются в файлы журналов программы установки см MSDN:

Дополнительные сведения о продуктах и средства, которые автоматически проверки данного условия на экземпляр SQL Server и на версиях продукта SQL Server содержится в таблице ниже:
Правила программыНазвание правилаОписание правилаВерсии продуктов, для которых вычисляется правило
SQL Server 2008 R2 анализатор соответствия рекомендациям (SQL Server 2008 R2 BPA)-Установщик кэша отсутствует настройка для установки SQLSQL Server 2008 R2 анализатор соответствия рекомендациям (SQL Server 2008 R2 BPA) предоставляет правила для обнаружения установщика отсутствует файл кэша для компонентов SQL Server. SQL Server 2008 R2 BPA поддерживает SQL Server 2008 и SQL Server 2008 R2. Если запустить средство анализатора соответствия Рекомендациям и возникает ошибка с заголовком Настройка - отсутствует кэша установщика для установки SQL и затем кэшировать файлы отсутствуют в папке кэша.SQL Server 2008
SQL Server 2008 R2
SQL Server 2012 анализатор соответствия рекомендациям (SQL Server 2012 BPA)-Установщик кэша отсутствует настройка для установки SQLSQL Server 2012 анализатор соответствия рекомендациям (SQL Server 2012 BPA) предоставляет правила для обнаружения установщика отсутствует файл кэша для компонентов SQL Server. Если запустить средство анализатора соответствия Рекомендациям и возникает ошибка с заголовком Настройка - отсутствует кэша установщика для установки SQL и затем кэшировать файлы отсутствуют в папке кэша.SQL Server 2012



Сценарий FindSQLInstalls.vbs

' Copyright © Microsoft Corporation.  All Rights Reserved.' This code released under the terms of the ' Microsoft Public License (MS-PL, http://opensource.org/licenses/ms-pl.html.)  On Error Resume Next Dim arrSubKeys, arrSubKeys2Dim objFSO, objShell, objFile, objReg, objConn, objExecDim strComputer, strKeyPath, strNewSourceDim strWorkstationName, strDBPath, strSubKey, strSubKey2(), strKeyPath02,  strRetValue00Dim strRetValue01, strRetValue02, strRetValNew02, strRetValNew03, strRetValNew04, strRetValNew05, strRetValNew06, strRetValNew07, strRetValNew08, strRetValNew09, strRetValue10, strRetValNew10, strRetValNew11, strRetValNew12, strRetValNew13, strRetValNew14, strRetValNew14a, strRetValNew14b, strRetValNew15, strRetValNew15a, strRetValNew15b, strRetValNew16, strRetValNew17, strRetValNew18 Const HKCR = &H80000000 'HKEY_CLASSES_ROOTConst HKLM = &H80000002 'HKEY_LOCAL_MACHINEConst ForReading = 1, ForWriting = 2, ForAppEnding = 8 ' Checking for Elevated permissionsDim oShell, oExecszStdOutszStdOut = ""Set oShell = CreateObject("WScript.Shell")Set oExec = oShell.Exec("whoami /groups") Do While (oExec.Status = cnWshRunning)    WScript.Sleep 100       if not oExec.StdOut.AtEndOfStream Then                szStdOut = szStdOut & oExec.StdOut.ReadAll       end IfLoop select case oExec.ExitCode   case 0       if not oExec.StdOut.AtEndOfStream Then           szStdOut = szStdOut & oExec.StdOut.ReadAll       End If       If instr(szStdOut,"Mandatory Label\High Mandatory Level") Then                wscript.echo "Elevated, executing script and gathering requested data"       Else           if instr(szStdOut,"Mandatory Label\Medium Mandatory Level")  Then          Wscript.echo "Not Elevated must run from Administrative commmand line."       Else          Wscript.echo "Gathering requested data..."           end If      End If   case Else       if not oExec.StdErr.AtEndOfStream Then          wscript.echo oExec.StdErr.ReadAll       end If       end select '' Leaving strNewSource will result in no search path updating.' Currently DO NOT EDIT these.strNewSource = ""strNewRTMSource = "" ' Define string valuesstrComputer = "."strSQLName = "SQL"strDotNetName = ".NET"strVStudioName = "Visual Studio"strXML = "XML"strOWC = "Microsoft Office 2003 Web Components"strKeyPath = "Installer\Products"strKeyPath2 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products"strNValue00 = "ProductName"strNValue01 = "PackageName"strNValue02 = "LastUsedSource"strNValue03 = "InstallSource"strNValue04 = "LocalPackage"strNValue05 = "DisplayVersion"strNValue06 = "InstallDate"strNValue07 = "UninstallString"strNValue08 = "PackageCode"strNValue09 = "MediaPackage"strNValue10 = "InstallSource"strNValue11 = "AllPatches"strNValue12 = "NoRepair"strNValue13 = "MoreInfoURL"strNValue14 = "PackageName"strNValue15 = "LastUsedSource"strNValue16 = "Uninstallable"strNValue17 = "DisplayName"strNValue18 = "Installed" If WScript.arguments.count <> 1 Then   WScript.echo "Usage: cscript " & WScript.scriptname & " outputfilename.txt"   WScript.quitEnd If '--Setup the output fileSet fso = CreateObject("Scripting.FileSystemObject")Set txtFile = fso.OpenTextFile(WScript.arguments(0), ForWriting, True)If err.number <> 0 Then    WScript.echo "Error 0x" & myHex(err.number,8) & ": " & err.source & " - " & err.description    WScript.quitEnd If txtFile.writeline "Products installed on the local system"txtFile.writeline " "txtFile.writeline " "  Set objFSO = CreateObject("Scripting.FileSystemObject")Set objShell = WScript.CreateObject("WScript.Shell") '--Set up the registry provider.Set objReg = GetObject("winmgmts:\\" & strComputer & _"\root\default:StdRegProv") Set wiInstaller = CreateObject("WindowsInstaller.Installer") '--Enumerate the "installer\products" key on HKCRobjReg.EnumKey HKCR, strKeyPath, arrSubKeys For Each strSubKey In arrSubKeys ' Define the various registry pathsstrProduct01 = "Installer\Products\" & strSubKeystrKeyPath02 = "Installer\Products\" & strSubKey & "\SourceList"strKeyPath03 = "Installer\Products\" & strSubKey & "\SourceList\Media"strInstallSource = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\" & strSubKey & "\InstallProperties\"strInstallSource2 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Products\" & strSubKey & "\patches\"strInstallSource3 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Patches"strInstallSource5 = "SOFTWARE\Classes\Installer\Patches\"strInstallSource6 = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"strInstallSource7 = "SOFTWARE\Microsoft\Microsoft SQL Server\"strInstallSource8 = "SOFTWARE\Wow6432Node\Microsoft\Microsoft SQL Server\" ' Pull the intial valuesobjReg.GetStringValue HKCR, strProduct01, strNValue00, strRetValue00objReg.GetStringValue HKCR, strKeyPath02, strNValue01, strRetValue01objReg.GetStringValue HKCR, strKeyPath02, strNValue02, strRetValue02strRetValNew02 = Mid(strRetValue02, 5)objReg.GetStringValue HKCR, strKeyPath03, strNValue09, strRetValue09strRetValue10 = strNewRTMSource & strRetValue09objReg.GetStringValue HKLM, strInstallSource, strNValue03, strRetValNew03objReg.GetStringValue HKLM, strInstallSource, strNValue04, strRetValNew04objReg.GetStringValue HKLM, strInstallSource, strNValue05, strRetValNew05objReg.GetStringValue HKLM, strInstallSource, strNValue06, strRetValNew06objReg.GetStringValue HKLM, strInstallSource, strNValue07, strRetValNew07objReg.GetStringValue HKLM, strInstallSource, strNValue10, strRetValNew10objReg.GetStringValue HKLM, strInstallSource, strNValue12, strRetValNew12objReg.GetStringValue HKLM, strInstallSource, strNValue13, strRetValNew13objReg.GetStringValue HKLM, strInstallSource2, strNValue11, strRetValNew11 ' Pull the Product Code from the Uninstall StringstrProdCode = strRetValNew07  ProdCodeLen = Len(strProdCode)  ProdCodeLen = ProdCodeLen - 14strRetValNew08 = Right(strProdCode, ProdCodeLen) ' Pull out path from LastUsedSourcestrGetRealPath = strRetValue02  GetRealPath = Len(strRetValue02)strRealPath = Mid(strRetValue02, 5, GetRealPath) ' Identifie the string in the ProductNameIf instr(1, strRetValue00, strSQLName, 1) Then' Start the log output    txtFile.writeline "================================================================================"    txtFile.writeline "PRODUCT NAME   : " & strRetValue00    txtFile.writeline "================================================================================"    txtFile.writeline "  Product Code: " & strRetValNew08    txtFile.writeline "  Version     : " & strRetValNew05    txtFile.writeline "  Most Current Install Date: " & strRetValNew06    txtFile.writeline "  Target Install Location: "  & strRetValNew13    txtFile.writeline "  Registry Path: "    txtFile.writeline "   HKEY_CLASSES_ROOT\" & strKeyPath02    txtFile.writeline "     Package    : " & strRetValue01    txtFile.writeline "  Install Source: " & strRetValue10    txtFile.writeline "  LastUsedSource: " & strRetValue02'   txtFile.writeline "Does this file on this path exist? " & strRetValNew02 & "\" & strRetValue01    If fso.fileexists(strRetValNew02 & "\" & strRetValue01) Then    txtFile.writeline  " "        txtFile.writeline "    " & strRetValue01 & " exists on the LastUsedSource path, no actions needed."    Else        txtFile.writeline " "        txtFile.writeline " !!!! " & strRetValue01 & " DOES NOT exist on the path in the path " & strRealPath & " !!!!"        txtFile.writeline " "        txtFile.writeline " Action needed, re-establish the path to " & strRealPath' Placeholder for altering the LastUsedSource by adding source location and Forcing search of list'        If strNewSource <> "" Then'        txtFile.writeline "      New Install Source Path Added: " & strNewSource'        wiInstaller.AddSource strRetValNew08, "", strNewSource'        Else'        If strNewRTMSource <> "" Then'        wiInstaller.AddSource strRetValNew08, "", strNewRTMSource'        txtFile.writeline "      Forcing SourceList Resolution For: " & strRetValNew08'        wiInstaller.ForceSourceListResolution strRetValNew08, ""'        End If'        End If    End If        txtFile.writeline " "        txtFile.writeline "Installer Cache File: " & strRetValNew04    If fso.fileexists(strRetValNew04) Then        txtFile.writeline " "        txtFile.writeline "    Package exists in the Installer cache, no actions needed."        txtFile.writeline "    Any missing packages will update automatically if needed assuming that"        txtFile.writeline "    the LastUsedSource exists."        txtFile.writeline " "        txtFile.writeline "    Should you get errors about " & strRetValNew04 & " or " & strRealPath & strRetValue01 & " then you"        txtFile.writeline "    may need to manually copy the file, if file exists replace the problem file, "         txtFile.writeline "    Copy and paste the following command line into an administrative command prompt:"        txtFile.writeline " "        txtFile.writeline "     Copy " & chr(34) & strRealPath  & strRetValue01 & chr(34) & " " &strRetValNew04        txtFile.writeline " "    ElseIf fso.fileexists(strRetValNew02 & "\" & strRetValue01) Then              fso.CopyFile strRetValNew02 & "\" & strRetValue01, strRetValNew04        If fso.fileexists(strRetValNew04) Then          txtFile.writeline " "          txtFile.writeline "     Missing cache file replaced by copying " & strRealPath  & strRetValue01 & " to " & strRetValNew04          txtFile.writeline "     Previously missing package " & strRetValNew04 &  " now exists in the Installer cache."          txtFile.writeline " "        End If    Else        txtFile.writeline " "        txtFile.writeline " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"        txtFile.writeline " !!!! " & strRetValNew04 & " DOES NOT exist in the Installer cache. !!!!"        txtFile.writeline " !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"        txtFile.writeline " "        txtFile.writeline "     Action needed, recreate or re-establish path to the directory:"        txtFile.writeline "       " & strRealPath & "then rerun this script to update installer cache and results"        txtFile.writeline "     The path on the line above must exist at the root location to resolve"        txtFile.writeline "     this problem with your msi/msp file not being found or corrupted,"        txtFile.writeline "     In some cases you may need to manually copy the missing file or manually"        txtFile.writeline "     replace the problem file overwriting it is exist: "         txtFile.writeline " "        txtFile.writeline "     Copy " & chr(34) & strRealPath  & strRetValue01 & chr(34) & " " &strRetValNew04        txtFile.writeline " "        txtFile.writeline "     Replace the existing file if prompted to do so."        txtFile.writeline " "    End If    txtFile.writeline " "    txtFile.writeline strRetValue00 & " Patches Installed "    txtFile.writeline "--------------------------------------------------------------------------------"     err.clear    objReg.EnumKey HKLM, strInstallSource2, arrSubKeys2    uUpperBounds = UBound(arrSubKeys2,1)     If err.number = 0  Then        For Each strSubKey2 in arrSubKeys2    '    WScript.echo "value = " & strSubKey2 strKeyPath04 = "Installer\Patches\" & strSubKey2 & "\SourceList"      objReg.GetDWORDValue HKLM, strInstallSource2 & "\" & strSubKey2 & "\", strNValue16, strRetValue16     objReg.GetStringValue HKCR, strKeyPath04, strNValue15, strRetValue15a     objReg.GetStringValue HKCR, strKeyPath04, strNValue14, strRetValue14a     objReg.GetStringValue HKCR, strKeyPath02, strNValue15, strRetValue15b     objReg.GetStringValue HKCR, strKeyPath02, strNValue14, strRetValue14b     objReg.GetStringValue HKLM, strInstallSource2 & "\" & strSubKey2 & "\", strNValue17, strRetValue17     objReg.GetStringValue HKLM, strInstallSource2 & "\" & strSubKey2 & "\", strNValue18, strRetValue18     objReg.GetStringValue HKLM, strInstallSource2 & "\" & strSubKey2 & "\", strNValue13, strRetValue13a     objReg.GetStringValue HKLM, strInstallSource3 & "\" & strSubKey2 & "\", strNValue04, strRetValue04a ' Pull the URL from the MoreInfoURL StringstrMoreInfoURL = strRetValue13a  MoreInfoURLLen = Len(strMoreInfoURL)strRetValue13b = Right(strMoreInfoURL, 42) ' Pull the URL from the LastUsedPath StringstrLastUsedPath = strRetValue15a  LastUsedPathLen = Len(strLastUsedPath)  'LastUsedPathLen = LastUsedPathLen - 15strRetValue15c = Mid(strLastUsedPath, 5)       txtFile.writeline " Display Name:    " & strRetValue17       txtFile.writeline " KB Article URL:  " & strRetValue13b      txtFile.writeline " Install Date:    " & strRetValue18               txtFile.writeline "   Uninstallable:   " & strRetValue16       txtfile.writeline " Patch Details: "      txtFile.writeline "   HKEY_CLASSES_ROOT\Installer\Patches\" & strSubKey2              txtFile.writeline "   PackageName:   " & strRetValue14a' Determine if someone has modified the Uninstallable state from 0 to 1 allowing possible unexpected uninstalls              txtFile.writeline "    Patch LastUsedSource: " & strRetValue15a               txtFile.writeline "   Installer Cache File Path:     " & strRetValue04a         txtFile.writeline "     Per " & strInstallSource3 & "\" & strSubKey2 & "\" & strNValue04              mspFileName = (strRetValue15c  & strRetValue14a)      If strRetValue14a <> "" Then      If fso.fileexists(strRetValue04a) Then        txtFile.writeline " "        txtFile.writeline "    Package exists in the Installer cache, no actions needed."        txtFile.writeline "    Package will update automatically if needed assuming that"        txtFile.writeline "    the LastUsedSource exists."        txtFile.writeline " "        txtFile.writeline "    Should you get errors about " & strRetValue04a & " or " & strRetValue15c  & strRetValue14a & " then you"        txtFile.writeline "    may need to manually copy missing files, if file exists replace the problem file, "         txtFile.writeline "    Copy and paste the following command line into an administrative command prompt."        txtFile.writeline " "        txtFile.writeline "     Copy " & chr(34) & strRetValue15c  & strRetValue14a & chr(34) & " " & strRetValue04a        txtFile.writeline " "      ElseIf fso.fileexists(mspFileName) Then              fso.CopyFile mspFileName, strRetValue04a          If fso.fileexists(strRetValue04a) Then          txtFile.writeline " "          txtFile.writeline " Missing cache file replaced by copying " & strRetValue15c  & strRetValue14a & " to " & strRetValue04a          txtFile.writeline " Previously missing package " & strRetValNew04 &  " now exists in the Installer cache."          txtFile.writeline " "          End If'        End If      Else        txtFile.writeline " "        txtFile.writeline "!!!! " & strRetValue04a & " package DOES NOT exist in the Installer cache. !!!!"        txtFile.writeline " "        txtFile.writeline "     Action needed, recreate or re-establish path to the directory:"        txtFile.writeline "       " & strRetValue15c & " then rerun this script to update installer cache and results"        txtFile.writeline "     The path on the line above must exist at the root location to resolve"        txtFile.writeline "     this problem with your msi/msp file not being found or corrupted,"        txtFile.writeline "     In some cases you may need to manually copy missing files or manually"        txtFile.writeline "     replace the problem file, "         txtFile.writeline " "        txtFile.writeline "     Copy " & chr(34) & strRetValue15c  & strRetValue14a & chr(34) & " " & strRetValue04a        txtFile.writeline " "        txtFile.writeline "     Replace the existing file if prompted to do so."        txtFile.writeline " "        txtFile.writeline "     Use the following URL to assist with downloading the patch:"        txtFile.writeline "      " & strRetValue13b        txtFile.writeline " "        txtFile.writeline " "      End If       Else        txtFile.writeline " "     End If        next     Else        txtfile.writeline " "        txtfile.Writeline "  No Patches Found"        txtfile.writeline " "    End If     End If  NexttxtFile.CloseSet txtFile = NothingSet fso = Nothing

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 969052 — последний просмотр: 05/21/2016 17:06:00 — редакция: 5.0

Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Enterprise Evaluation, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Express with Advanced Services, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Standard Edition for Small Business, Microsoft SQL Server 2008 Web, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Express with Advanced Services, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Standard Edition for Small Business, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Evaluation Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Express Edition with Advanced Services, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web

  • kbtshoot kbexpertiseinter kbprb kbsurveynew kbmt KB969052 KbMtru
Отзывы и предложения