sp_lookupcustomresolver (Transact-SQL)
返回有关在分发服务器注册的基于 COM 的自定义冲突解决程序组件的业务逻辑处理程序或类标识符 (CLSID) 值的信息。此存储过程在发布服务器上对发布数据库执行。
语法
sp_lookupcustomresolver [ @article_resolver = ] 'article_resolver'
[, [ @resolver_clsid = ] 'resolver_clsid' OUTPUT ]
[ , [ @is_dotnet_assembly = ] is_dotnet_assembly OUTPUT ]
[ , [ @dotnet_assembly_name = ] 'dotnet_assembly_name' OUTPUT ]
[ , [ @dotnet_class_name = ] 'dotnet_class_name' OUTPUT ]
[ , [ @publisher = ] 'publisher' ]
参数
- [ @article_resolver = ] 'article_resolver'
指定要撤消注册的自定义业务逻辑的名称。article_resolver 的数据类型为 nvarchar(255),没有默认值。如果被删除的业务逻辑是 COM 组件,则此参数是该组件的友好名称。如果业务逻辑是 Microsoft .NET Framework 程序集,则此参数是该程序集的名称。
- [ @resolver_clsid= ] 'resolver_clsid' OUTPUT
与 article_resolver 参数中指定的自定义业务逻辑名称相关联的 COM 对象的 CLSID 值。resolver_clsid 的数据类型为 nvarchar(50),默认值为 NULL。
- [ @is_dotnet_assembly= ] 'is_dotnet_assembly' OUTPUT
指定注册的自定义业务逻辑的类型。is_dotnet_assembly 的数据类型为 bit,默认值为 0。1 表示注册的自定义业务逻辑是业务逻辑处理程序程序集;0 表示它是 COM 组件。
- [ @dotnet_assembly_name= ] 'dotnet_assembly_name' , OUTPUT
实现业务逻辑处理程序的程序集的名称。dotnet_assembly_name 是的数据类型为 nvarchar(255),默认值为 NULL。
- [ @dotnet_class_name= ] 'dotnet_class_name' OUTPUT
覆盖 BusinessLogicModule 以实现业务逻辑处理程序的类的名称。dotnet_class_name 是 nvarchar(255),默认值为 NULL。
- [ @publisher= ] 'publisher'
发布服务器的名称。publisher 的数据类型为 sysname,默认值为 NULL。未从发布服务器调用该存储过程时使用此参数。如果未指定,则假定本地服务器是发布服务器。
返回代码值
0(成功)或 1(失败)
备注
sp_lookupcustomresolver 用于合并复制。
如果组件没有在分发服务器注册,则 sp_lookupcustomresolver 将为 resolver_clsid 返回 NULL 值;如果注册属于注册为业务逻辑处理程序的 .NET Framework 程序集,则值为 00000000-0000-0000-0000-000000000000。
sp_lookupcustomresolver 由 sp_addmergearticle 和 sp_changemergearticle 调用,以验证指定的 article_resolver。
权限
只有发布数据库上的 db_owner 固定数据库角色的成员才能执行 sp_lookupcustomresolver。
请参阅
参考
sp_registercustomresolver (Transact-SQL)
sp_unregistercustomresolver (Transact-SQL)
系统存储过程 (Transact-SQL)
其他资源
高级合并复制冲突的检测和解决
在合并同步期间执行业务逻辑
How to: Implement a Business Logic Handler for a Merge Article (Replication Programming)
How to: Specify a Merge Article Resolver (Replication Transact-SQL Programming)