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_addmergearticle 和 sp_changemergearticle 會呼叫 sp_lookupcustomresolver 來驗證指定的 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)