Microsoft distributes Microsoft SQL Server 2008 fixes as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 fix release.
Symptoms
An unattended installation of Microsoft SQL Server 2008 is started on a computer that has SQL Server 2008 R2 installed. When the unattended installation uses the same instance name that SQL Server 2008 R2 uses, you experience one of the following problems.
Problem 1
If the specified location for the SQL Server 2008 data folders is the same as the location of SQL Server 2008 R2, the SQL Server 2008 setup fails. Additionally, you receive the following error message:
The system database file database_name already exists in path.
Notes
-
<database_name> represents the name of the system database file. <path> represents the path of the system database file.
-
Even though you receive an error message, the instance of SQL Server 2008 is not corrupted an is fully usable.
Problem 2
If the specified location for the SQL Server 2008 data folders differs from the location of SQL Server 2008 R2, SQL Server 2008 is installed successfully. However, the installation corrupts the SQL Server 2008 R2 service, and the SQL Server Database Engine service cannot start. Additionally, you cannot uninstall or repair either product.
Cause
This problem occurs because the unattended installation of SQL Server 2008 does not check whether a later version of the same instance name is installed already. Therefore, the unattended installation continues when it should be blocked.
Resolution
The fix for this issue was first released in Cumulative Update 7 for SQL Server 2008 Service Pack 1. For more information about this cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base: —
979065Cumulative update package 7 for SQL Server 2008 Service Pack 1
NoteBecause the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2008 fix release. We recommend that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base: —
970365The SQL Server 2008 builds that were released after SQL Server 2008 Service Pack 1 was released
Microsoft SQL Server 2008 hotfixes are created for specific SQL Server service packs. You must apply a SQL Server 2008 Service Pack 1 hotfix to an installation of SQL Server 2008 Service Pack 1. By default, any hotfix that is provided in a SQL Server service pack is included in the next SQL Server service pack.
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the «Applies to» section.
References
For information about the Incremental Servicing Model for SQL Server, click the following article number to view the article in the Microsoft Knowledge Base:
935897 An Incremental Servicing Model is available from the SQL Server team to deliver hotfixes for reported problems
For more information about the naming schema for SQL Server updates, click the following article number to view the article in the Microsoft Knowledge Base:
822499New naming schema for Microsoft SQL Server software update packages
For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates
Need more help?
I received an error trying to install SQL Server 2008. I have Visual Studio 2008 installed and have installed SP1. When I click on the error message I get the following.
Details | |
Product: | SQL Server |
ID: | 50000 |
Source: | setup.rll |
Version: | 10.0 |
Component: | SQL Server Native Client |
Message: | A network error occurred while attempting to read from the file ‘%.*ls’. |
Explanation | |
An |
|
User Action | |
To |
There is no SQL Server Native Client on my computer. In any event when
I uninstall SQL Server 2008 I get the same error. I have enclosed the
summary log below:
Overall summary:
Final result: SQL Server installation failed. To continue, investigate the reason for the failure, correct the problem, uninstall SQL Server, and then rerun SQL Server Setup.
Exit code (Decimal): -2068643839
Exit facility code: 1203
Exit error code: 1
Exit message: SQL Server installation failed. To continue, investigate the reason for the failure, correct the problem, uninstall SQL Server, and then rerun SQL Server Setup.
Start time: 2008-12-25 13:42:39
End time: 2008-12-25 14:32:36
Requested action: Install
Log with failure: C:Program FilesMicrosoft SQL Server100Setup BootstrapLog20081225_134026Detail.txt
Exception help link: http%3a%2f%2fgo.microsoft.com%2ffwlink%3fLinkId%3d20476%26ProdName%3dMicrosoft%2bSQL%2bServer%26EvtSrc%3dsetup.rll%26EvtID%3d50000%26ProdVer%3d10.0.1600.22%26EvtType%3d0x6121810A%400x5D9A8C61
Machine Properties:
Machine name: LARRY
Machine processor count: 1
OS version: Windows XP
OS service pack: Service Pack 3
OS region: United States
OS language: English (United States)
OS architecture: x86
Process architecture: 32 Bit
OS clustered: No
Product features discovered:
Product Instance Instance ID Feature Language Edition Version Clustered
Package properties:
Description: SQL Server Database Services 2008
SQLProductFamilyCode: {628F8F38-600E-493D-9946-F4178F20A8A9}
ProductName: SQL2008
Type: RTM
Version: 10
SPLevel: 0
Installation location: c:ef49c8afc72bf570bc33255ecef0b357x86setup
Installation edition: EXPRESS_ADVANCED
User Input Settings:
ACTION: Install
ADDCURRENTUSERASSQLADMIN: False
AGTSVCACCOUNT: NT AUTHORITYNETWORK SERVICE
AGTSVCPASSWORD: *****
AGTSVCSTARTUPTYPE: Disabled
ASBACKUPDIR: Backup
ASCOLLATION: Latin1_General_CI_AS
ASCONFIGDIR: Config
ASDATADIR: Data
ASDOMAINGROUP: <empty>
ASLOGDIR: Log
ASPROVIDERMSOLAP: 1
ASSVCACCOUNT: <empty>
ASSVCPASSWORD: *****
ASSVCSTARTUPTYPE: Automatic
ASSYSADMINACCOUNTS: <empty>
ASTEMPDIR: Temp
BROWSERSVCSTARTUPTYPE: Automatic
CONFIGURATIONFILE: C:Program FilesMicrosoft SQL Server100Setup BootstrapLog20081225_134026ConfigurationFile.ini
ENABLERANU: True
ERRORREPORTING: False
FEATURES: SQLENGINE,REPLICATION,SSMS,SNAC_SDK
FILESTREAMLEVEL: 0
FILESTREAMSHARENAME: <empty>
FTSVCACCOUNT: <empty>
FTSVCPASSWORD: *****
HELP: False
INDICATEPROGRESS: False
INSTALLSHAREDDIR: C:Program FilesMicrosoft SQL Server
INSTALLSHAREDWOWDIR: C:Program FilesMicrosoft SQL Server
INSTALLSQLDATADIR: <empty>
INSTANCEDIR: C:Program FilesMicrosoft SQL Server
INSTANCEID: SQLExpress
INSTANCENAME: SQLEXPRESS
ISSVCACCOUNT: NT AUTHORITYNetworkService
ISSVCPASSWORD: *****
ISSVCSTARTUPTYPE: Automatic
MEDIASOURCE: c:ef49c8afc72bf570bc33255ecef0b357
NPENABLED: 0
PID: *****
QUIET: False
QUIETSIMPLE: False
RSINSTALLMODE: FilesOnlyMode
RSSVCACCOUNT: <empty>
RSSVCPASSWORD: *****
RSSVCSTARTUPTYPE: Automatic
SAPWD: *****
SECURITYMODE: <empty>
SQLBACKUPDIR: <empty>
SQLCOLLATION: SQL_Latin1_General_CP1_CI_AS
SQLSVCACCOUNT: NT AUTHORITYSYSTEM
SQLSVCPASSWORD: *****
SQLSVCSTARTUPTYPE: Automatic
SQLSYSADMINACCOUNTS: LARRYLarry Bookman
SQLTEMPDBDIR: <empty>
SQLTEMPDBLOGDIR: <empty>
SQLUSERDBDIR: <empty>
SQLUSERDBLOGDIR: <empty>
SQMREPORTING: False
TCPENABLED: 0
X86: False
Configuration file: C:Program FilesMicrosoft SQL Server100Setup BootstrapLog20081225_134026ConfigurationFile.ini
Detailed results:
Feature: Database Engine Services
Status: Failed: see logs for details
MSI status: Passed
Configuration status: Passed
Feature: SQL Client Connectivity SDK
Status: Passed
MSI status: Passed
Configuration status: Passed
Feature: SQL Server Replication
Status: Failed: see logs for details
MSI status: Passed
Configuration status: Passed
Feature: Management Tools — Basic
Status: Passed
MSI status: Passed
Configuration status: Passed
Rules with failures:
Global rules:
Scenario specific rules:
Rules report file: C:Program FilesMicrosoft SQL Server100Setup BootstrapLog20081225_134026SystemConfigurationCheck_Report.htm
На этой неделе мы обсудим, как устранять различные ошибки сборки, которые мы получаем при устранении неполадок при установке для SQL Server. Я сосредоточу эту статью больше на SQL Server 2008 R2 и системе Windows 7. Прежде чем начать, я объясню, что такое сборка в Windows. Википедия описывает сборку в CLI как библиотеку скомпилированного кода, используемую для развертывания, управления версиями и безопасности. Сборки CLI могут иметь информацию о версии, что позволяет им устранить большинство конфликтов между приложениями, вызванных общими сборками.
Ошибки сборки при установке SQL в Windows
Итак, давайте перейдем к части, посвященной устранению неполадок в статье.
В большинстве случаев ошибки сборки возникают из-за остатков неудачной установки, то есть установка прошла на полпути и была выполнена откат. В таких случаях мы должны вручную очистить записи. Это немного длительный и, казалось бы, сложный процесс, но я постараюсь сделать его максимально простым. Прежде чем мы начнем процесс, создайте точку восстановления системы и создайте резервную копию реестра. Пожалуйста, следуйте этим статьям, чтобы сделать это.
- Как создать точку восстановления системы в Windows
- Резервное копирование и восстановление реестра в Windows
Прежде всего, мы должны удалить любые после записи. Если на этом компьютере не установлен SQL, просто удалите все записи SQL из раздела «Программы и компоненты». Если нет, просто удалите SQL Server 2008 R2 и выберите экземпляр, который вы пытаетесь установить (больше ничего не удаляйте). Если его там нет, тогда оставьте его и давайте перейдем к следующему шагу.
Следующим шагом является проверка реестра, чтобы убедиться, что все записи удалены. Честно говоря, практически невозможно найти и удалить все записи SQL, но мы можем удалить только те важные, которые, по нашему мнению, вызовут проблемы.
- Пуск -> Выполнить -> Regedit
- Идти к
32-разрядный: HKEY_LOCAL_MACHINE SOFTWARE Microsoft Microsoft SQL Сервер
64-разрядная версия: HKEY_LOCAL_MACHINE SOFTWARE Wow6432Node Microsoft Microsoft SQL Сервер
- Удалите записи для экземпляра SQL, который вы хотите установить. Если у вас нет другого SQL, просто удалите корневую папку сервера Microsoft SQL .
- Теперь перейдите в HKEY_LOCAL_MACHINE SYSTEM ControlSet001 Services Eventlog Application и удалите записи для экземпляра SQL, который вы хотите установить.
- Затем перейдите в HKEY_LOCAL_MACHINE SYSTEM ControlSet001 Services и удалите записи для экземпляра SQL, который вы хотите установить.
- Вы найдете несколько наборов элементов управления, таких как ControlSet001 , ControlSet002 , ControlSet003 , ControlSet004 и т. Д. Повторите тот же процесс.
- HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services Eventlog Application и удалите записи для экземпляра SQL, который вы хотите установить
- HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services и удалите записи для экземпляра SQL, который вы хотите установить.
Теперь следующим шагом является удаление записей сборки для SQL. Для этого
- Пуск -> Выполнить -> Сборка
- Ищите сборки, запущенные с помощью Microsoft.SqlServer , как только вы найдете его правой кнопкой мыши и нажмите «Удалить»
Теперь просто чтобы убедиться, что у вас есть все записи, есть хитрость, где мы можем переключить представление сборки в представление папки.
- В командной строке введите cd/d% windows% assembly
- Введите: attrib -r -h -s desktop.ini
- Введите ren desktop.ini desktop.bak
Или
- Перейдите на страницу HKEY_LOCAL_MACHINE SOFTWARE Microsoft Fusion
- Добавить новое имя двоичного значения «DisableCacheViewer»
- Щелкните правой кнопкой мыши «DisableCacheViewer» и выберите «Изменить».
- Введите 1
- Закройте реестр и попробуйте снова
Теперь, если вы вернетесь к сборке, вы должны быть представлениями папки, а не видом сборки. Теперь найдите любой Microsoft.SqlServer и удалите его. После завершения процесса просто очистите TEMP, перезагрузите систему и попробуйте установить ее снова.
Теперь в некоторых случаях вы все равно можете получить ошибку сборки, в большинстве случаев это связано с Microsoft .NET 4.0. Я бы порекомендовал переустановить .NET Frameworks 4.0 и попробовать установить его снова. Также Microsoft Visual C ++ 2008 или 2010 также может вызывать такие ошибки. Переустановка их была бы хорошей идеей.
Существует другой сценарий, в котором ошибка вызвана MSI-драйвером Microsoft SQL Server 2008 R2 RsFx. В таких случаях мы можем попробовать две вещи.Одним из них является создание отсутствующей записи в реестре или удаление драйвера из папки установщика.
Способ 1:
- Пуск -> Выполнить -> Regedit
- Перейдите в HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services RsFx0150
- Нажмите правой кнопкой мыши на RsFX0150 , нажмите Новый ключ и введите InstancesShares.
- Теперь закройте реестр и попробуйте установить его снова.
Способ 2:
- Пуск -> Выполнить -> Установщик
- Как только папка откроется, вы отправите много столбцов, щелкните правой кнопкой мыши на любом из имен столбцов и выберите «Больше».
- В списке выберите Комментарии и нажмите кнопку «ОК».
- Теперь найдите MSI-драйвер Microsoft SQL Server 2008 R2 RsFx в комментариях (поскольку фактическое имя файла будет бессмысленным)
- Щелкните правой кнопкой мыши по файлу MSI и выберите «Удалить».
Хорошо, используя этот метод, вы сможете решить большинство ошибок, связанных со сборкой, при установке Microsoft SQL Server 2008 R2. Если у вас все еще есть проблемы, вы можете использовать наш раздел комментариев.
I am struggling since yesterday regarding the error, first my SSMS expired for some reason & i was not able to get it working. I was not abel to unstall all the soofware related to SQL Server & it shared components, I was removing it successfully & i was getting the same error after reinstalling MS Sql server 2008 r2 express & SSMS you trial version has expired.
At last i messed up everything by forcing MS SQL SERVER & its component when i removed it with CClearner as suggested in one of the article.
An now i am not able to install any version of MS SQL Server whether it be SQL Server 2008, MS SQL SERVER 2008 Express or MS SQL SERVER 2008 Re Express edition i get following message for all the version as show in image below
I am not sure what to do either i reinstall windows 7 or try to search further for solution which i would prefer as i had several software installed on my system & it will take me day or so to install all software.
I would appreciate help regarding this
Log error reporter under file folder C:Program FilesMicrosoft SQL Server100Setup BootstrapLog
Summary.txt
Overall summary:
Final result: SQL Server installation failed. To continue, investigate the reason for the failure, correct the problem, uninstall SQL Server, and then rerun SQL Server Setup.
Exit code (Decimal): -2068643839
Exit facility code: 1203
Exit error code: 1
Exit message: Method not found: 'Void Microsoft.SqlServer.Configuration.MsiExtension.PackageInstallProperty.set_FailedPatchedFeatureList(System.Collections.Generic.List`1<System.String>)'.
Start time: 2012-11-18 16:32:54
End time: 2012-11-18 16:34:07
Requested action: Install
Log with failure: C:Program FilesMicrosoft SQL Server100Setup BootstrapLog20121118_163146Detail.txt
Exception help link: http%3a%2f%2fgo.microsoft.com%2ffwlink%3fLinkId%3d20476%26ProdName%3dMicrosoft%2bSQL%2bServer%26EvtSrc%3dsetup.rll%26EvtID%3d50000%26ProdVer%3d10.0.1600.22%26EvtType%3d0x6539C9E6%400x375DE77D
Machine Properties:
Machine name: WEBD
Machine processor count: 4
OS version: Windows Vista
OS service pack: Service Pack 1
OS region: United Kingdom
OS language: English (United States)
OS architecture: x86
Process architecture: 32 Bit
OS clustered: No
Product features discovered:
Product Instance Instance ID Feature Language Edition Version Clustered
Package properties:
Description: SQL Server Database Services 2008
SQLProductFamilyCode: {628F8F38-600E-493D-9946-F4178F20A8A9}
ProductName: SQL2008
Type: RTM
Version: 10
SPLevel: 0
Installation location: c:1ecd7ad03bd0c2d4ee57a72099f430x86setup
Installation edition: EXPRESS
User Input Settings:
ACTION: Install
ADDCURRENTUSERASSQLADMIN: False
AGTSVCACCOUNT: <empty>
AGTSVCPASSWORD: *****
AGTSVCSTARTUPTYPE: Manual
ASBACKUPDIR: Backup
ASCOLLATION: Latin1_General_CI_AS
ASCONFIGDIR: Config
ASDATADIR: Data
ASDOMAINGROUP: <empty>
ASLOGDIR: Log
ASPROVIDERMSOLAP: 1
ASSVCACCOUNT: <empty>
ASSVCPASSWORD: *****
ASSVCSTARTUPTYPE: Automatic
ASSYSADMINACCOUNTS: <empty>
ASTEMPDIR: Temp
BROWSERSVCSTARTUPTYPE: Disabled
CONFIGURATIONFILE:
CUSOURCE:
ENABLERANU: False
ERRORREPORTING: False
FEATURES: SQLENGINE,REPLICATION,SNAC_SDK
FILESTREAMLEVEL: 0
FILESTREAMSHARENAME: <empty>
FTSVCACCOUNT: <empty>
FTSVCPASSWORD: *****
HELP: False
INDICATEPROGRESS: False
INSTALLSHAREDDIR: c:Program FilesMicrosoft SQL Server
INSTALLSHAREDWOWDIR: C:Program FilesMicrosoft SQL Server
INSTALLSQLDATADIR: <empty>
INSTANCEDIR: C:Program FilesMicrosoft SQL Server
INSTANCEID: <empty>
INSTANCENAME: <empty>
ISSVCACCOUNT: NT AUTHORITYNetworkService
ISSVCPASSWORD: *****
ISSVCSTARTUPTYPE: Automatic
NPENABLED: 0
PCUSOURCE:
PID: *****
QUIET: False
QUIETSIMPLE: False
RSINSTALLMODE: FilesOnlyMode
RSSVCACCOUNT: <empty>
RSSVCPASSWORD: *****
RSSVCSTARTUPTYPE: Automatic
SAPWD: *****
SECURITYMODE: <empty>
SQLBACKUPDIR: <empty>
SQLCOLLATION: SQL_Latin1_General_CP1_CI_AS
SQLSVCACCOUNT: <empty>
SQLSVCPASSWORD: *****
SQLSVCSTARTUPTYPE: Automatic
SQLSYSADMINACCOUNTS: <empty>
SQLTEMPDBDIR: <empty>
SQLTEMPDBLOGDIR: <empty>
SQLUSERDBDIR: <empty>
SQLUSERDBLOGDIR: <empty>
SQMREPORTING: False
TCPENABLED: 0
X86: False
Configuration file: C:Program FilesMicrosoft SQL Server100Setup BootstrapLog20121118_163146ConfigurationFile.ini
Detailed results:
Feature: Database Engine Services
Status: Failed: see logs for details
MSI status: Passed
Configuration status: Passed
Feature: SQL Client Connectivity SDK
Status: Failed: see logs for details
MSI status: Passed
Configuration status: Passed
Feature: SQL Server Replication
Status: Failed: see logs for details
MSI status: Passed
Configuration status: Passed
Rules with failures:
Global rules:
Scenario specific rules:
Rules report file: C:Program FilesMicrosoft SQL Server100Setup BootstrapLog20121118_163146SystemConfigurationCheck_Report.htm
Exception summary:
The following is an exception stack listing the exceptions in outermost to innermost order
Inner exceptions are being indented
Exception type: Microsoft.SqlServer.Setup.Chainer.Workflow.ActionExecutionException
Message:
Method not found: 'Void Microsoft.SqlServer.Configuration.MsiExtension.PackageInstallProperty.set_FailedPatchedFeatureList(System.Collections.Generic.List`1<System.String>)'.
Data:
DisableWatson = true
Stack:
Server stack trace:
at Microsoft.SqlServer.Configuration.BootstrapExtension.ExecuteWorkflowAction.HandleActionException(Exception e, TextWriter logging)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionEngine.NotifyOnUnhandledException(Exception e)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionEngine.RunActionQueue()
at Microsoft.SqlServer.Setup.Chainer.Workflow.Workflow.RunWorkflow(HandleInternalException exceptionHandler)
at Microsoft.SqlServer.Configuration.BootstrapExtension.ExecuteWorkflowAction.ExecuteAction(String actionId)
at Microsoft.SqlServer.Configuration.NestedWorkflow.ExecuteWorkflow(ServiceContainer context, String sequencesRootPath, ActionKey sequenceId)
at Microsoft.SqlServer.Configuration.NestedWorkflow.ExecuteWorkflow(ServiceContainer context, String sequenceId)
at Microsoft.SqlServer.Configuration.InstallWizardFramework.InstallWizardPageHost.<>c__DisplayClass2.<ExecuteAction>b__0()
at Microsoft.SqlServer.Configuration.WizardFramework.BlockingWorker.ThreadCallBack(MethodInvoker method)
at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage(RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs)
at System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(Message reqMsg, Boolean bProxyCase)
at System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(Object NotUsed, MessageData& msgData)
at Microsoft.SqlServer.Configuration.WizardFramework.BlockingWorker.WorkerCallback.EndInvoke(IAsyncResult result)
at Microsoft.SqlServer.Configuration.WizardFramework.BlockingWorker.PerformWork(MethodInvoker method)
at Microsoft.SqlServer.Configuration.InstallWizardFramework.InstallWizardPageHost.ExecuteAction(String actionName)
at Microsoft.SqlServer.Configuration.InstallWizardFramework.InstallWizardPageHost.PageLeft(PageChangeReason reason)
at Microsoft.SqlServer.Configuration.WizardFramework.UIHost.set_SelectedPageIndex(Int32 value)
at Microsoft.SqlServer.Configuration.WizardFramework.UIHost.GoNext()
at Microsoft.SqlServer.Configuration.WizardFramework.NavigationButtons.nextButton_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Inner exception type: System.MissingMethodException
Message:
Method not found: 'Void Microsoft.SqlServer.Configuration.MsiExtension.PackageInstallProperty.set_FailedPatchedFeatureList(System.Collections.Generic.List`1<System.String>)'.
Stack:
at Microsoft.SqlServer.Configuration.SetupExtension.SetFeatureConfigStateAction.ExecuteAction(String actionId)
at Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute(String actionId, TextWriter errorStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
Related question which i had asked yesterday SQL Server 2008 R2 Management Studio : «Evaluation period has expired»
Configuration: Window 7 32 bit with 4GB RAM
Whenever it is time to install a service pack every DBA silently hopes that nothing will go wrong. I would surmise that, in most cases, installing the service pack is a non-event. No flashing lights, no fireworks, no applause and no major hiccups. This post is not about one of those times.
The Install
Several weeks ago I attempted to install SQL Server 2008 R2 Service Pack 3 on one of our production instances. The server was already at SP2 so it was to be a routine install. However, as the installer launched, this error appeared:
The issue stems from missing files in the installer cache. When applications, including SQL Server, are installed certain files are placed within the installer cache. These files are subsequently used when installing service packs and cumulative updates. For some unknown reason b40c768.msi was missing.
My initial search lead me to a Microsoft Support page title “How to restore the missing Windows Installer cache files and resolve problems that occur during a SQL Server update“. Perfect. The blog post has a lot of detail in it and explains the issue fairly well. It suggests two methods to help resolve the issue, one being a script and the other manual intervention. I opted for the former, the script.
The Script
The instructions are straight forward.
- Download the script to a folder on the affected server, IE: c:temp
- Open an elevated command prompt
- Navigate to the folder where the script is located
- Execute this command: Cscript FindSQLInstalls.vbs %computername%_sql_install_details.txt
The script will collect information about what packages may or may not be missing from the installer cache. Note: that the output of the script will put a text file in the same folder as the script itself. It will also overwrite any files that might already be present. If you wish to run this multiple times, I would suggest changing the file names accordingly.
The output of the script looks like this:
You will see that in the above example, it’s shouting at me stating that the MSI file doesn’t exist in the path D:x64setsql_engine_core_inst_msi. This is because the install media isn’t located within the CD-ROM drive. This was expected.
You will further notice that it says that the installer cache file, b40c756.msi was located and no further actions are needed. If this particular cache file was missing the output would notify me. I would utilize the command it provides to copy the missing msi file from the install media to the location it specifies.
Now that I knew where the missing file might be located, I set out to go find it. In this particular case, I located the file on the Service Pack 2 install media. If you weren’t aware, those service packs (and cumulative updates) are self-extracting files. You can manually extract the files to a location of your choice so that you can locate the file you need.
Once I was able to locate the missing MSI file from the extract contents, I was able to successfully copy it utilizing the command that is provided in the output file.
At this point, it was rinse and repeat. I would follow the same steps for each file that was missing from the installer cache. All in all, there were 3 or 4 files that were missing. Once I had all of the files replaced, I re-ran the SP3 installer file.
Then this happened.
Looks like we have another issue. This error was much more cryptic and not very useful. So of course, I went back to Google and did some more research. In addition to researching, I also checked the event view on the server. Nothing of interest was there. I also thought to check the bootstrap log. Here I found an interesting error:
You will note that the error happened right after it started to look at sql_as_CPU64, or b40c73a.msi (two lines above the censored section). I thought that I had mis-copied this particular file. I tried to copy it over again. That did not solve the issue. I still got the same error.
I eventually turned to a forum I frequent, Ask SQL Server Central. You can read the question that I posted here. Unfortunately, I did not get any responses so that meant that I had to continue to try to fix it. I really did not want to call Microsoft Support but I would if I had to.
TL;DR
The answer lies within the bootstrap log. The error isn’t referring to the line above it as I had thought. The “sql_as_CPU64.msi” file was processed just fine. The error was occurring on the file AFTER that one. However, you will notice that the file it is trying to consume is not listed. Using the bootstrap log, I was able to comb back through it looking for all of the missing installer cache files. I finally found one that wasn’t accounted for within the log file, so that had to be the one.
Turns out, when I copied the MSI file from the source media I mistaken copied an MSP file, which is distinctly different. I found the correct file and copied it back over to the server.
A relaunch of the installer lead to…..Success!
Resources
Here are some additional resources that I found. These are not listed in any particular order.
- https://woodler-public.sharepoint.com/Lists/Posts/Post.aspx?ID=5
- https://social.msdn.microsoft.com/Forums/sqlserver/en-US/6c539fe4-2aeb-4e4f-bef7-311e3f863ef3/sqlruntoolsmsi-install-error?forum=sqlgetstarted
- http://wadingthrough.com/2009/09/14/problem-installing-sql-server-2008-on-windows-2008-r2/
- http://blogs.msdn.com/b/sqljourney/archive/2013/06/13/sql-server-patch-fails-with-quot-could-not-find-any-resources-appropriate-for-the-specified-culture-or-the-neutral-culture-quot.aspx
- https://social.msdn.microsoft.com/Forums/sqlserver/en-US/1c12de2f-8ed9-41dc-8e49-835af1aaddb6/sql-2008-r2-sp1-will-not-install?forum=sqlsetupandupgrade
- https://social.msdn.microsoft.com/Forums/windowsserver/en-US/98094885-f1f0-49f8-bd67-a5f2911ffd26/sql-2008-r2-sp3-ugrade-failure?forum=sqlsetupandupgrade
- https://social.technet.microsoft.com/Forums/sqlserver/en-US/fda9a67b-3688-4f9c-b45f-a1d2e3c0c80b/upgrade-sql-server-2008-r2-rtm-developer-x64-to-sql-server-2012-rtm-developer-x64-fails?forum=sqlsetupandupgrade
Lessons Learned
I learned a number of lessons throughout this process.
- Pay attention to the details. There is a distinct difference from a MSI and MSP file. The former is an installer file. The latter is a MSI patch file.
- Keep note of things tried. I found that this issue was a combination of several different things and I should have kept better documentation on each one. I found that I would repeat steps that I had already tried because I did not document them well enough.
- The internet is your friend.
- Do not be shy to use the resources you have available to you, IE: forums. They are there to help you.
© 2015, John Morehouse. All rights reserved.