Как интегрировать SP1 в оригинальный образ SQL Server 2008 R2

Обновлено 24.07.2019

sql logoДобрый день! Увжаемые читатели и гости, крупного IT блога Pyatilistnik.org. Недавно мне потребовалось обновить SQL 2005 до SQL 2008 R2. Как оказалось на MS нет дистрибутивов SQL 2008 R2 с интегрированными сервис паками (либо я очень плохо искал). Будучи существом ленивым, я решил интегрировать сервис пак в оригинальный образ. На просторах интернета была найдена соответствующая статья, поэтому данный пост всего лишь её перевод. Кто хочет читать оригинал, идет в самый низ и нажимает на ссылку. Внимание, в статье описывается интеграция именно SP1. Так как в настоящее время существует SP2, и даже SQL 2012 то статья немного устарела, но сообщать мне об этом не нужно

Далее необходимые шаги для интеграции SP1:

  • Копируем содержимое оригинального образа SQL Server 2008 R2 в директорию C:\SQLServer2008R2_SP1
  • Скачиваем SQL Server 2008 R2 SP1 для всех архитектур. Нам необходимы следующие пакеты:

SQLServer2008R2SP1-KB2528583-IA64-ENU.exe
SQLServer2008R2SP1-KB2528583-x64-ENU.exe
SQLServer2008R2SP1-KB2528583-x86-ENU.exe

  • Извлекаем их содержимое в директорию C:\SQLServer2008R2_SP1\SP следующим образом:

SQLServer2008R2SP1-KB2528583-IA64-ENU.exe /x:C:\SQLServer2008R2_SP1\SP
SQLServer2008R2SP1-KB2528583-x64-ENU.exe /x:C:\SQLServer2008R2_SP1\SP
SQLServer2008R2SP1-KB2528583-x86-ENU.exe /x:C:\SQLServer2008R2_SP1\SP

  • Копируем Setup.exe из директории с извлеченным . Например с помощью команды robocopy:

robocopy C:\SQLServer2008R2_SP1\SP C:\SQLServer2008R2_SP1 Setup.exe

  • Копируем все файлы, кроме Microsoft.SQL.Chainer.PackageData.dll, из директории C:\SQLServer2008R2_SP1\SP\<architecture> to C:\SQLServer2008R2_SP1\<architecture> для обновления оригинальных файлов:

robocopy C:\SQLServer2008R2_SP1\SP\x86 C:\SQLServer2008R2_SP1\x86 /XF Microsoft.SQL.Chainer.PackageData.dll
robocopy C:\SQLServer2008R2_SP1\SP\x64 C:\SQLServer2008R2_SP1\x64 /XF Microsoft.SQL.Chainer.PackageData.dll
robocopy C:\SQLServer2008R2_SP1\SP\ia64 C:\SQLServer2008R2_SP1\ia64 /XF Microsoft.SQL.Chainer.PackageData.dll

  • Проверяем имеется ли у нас файл DefaultSetup.INI в следующих дериториях:


C:\SQLServer2008R2_SP1\x86
C:\SQLServer2008R2_SP1\x64
C:\SQLServer2008R2_SP1\ia64

Если файл DefaultSetup.INI имеется, добавляем в него строку:

PCUSOURCE=".\SP"

Если файла нет, создаем его и добавляем следующеме строки:

;SQLSERVER2008 R2 Configuration File

[SQLSERVER2008]

PCUSOURCE=".\SP"

и копируем в данные директории

C:\SQLServer2008R2_SP1\x86
C:\SQLServer2008R2_SP1\x64
C:\SQLServer2008R2_SP1\ia64

Данный файл служит для того, чтобы программа установки знала где расположены файлы сервис пака. Запускаем setup.exe и ставим или обновляем SQL. Как узнать что интеграция работает. В окне Installation Rules успешно проходит тест "Update Setup Media Language Rule".

Автор - Сёмин Иван

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *