sp_registercustomresolver (Transact-SQL)

APPLIES TO: yesSQL Server noAzure SQL Database noAzure Synapse Analytics (SQL DW) noParallel Data Warehouse

Registers a business logic handler or a COM-based custom resolver that can be invoked during the merge replication synchronization process. This stored procedure is executed at the Distributor.

Topic link icon Transact-SQL Syntax Conventions


sp_registercustomresolver [ @article_resolver = ] 'article_resolver'   
    [ , [ @resolver_clsid = ] 'resolver_clsid' ]  
    [ , [ @is_dotnet_assembly = ] 'is_dotnet_assembly' ]  
    [ , [ @dotnet_assembly_name = ] 'dotnet_assembly_name' ]  
    [ , [ @dotnet_class_name = ] 'dotnet_class_name' ]  


[ @article_resolver = ] 'article_resolver' Specifies the friendly name for the custom business logic being registered. article_resolver is nvarchar(255), with no default.

[ @resolver_clsid = ] 'resolver_clsid' Specifies the CLSID value of the COM object that being registered. Custom business logic resolver_clsid is nvarchar(50), with a default of NULL. This parameter must be set to a valid CLSID or set to NULL when registering a business logic handler assembly.

[ @is_dotnet_assembly = ] 'is_dotnet_assembly' Specifies the type of custom business logic that is being registered. is_dotnet_assembly is nvarchar(50), with a default of FALSE. true indicates that the custom business logic being registered is a business logic handler Assembly; false indicates that it is a COM component.

[ @dotnet_assembly_name = ] 'dotnet_assembly_name' Is the name of the assembly that implements the business logic handler. dotnet_assembly_name is nvarchar(255), with a default value of NULL. You must specify the full path to the assembly if it is not deployed in the same directory as the Merge Agent executable, in the same directory as the application that synchronously starts the Merge Agent, or in the global assembly cache (GAC).

[ @dotnet_class_name = ] 'dotnet_class_name' Is the name of the class that overrides BusinessLogicModule to implement the business logic handler. The name should be specified in the form Namespace.Classname. dotnet_class_name is nvarchar(255), with a default value of NULL.

Return Code Values

0 (success) or 1 (failure)


sp_registercustomresolver is used in merge replication.


Only members of the sysadmin fixed server role or db_owner fixed database role can execute sp_registercustomresolver.

See Also

Implement a Business Logic Handler for a Merge Article
Implement a Custom Conflict Resolver for a Merge Article
sp_lookupcustomresolver (Transact-SQL)
sp_unregistercustomresolver (Transact-SQL)
System Stored Procedures (Transact-SQL)