Delen via


sp_register_custom_scripting (Transact-SQL)

van toepassing op:SQL Server-

Met replicatie kunnen door de gebruiker gedefinieerde aangepaste opgeslagen procedures een of meer van de standaardprocedures vervangen die worden gebruikt in transactionele replicatie. Wanneer een schemawijziging wordt aangebracht in een gerepliceerde tabel, worden deze opgeslagen procedures opnieuw gemaakt.

sp_register_custom_scripting registreert een opgeslagen procedure of Transact-SQL scriptbestand dat wordt uitgevoerd wanneer een schemawijziging plaatsvindt om de definitie uit te voeren voor een nieuwe door de gebruiker gedefinieerde aangepaste opgeslagen procedure. Deze nieuwe door de gebruiker gedefinieerde aangepaste opgeslagen procedure moet het nieuwe schema voor de tabel weerspiegelen. sp_register_custom_scripting wordt uitgevoerd bij Publisher in de publicatiedatabase en het geregistreerde scriptbestand of de opgeslagen procedure wordt uitgevoerd bij de abonnee wanneer er een schemawijziging plaatsvindt.

Transact-SQL syntaxis-conventies

Syntaxis

sp_register_custom_scripting
    [ @type = ] 'type'
    , [ @value = ] N'value'
    [ , [ @publication = ] N'publication' ]
    [ , [ @article = ] N'article' ]
[ ; ]

Argumenten

[ @type = ] 'type'

Het type aangepaste opgeslagen procedure of script dat wordt geregistreerd. @type is varchar(16) en kan een van de volgende waarden zijn.

Waarde Beschrijving
insert De geregistreerde aangepaste opgeslagen procedure wordt uitgevoerd wanneer een INSERT instructie wordt gerepliceerd.
update De geregistreerde aangepaste opgeslagen procedure wordt uitgevoerd wanneer een UPDATE instructie wordt gerepliceerd.
delete De geregistreerde aangepaste opgeslagen procedure wordt uitgevoerd wanneer een DELETE instructie wordt gerepliceerd.
custom_script Script wordt uitgevoerd aan het einde van de DDL-trigger (Data Definition Language).

[ @value = ] N'waarde'

Naam van een opgeslagen procedure of naam en volledig gekwalificeerde pad naar het Transact-SQL scriptbestand dat wordt geregistreerd. @value is nvarchar(2048), zonder standaardwaarde.

NULL Als u opgeeft @value de registratie van een eerder geregistreerd script ongedaan maakt, is dit hetzelfde als het uitvoeren van sp_unregister_custom_scripting.

Wanneer de waarde van @type is custom_script, wordt de naam en het volledige pad van een Transact-SQL scriptbestand verwacht. Anders moet @value de naam zijn van een geregistreerde opgeslagen procedure.

[ @publication = ] N'publicatie'

Naam van de publicatie waarvoor de aangepaste opgeslagen procedure of het aangepaste script wordt geregistreerd. @publication is sysname, met een standaardwaarde van NULL.

[ @article = ] N'artikel'

Naam van het artikel waarvoor de aangepaste opgeslagen procedure of het aangepaste script wordt geregistreerd. @article is sysname, met een standaardwaarde van NULL.

Codewaarden retourneren

0 (geslaagd) of 1 (mislukt).

Opmerkingen

sp_register_custom_scripting wordt gebruikt in momentopnamen en transactionele replicatie.

Deze opgeslagen procedure moet worden uitgevoerd voordat u een schemawijziging aanbrengt in een gerepliceerde tabel. Zie transactionele artikelen over het opnieuw genereren van aangepaste procedures om schemawijzigingen weer te geven voor meer informatie over het gebruik van deze opgeslagen procedure.

Machtigingen

Alleen leden van de vaste serverrol sysadmin , de db_owner vaste databaserol of de db_ddladmin vaste databaserol kunnen worden uitgevoerd sp_register_custom_scripting.