sp_lookupcustomresolver (Transact-SQL)

Gilt für:SQL Server

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 auf dem Verleger in der Veröffentlichungsdatenbank 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 an, die die Registrierung aufgehoben wird. article_resolver ist nvarchar(255) ohne Standardwert. Wenn die Geschäftslogik, die entfernt wird, eine COM-Komponente ist, ist dieser Parameter der angezeigte Name der Komponente. Wenn es sich bei der Geschäftslogik um eine Microsoft .NET Framework-Assembly handelt, 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 zugeordnet ist, die im parameter article_resolver angegeben ist. resolver_clsid ist nvarchar(50) mit dem Standardwert NULL.

[ @is_dotnet_assembly = ] 'is_dotnet_assembly' OUTPUT Gibt den Typ der benutzerdefinierten Geschäftslogik an, die registriert wird. is_dotnet_assembly ist Bit mit dem Standardwert 0. 1 gibt an, dass die zu registrierende benutzerdefinierte Geschäftslogik eine Geschäftslogikhandlerassembly 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 nvarchar(255) mit dem Standardwert NULL.

[ @dotnet_class_name = ] 'dotnet_class_name' OUTPUT Der Name der Klasse, die überschreibt BusinessLogicModule , um den Geschäftslogikhandler zu implementieren. dotnet_class_name ist nvarchar(255) mit dem Standardwert NULL.

[ @publisher = ] 'publisher' Der Name des Verlegers. publisher ist sysname mit dem Standardwert 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)

Bemerkungen

sp_lookupcustomresolver wird bei der Mergereplikation verwendet.

sp_lookupcustomresolver gibt einen NULL-Wert für resolver_clsid zurück, wenn die Komponente nicht bei der Verteilung registriert ist, und den Wert "0000000-0000-0000-000000-000000000000", wenn die Registrierung zu einer .NET Framework Assembly gehört, die als Geschäftslogikhandler registriert ist.

sp_lookupcustomresolver wird von sp_addmergearticle und sp_changemergearticle aufgerufen, um die angegebene article_resolver zu überprüfen.

Berechtigungen

Nur Mitglieder der festen Datenbankrolle db_owner in der Veröffentlichungsdatenbank können sp_lookupcustomresolver ausführen.

Weitere Informationen

Advanced Merge Replication Conflict Detection and Resolution (Erweiterte Konflikterkennung und -lösung bei der Mergereplikation)
Ausführen der Geschäftslogik während der Mergesynchronisierung
Implementieren eines Geschäftslogikhandlers für einen Mergeartikel
Angeben eines Mergeartikelkonfliktlösers
sp_registercustomresolver (Transact-SQL)
sp_unregistercustomresolver (Transact-SQL)
Gespeicherte Systemprozeduren (Transact-SQL)