Thursday, July 31, 2014

Error when opening SQL Server Maintenance Plan: Value cannot be null

One of our clients just called me with an issue they were having when opening a Maintenance Plan in SQL Server Management Studio. Below is a screen shot of the error message(and the error text)


Value cannot be null. Parameter name: component (System.Design). Microsoft SQL Server Management Studio is unable to load this document: Error loading XML. No further detailed error information can be specified for this problem because no Events object was passed where detailed error information can be stored.


As soon I saw the error(and the server version), I realized that this is a SQL Server 2012 instance and  the client (a Network Admin) was trying to edit the maintenance plan using SQL Server 2008 R2 (Management Studio). I had him try using SQL Server 2012 Management Studio and it worked without any issue. SQL Server Tools in general, are not forward compatible and even if they let us connect to a later version of the software, it is not a good idea to make any changes (I wouldn't even recommend opening anything). Hope this helps.

On a side note, if you try doing something similar with Analysis Services(open SSAS 20012 database in on-line mode using BIDS 2008 R2 etc), you’ll get the error message below. 

Deserialization failed: The 'AllowedRowsExpression' element in the 'http://schemas.microsoft.com/analysisservices/2011/engine/300/300' namespace is unexpected.

So the key takeaway of this post is to always try using the right version of the tool when connecting to SQL Server, SSAS, or SSRS for that matter. Hope this helps.

2 comments:

  1. THANK YOU! Worked a charm.

    ReplyDelete
  2. Hello,
    A SQL maintenance plan for rebuilding indexes and setting the index free space percentage to 10% within the Symantec/Arellia databases should be scheduled to run at least monthly (preferably weekly). This maintenance plan should also be configured to update column statistics (index statistics are updated during the index rebuild process).Server Maintenance

    ReplyDelete