SQL 2008 Service Pack installation fails if the installer is located on a Shared Disk owned by SQL cluster group - by Prashant Jha

Status : 

  By Design<br /><br />
		The product team believes this item works according to its intended design.<br /><br />
		A more detailed explanation for the resolution of this particular item may have been provided in the comments section.


1
0
Sign in
to vote
ID 724025 Comments
Status Closed Workarounds
Type Bug Repros 0
Opened 2/8/2012 4:33:46 AM
Access Restriction Public

Description

Hi,

If we put service pack (SP2 in my case) of SQL 2008 on a shared disk which is owned by SQL group to be patched, the SP setup fails with below error. The reason is setup extracts the files to the same drive which is being owned by SQL group being patched. During the installation the setup takes the disk resources offline, later when setup needs the patch related files it can't find the path as the disk is offline hence the failure. 

2012-02-03 08:02:53 Slp: Copying S:\Bits\SP2\ to C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Update Cache\KB2285068\ServicePack ... 
2012-02-03 08:02:53 Slp: Error: Action "CachePatchPage" threw an exception during execution.
2012-02-03 08:02:53 Slp: Microsoft.SqlServer.Setup.Chainer.Workflow.ActionExecutionException: The directory 'S:\Bits\SP2\' doesn't exist. ---> Microsoft.SqlServer.Chainer.Infrastructure.ChainerInvalidOperationException: The directory 'S:\Bits\SP2\' doesn't exist.
2012-02-03 08:02:53 Slp:    at Microsoft.SqlServer.Configuration.MsiExtension.CachePatchPackageAction.CachePatchPackage(String patchPackagePath, ProductProperty patchSummary)
2012-02-03 08:02:53 Slp:    at Microsoft.SqlServer.Configuration.MsiExtension.CachePatchPackageAction.ExecuteAction(String actionId)
2012-02-03 08:02:53 Slp:    at Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute(String actionId, TextWriter errorStream)
2012-02-03 08:02:53 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
2012-02-03 08:02:53 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
2012-02-03 08:02:53 Slp:    --- End of inner exception stack trace ---
2012-02-03 08:02:53 Slp:    at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
2012-02-03 08:02:53 Slp: Received request to add the following file to Watson reporting: C:\Users\dblogon\AppData\Local\Temp\2\tmpE186.tmp
2012-02-03 08:02:53 Slp: The following is an exception stack listing the exceptions in outermost to innermost order
2012-02-03 08:02:53 Slp: Inner exceptions are being indented
2012-02-03 08:02:53 Slp: 
2012-02-03 08:02:53 Slp: Exception type: Microsoft.SqlServer.Chainer.Infrastructure.ChainerInvalidOperationException
2012-02-03 08:02:53 Slp:     Message: 
2012-02-03 08:02:53 Slp:         The directory 'S:\Bits\SP2\' doesn't exist.
2012-02-03 08:02:53 Slp:     Data: 
2012-02-03 08:02:53 Slp:       ChainerInvalidOperationExceptionData = S:\Bits\SP2\
2012-02-03 08:02:53 Slp:     Stack: 
2012-02-03 08:02:53 Slp:         at Microsoft.SqlServer.Configuration.MsiExtension.CachePatchPackageAction.CachePatchPackage(String patchPackagePath, ProductProperty patchSummary)
2012-02-03 08:02:53 Slp:         at Microsoft.SqlServer.Configuration.MsiExtension.CachePatchPackageAction.ExecuteAction(String actionId)
2012-02-03 08:02:53 Slp:         at Microsoft.SqlServer.Chainer.Infrastructure.Action.Execute(String actionId, TextWriter errorStream)
2012-02-03 08:02:53 Slp:         at Microsoft.SqlServer.Setup.Chainer.Workflow.ActionInvocation.InvokeAction(WorkflowObject metabase, TextWriter statusStream)
2012-02-03 08:02:53 Slp:         at Microsoft.SqlServer.Setup.Chainer.Workflow.PendingActions.InvokeActions(WorkflowObject metaDb, TextWriter loggingStream)
2012-02-03 08:02:53 Slp: Watson Bucket 1 
 Original Parameter Values 

2012-02-03 08:02:53 Slp: Parameter 0 : SQL2008@RTM@KB2285068 

2012-02-03 08:02:53 Slp: Parameter 1 : Microsoft.SqlServer.Configuration.MsiExtension.CachePatchPackageAction.CachePatchPackage 

2012-02-03 08:02:53 Slp: Parameter 2 : Microsoft.SqlServer.Configuration.MsiExtension.CachePatchPackageAction.CachePatchPackage 

2012-02-03 08:02:53 Slp: Parameter 3 : Microsoft.SqlServer.Chainer.Infrastructure.ChainerInvalidOperationException@1202@1 

2012-02-03 08:02:53 Slp: Parameter 4 : Microsoft.SqlServer.Chainer.Infrastructure.ChainerInvalidOperationException@1202@1 

2012-02-03 08:02:53 Slp: Parameter 5 : CachePatchPage 


I am concerned that we may have many potential customers who may encounter this issue as they prefer to use shared drives to put SQL installation files (generally we have more space available on these drives.) 

Let us know if you need some more information. The issue is easily reproducible though.
Sign in to post a comment.
Posted by Prashant Jha on 2/10/2012 at 4:13 AM
Thank you for the response. I understand it is 'recommended' to install SP from a local disk, MS do not explicitly specify this requirement in the help doc though.
As I said earlier, we may have many potential customers who may encounter above issue. In fact I have seem some cases (while I was working at PSS) where even though customer put the SP exe on a local disk, installer sometimes used to choose a random directory (which is expected) on a "shared disk" say M:\shdfkshdhhdjddjj owned by SQL group hence the error. In my case above I had extracted the SP files manually on a shared drive so error was 100% guaranteed.

I understand this behavior is by design. Questions:

1. Why is there a requirement to take disk resources offline/online during the patch even if those disk resource do not contain any SQL file?
2. Can we consider to change such design in future release?
3. If not, can we atleast have a global rule check to prevent this issue beforehand?
Posted by Microsoft on 2/9/2012 at 12:18 PM
Hi Prashant, thanks for taking the time to report this issue. It is recommended that you run the Service Pack from the local fixed disk to avoid availability issues with the shared disk.

Thanks,
[SQL Server Team]