Personalized Community is here!
Quickly customize your community to find the content you seek.
Choose your path Increase your proficiency with the Dynamics 365 applications that you already use and learn more about the apps that interest you. Up your game with a learning path tailored to today's Dynamics 365 masterminds and designed to prepare you for industry-recognized Microsoft certifications.
Visit Microsoft Learn
2020 Release Wave 2Discover the latest updates and new features to Dynamics 365 planned through March 2021.
Release overview guides and videos Release Plan | Preview 2020 Release Wave 2 TimelineWatch the 2020 Release Wave 1 virtual launch event
Ace your Dynamics 365 deployment with packaged services delivered by expert consultants. | Explore service offerings
Connect with the ISV success team on the latest roadmap, developer tool for AppSource certification, and ISV community engagements | ISV self-service portal
The FastTrack program is designed to help you accelerate your Dynamics 365 deployment with confidence.
FastTrack Program | Finance TechTalks | Customer Engagement TechTalks | Upcoming TechTalks
I get the below error when creating a new organisation. If I click ignore, the organisation will complete.
10:17:05| Info| Executing Install action: Microsoft.Crm.Tools.Admin.InstallSqlClrHelperAction10:17:05| Error| System.Exception: Action Microsoft.Crm.Tools.Admin.InstallSqlClrHelperAction failed. ---> System.Data.SqlClient.SqlException: An asymmetric key with name 'MSCRMSqlClrKey' already exists or this asymmetric key already has been added to the database. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Microsoft.Crm.Setup.Database.DatabaseUtility.ExecuteSql(InstallDatabase database, String sql, IDictionary`2 parameters, Int32 timeout) at Microsoft.Crm.Setup.Database.DatabaseUtility.ExecuteSql(InstallDatabase database, String sql, IDictionary`2 parameters) at Microsoft.Crm.Tools.Admin.InstallSqlClrHelperAction.Do(IDictionary parameters) at Microsoft.Crm.Setup.Common.CrmAction.ExecuteAction(CrmAction action, IDictionary parameters, Boolean undo) --- End of inner exception stack trace ---, Error, AbortRetryIgnore, Option110:28:25| Info| InputResult: Abort
This may be related to another issue I posted https://community.dynamics.com/crm/f/117/p/137437/294508.aspx#294508
Have you ever used current sql server where you are importing the CRM Organization database as sql failover with CRM? Take a look at this it gives more information about asymmetric "MSCRMSqlClrKey".
We do not use failover.
Can you remove the asymmetric "MSCRMSqlClrKey" and check whether it resolves the issue or not? It looks this asymmetric "MSCRMSqlClrKey" is specific to fail over and load balancing scenarios.
Looks like a dll is missing. Most probably "Microsoft.Crm.SqlClr.Helper.dll". You can copy this from a working environment.
Thanks for the input. Im quickly learning about the asymmetric. Before now, it didn't even know they existed.
I have discovered the asymmetric key has the wrong name. CRMSQLCLRKEy instead of MSCRMSQLCLRKEY. This could be the issue. Before I go deleting and recreating keys, I need to understand the downtime and how end-users will be affected as the changes will be made on the live server.
I am trying drop the asymmetric key in my test lab but I get the error message.
"Cannot drop asymmetric key 'MSCRMSQLCLRKEY' because there is a login mapped to it.".
How can I see what logins are associated with the key?
Check if the Microsoft.Crm.SqlClr.Helper.dll does exist in the location: c:\Program files\Microsoft SQL server\MSSQL11.MSSQLSERVER\MSSQL\DATA.
if it is not present than
Ran the SQL query to created the MSCRMSqlClrLogin in the database:
IF NOT EXISTS (SELECT * FROM sys.asymmetric_keys WHERE name = 'MSCRMSqlClrKey')
EXECUTE ('CREATE ASYMMETRIC KEY MSCRMSqlClrKey FROM EXECUTABLE FILE =''' + 'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\Microsoft.Crm.SqlClr.Helper.dll' + '''')
IF NOT EXISTS (SELECT * FROM sys.syslogins WHERE name = 'MSCRMSqlClrLogin')
CREATE LOGIN MSCRMSqlClrLogin FROM ASYMMETRIC KEY MSCRMSqlClrKey
GRANT UNSAFE ASSEMBLY TO MSCRMSqlClrLogin
and then SELECT * FROM sys.asymmetric_keys
and check if the asymmetric keys are present or not.
Microsoft Dynamics CRM
Business Applications communities