August 13, 2013 This article has been updated. We recommend that you apply the updated security update mentioned in the "Resolution" section.
Microsoft .NET Framework 4 applications that rely on a partial trust host may encounter errors in certain cases. The SQL Server CLR (SQLCLR) feature in Microsoft SQL Server 2012 uses such a partial trust host. (This feature allows for stored procedures to be written by using managed code.) Therefore, applications that are built by using SQL Server 2012 may be affected.
We are currently aware that Microsoft System Center 2012 Configuration Manager and Microsoft Dynamics CRM 2011 are affected by this issue.
For example, you may have a .NET Framework 4.0 client that uses the System.Data.SqlClient namespace in a partial trust host such as SQL Server 2012 or Internet Information Services. When you call the SqlConnection.Open method, you receive the following exception:
System.TypeInitializationException: The type initializer for 'System.Data.SqlClient.SqlConnection' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.Data.SqlClient.SqlConnectionFactory' threw an exception. ---> System.TypeInitializationException: The type initializer for 'System.Data.SqlClient.SqlPerformanceCounters' threw an exception. ---> System.MethodAccessException: Attempt by method 'System.Configuration.TypeUtil.CreateInstanceRestricted(System.Type, System.Type)' to access method 'System.Diagnostics.SwitchElementsCollection..ctor()' failed.
The following scenarios describe how this general issue may manifest itself.
Database replication between sites and Software Update Point synchronization fail in System Center 2012 Configuration Manager. Client location requests for content do not return any distribution points in Microsoft System Center Configuration Manager 2007.
For more information about this issue, see the following Microsoft website: