The world of working with errors always gets the better of me. It is a wonderful way to understand why SQL Server behaves in a certain way and most importantly, it helps me solve some of the problems people face on a day-to-day basis. As you might know that along with performance consultancy, I also reply to any personal email asking for help. This blog is a result of one such interaction where the client was facing an error while installing Service Pack 4 for SQL Server 2008 in a clustered environment. Let us learn about Installation Error.
I always ask for setup logs and start from there. One of my old blog talks about location of setup files.
SQL SERVER – Installation Log Summary File Location – 2012 – 2008 R2
I looked into %programfiles%\MicrosoftSQL Server\110\Setup Bootstrap\Log\ and found folder corresponding to date-time of installation. Immediately open Summary.txt file and found errors.
Overall summary:
Final result: The patch installer has failed to update the following instance: MSSQLSERVER. To determine the reason for failure, review the log files.
Exit code (Decimal): -568706566
Exit facility code: 1562
Exit error code: 14842
Exit message: The patch installer has failed to update the following instance: MSSQLSERVER. To determine the reason for failure, review the log files.
Start time: 2016-05-17 03:18:32
End time: 2016-05-17 03:23:33
Requested action: Patch
Instance MSSQLSERVER overall summary:
Final result: The patch installer has failed to update the shared features. To determine the reason for failure, review the log files.
Exit code (Decimal): -568706566
Exit facility code: 1562
Exit error code: 14842
Exit message: The wrong diskette is in the drive. Insert (Volume Serial Number: ) into drive . (Exception from HRESULT: 0x80070022)
Start time: 2016-05-17 03:19:32
End time: 2016-05-17 03:22:33
Requested action: Patch
As per the error it suggested me to review the log file. I looked further and opened Detail.txt for this instance.
Exception summary:
The following is an exception stack listing the exceptions in outermost to innermost order
Inner exceptions are being indented
Exception type: System.Runtime.InteropServices.COMException
Message:
The wrong diskette is in the drive. Insert (Volume Serial Number: ) into drive . (Exception from HRESULT: 0x80070022)
Data:
DisableWatson = true
Stack:
at Microsoft.SqlServer.Interop.MSClusterLib.ISClusResource.get_Disk()
at Microsoft.SqlServer.Configuration.Cluster.ClusterPhysicalDisk.get_Partitions()
at Microsoft.SqlServer.Configuration.ClusterConfiguration.ClusterDiskPublicConfigObject.IsPathOnSharedDisk(String path)
at Microsoft.SqlServer.Configuration.SetupExtension.SlpInputSettings.ValidateNotOnSharedDisk(ValidationState vs, String directoryName, String bindingKey, String errorMessage)
at Microsoft.SqlServer.Configuration.SetupExtension.SlpInputSettings.Validate_InstallSharedDir(ValidationState vs)
at Microsoft.SqlServer.Configuration.SetupExtension.SlpInputSettings.ValidateSettings()
at Microsoft.SqlServer.Configuration.SetupExtension.ValidateFeatureSettingsAction.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
Here are the major things in above stack, which any SQL DBA can understand.
Interop.MSClusterLib.ISClusResource.get_Disk()
ClusterPhysicalDisk.get_Partitions()
ClusterDiskPublicConfigObject.IsPathOnSharedDisk(String path)
ValidateNotOnSharedDisk
Validate_InstallSharedDir
From the stack it is clear that they have issues with clustered disk. So, I have asked them to contact their hardware team and they fixed the issue. Once it was fixed, Service pack installation went fine.
I believe, it not always possible to provide solution but a guideline is also sufficient. Hope this helps you and let me know via comments if you encountered this Installation Error.
Reference: Pinal Dave (http://blog.SQLAuthority.com)
First appeared on SQL SERVER – Installation Error – The wrong diskette is in the drive. Insert (Volume Serial Number: ) into drive.