Help: SQL Server

Sharing my knowlege about SQL Server Troubleshooting Skills

Archive for the ‘Denali’ Category

SQL Cluster Setup Error – System.Runtime.InteropServices.COMException (0x80070490): Element not found

Posted by blakhani on May 19, 2015


My job revolves around troubleshooting and fixing the broken thing. Here is one of the situation which I ran into recently and was unable to find solution on internet. It my responsibility to provide self-assist option to the SQL community so that they can find the problem and fix by themselves.

I was trying to install SQL Server 2012 on a 2 nodes Windows cluster. When I tried installing it, it failed with error in subject line. At this first look it sounds like some COM+ error but as always, setup logs are my first place to find the errors. Here is the MSDN link which explains the various files created by setup

https://msdn.microsoft.com/en-us/library/ms143702(v=sql.110).aspx (View and Read SQL Server Setup Log Files)

The information which I saw in setup logs was pretty interesting. In particular, I looked into Detail.txt file which is the parent file of all MSI logs. (I have removed date and time for better reading)

Error: Action "Microsoft.SqlServer.Configuration.SetupExtension.ValidateFeatureSettingsAction" threw an exception during execution.
Microsoft.SqlServer.Setup.Chainer.Workflow.ActionExecutionException: Element not found. (Exception from HRESULT: 0x80070490) —> System.Runtime.InteropServices.COMException (0x80070490): Element not found. (Exception from HRESULT: 0x80070490)
   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.ExecuteActionHelper(TextWriter statusStream, ISequencedAction actionToRun)

 

The stack goes from bottom to Top. If we read the function calls made, anyone can conclude that there is something happening with cluster disks. That’s a good hint. So, I went back to failover cluster manager and looked into Disks under “Storage”. There was a disk which was in failed state. I was not able to bring this online and that’s THE problem! SQL Setup would enumerate the disks to find eligible disks which can be used and it’s not able to find details about that disk. Here was the error when I attempted to bring it online.

The resource ‘Cluster Disk 1’ did not come online.
The desired state change for ‘Cluster Disk 1’ did not occur before the timeout expired.

I realized that I have played with iSCSI and messed up the disk which was presented.

Solution: Delete the disks which are not able to come online under “Storage > Disks” or “Available Storage” in failover cluster manager interface.

Hope this helps.

  • Cheers,
  • Balmukund Lakhani
  • Twitter @blakhani
  • Author: SQL Server 2012 AlwaysOnPaperback, Kindle
  • Posted in Cluster, Installation, Setup, SQL Server 2012, SQL Server 2014 | Tagged: , , , , | 3 Comments »

    SQL SERVER SETUP – The syntax of argument "/SKIPRULES" is incorrect

    Posted by blakhani on April 2, 2015


    While running SQL Server setup I have faced below error today. You may not get this error unless you run it from command line.

     

    here is the text of the message.

    TITLE: SQL Server Setup failure.
    ——————————
    SQL Server Setup has encountered the following error:

    The syntax of argument "/SKIPRULES" is incorrect. Either the delimiter ‘=’ is missing or there is one or more space characters before the delimiter ‘=’. Please use /? to check usage.
    Error code 0x84B40001.
    For help, click: http://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft%20SQL%20Server&EvtSrc=setup.rll&EvtID=50000&EvtType=0xCAE17AB9%25400x2841E06E%25401204%25401

    ——————————
    BUTTONS:
    OK
    ——————————

     

    Here is the command which I was trying

    setup.exe Action=/InstallFailoverCluster /SkipRules = "Cluster_VerifyForErrors"

    Error message is very clear in telling the problem with the command. If we read complete message with patience, it says there is a space. Here is the correct version of command. Note that I have removed space after SkipRules Parameter and “=”.

    setup.exe Action=/InstallFailoverCluster /SkipRules="Cluster_VerifyForErrors"

    The reason I have to go with command line setup is because I was not able to install SQL Cluster from UI and here was the message.

     

    Hope this helps.

    Posted in Error, Installation | Tagged: , , | Leave a Comment »

    Solution : Error during setup – The specified value for setting ‘MEDIALAYOUT’ is invalid

    Posted by blakhani on November 26, 2014


    While trying to install new instance of SQL Server 2014 using command line and configuration file, I was welcomed by below error message

    TITLE: SQL Server Setup failure.
    ——————————
    SQL Server Setup has encountered the following error:
    The specified value for setting ‘MEDIALAYOUT’ is invalid. The expected values are:
    None
    Core
    Advanced
    Full
    Error code 0x84B40001.
    For help, click: http://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft%20SQL%20Server&EvtSrc=setup.rll&EvtID=50000&EvtType=0x28498E8E%25400x2841E06E%25401204%25401
    ——————————
    BUTTONS:
    OK
    ——————————

    The command which I was running was as below

    setup.exe configurationfile="C:\ConfigurationFile.ini"

    Here is the error on command line.

    I went back and looked into log (Detail_LandingPage.txt) files and found below.

    (01) 2014-11-26 06:13:38 Slp: Setting: INSTALLMEDIAPATH
    (01) 2014-11-26 06:13:38 Slp: Value specified: E:\SQL2014\SQLFull_ENU\x64\setup\
    (01) 2014-11-26 06:13:38 Slp: New setting source: CommandLine; previous setting source: NotSpecified
    (01) 2014-11-26 06:13:38 Slp: —————————————-
    (01) 2014-11-26 06:13:38 Slp: Setting: ENU
    (01) 2014-11-26 06:13:38 Slp: Value specified: True
    (01) 2014-11-26 06:13:38 Slp: New setting source: CommandLine; previous setting source: Default
    (01) 2014-11-26 06:13:38 Slp: —————————————-
    (01) 2014-11-26 06:13:38 Slp: Setting: MEDIALAYOUT
    (01) 2014-11-26 06:13:38 Slp: Value specified: Full,configurationfile=C:\ConfigurationFile.ini
    (01) 2014-11-26 06:13:38 Slp: New setting source: CommandLine; previous setting source: Default
    (01) 2014-11-26 06:13:38 Slp: Error: Action "Microsoft.SqlServer.Configuration.BootstrapExtension.ProcessChainerCommandLineArgumentsAction" threw an exception during execution.
    (01) 2014-11-26 06:13:38 Slp: Microsoft.SqlServer.Setup.Chainer.Workflow.ActionExecutionException: The specified value for setting ‘MEDIALAYOUT’ is invalid. The expected values are:
    (01) 2014-11-26 06:13:38 Slp: None
    (01) 2014-11-26 06:13:38 Slp: Core
    (01) 2014-11-26 06:13:38 Slp: Advanced
    (01) 2014-11-26 06:13:38 Slp: Full —> Microsoft.SqlServer.Chainer.Infrastructure.InputSettingValidationException: The specified value for setting ‘MEDIALAYOUT’ is invalid. The expected values are:

     

    Well, I didn’t find any documentation that I need to specify the value. If we look closer at the log, it seems that the value which is taken by the parameter is

    Full,configurationfile=C:\ConfigurationFile.ini

    Wait a second!!! it has parameter which I have specified. I looked into documentation and found that parameter name should start with “/” Since I have not specified the parameter name configurationfile with a slash. Same error can also happen if below is used

    setup.exe IACCEPTSQLSERVERLICENSETERMS /configurationfile="C:\ConfigurationFile.ini"

    In above, I have missed slash before IACCEPTSQLSERVERLICENSETERMS

    Bottom line:  Check the setup Logs and find which parameter is not having correct value and what is the value passed and taken from setup.exe

    Hope this helps.
    Balmukund

    Posted in Installation | Tagged: , , | 2 Comments »