sp_lookupcustomresolver (Transact-SQL)
Gibt die Informationen zu einem Geschäftslogikhandler oder den Wert des Klassenbezeichners (CLSID, Class Identifier) einer COM-basierten Komponente für benutzerdefinierte Konfliktlöser zurück, die auf dem Verteiler registriert sind. Diese gespeicherte Prozedur wird beim Verleger mit der Publikationsdatenbank ausgeführt.
Transact-SQL-Syntaxkonventionen
Syntax
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' ]
Argumente
- [ @article_resolver = ] 'article_resolver'
Gibt den Namen der benutzerdefinierten Geschäftslogik zurück, deren Registrierung aufgehoben wird. article_resolver ist vom nvarchar(255)-Datentyp und hat keinen Standardwert. Wenn die Geschäftslogik, die entfernt wird, eine COM-Komponente ist, ist dieser Parameter der angezeigte Name der Komponente. Wenn die Geschäftslogik eine Microsoft .NET Framework-Assembly ist, ist dieser Parameter der Name der Assembly.
- [ @resolver_clsid= ] 'resolver_clsid' OUTPUT
Der CLSID-Wert des COM-Objekts, das dem Namen der benutzerdefinierten Geschäftslogik im article_resolver-Parameter zugeordnet ist. resolver_clsid ist vom Datentyp nvarchar(50) und hat den Standardwert NULL.
- [ @is_dotnet_assembly= ] 'is_dotnet_assembly' OUTPUT
Gibt den Typ der benutzerdefinierten Geschäftslogik an, die registriert wird. is_dotnet_assembly ist vom Datentyp bit und hat den Standardwert 0. 1 gibt an, dass die benutzerdefinierte Geschäftslogik, die registriert wird, eine Geschäftslogikhandler-Assembly ist. 0 gibt an, dass es sich um eine COM-Komponente handelt.
- [ @dotnet_assembly_name= ] 'dotnet_assembly_name' , OUTPUT
Der Name der Assembly, die den Geschäftslogikhandler implementiert. dotnet_assembly_name ist vom Datentyp nvarchar(255) und hat den Standardwert NULL.
- [ @dotnet_class_name= ] 'dotnet_class_name' OUTPUT
Der Name der Klasse, die BusinessLogicModule außer Kraft setzt, um den Geschäftslogikhandler zu implementieren. dotnet_class_name ist vom Datentyp nvarchar(255) und hat den Standardwert NULL.
- [ @publisher= ] 'publisher'
Der Name des Verlegers. publisher ist vom Datentyp sysname; der Standardwert ist NULL. Verwenden Sie diesen Parameter, wenn die gespeicherte Prozedur nicht vom Verleger aufgerufen wird. Wenn keine Angabe erfolgt, wird davon ausgegangen, dass der lokale Server der Verleger ist.
Rückgabecodewerte
0 (Erfolg) oder 1 (Fehler)
Hinweise
sp_lookupcustomresolver wird für die Mergereplikation verwendet.
sp_lookupcustomresolver gibt für resolver_clsid einen NULL-Wert zurück, wenn die Komponente nicht auf dem Verteiler registriert ist. Wenn die Registrierung zu einer .NET Framework-Assembly gehört, die als Geschäftslogikhandler registriert ist, wird ein Wert vom Typ "00000000-0000-0000-0000-000000000000" zurückgegeben.
sp_lookupcustomresolver wird von sp_addmergearticle und sp_changemergearticle zur Überprüfung des angegebenen article_resolver-Wertes aufgerufen.
Berechtigungen
sp_lookupcustomresolver kann nur von Mitgliedern der festen Datenbankrolle db_owner in der Publikationsdatenbank ausgeführt werden.
Siehe auch
Verweis
sp_registercustomresolver (Transact-SQL)
sp_unregistercustomresolver (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)
Andere Ressourcen
Erweiterte Konflikterkennung und -lösung bei der Mergereplikation
Ausführen der Geschäftslogik während der Mergesynchronisierung
How to: Implement a Business Logic Handler for a Merge Article (Replication Programming)
How to: Specify a Merge Article Resolver (Replication Transact-SQL Programming)