Udostępnij za pośrednictwem


Ponowne generowanie niestandardowych transakcyjnych procedury, aby odzwierciedlić zmiany schematu

Domyślnie replikacja transakcyjna sprawia, że wszystkie zmiany danych w subskrybentów za pośrednictwem procedury przechowywane generowane przez wewnętrznych procedur każdy artykuł tabela w publikacja.Trzy procedury (jeden dla wstawki, aktualizacje i usuwa) są kopiowane do subskrybenta i wykonać podczas replikacji insert, update lub delete subskrybenta.Podczas dokonywania zmian schematu do tabela, na SQL Server Wydawca, replikacja regeneruje tych procedur automatycznie tak, aby nowe procedury pasuje do nowego schematu, wywołując ten sam zestaw procedurami wewnętrznymi wykonywanie skryptów (replikacja zmian schematu nie jest obsługiwana dla Oracle Wydawcas).

Jest także możliwe określenie niestandardowych procedur zastąpienie jednego lub więcej procedur domyślne.Niestandardowe procedury powinny zostać zmienione, jeśli schemat wpłynie na procedurę.Na przykład jeśli procedura odwołuje się kolumną odrzucone zmiany schematu, odwołanie do kolumna należy usunąć z procedury.Dla replikacja do propagowania nowej procedury niestandardowe subskrybentom na dwa sposoby:

  • Pierwsza opcja jest użyć procedury wykonywanie skryptów niestandardowych, aby zastąpić ustawienia domyślne używane przez replikacja:

    1. Podczas wykonywania sp_addarticle (języka Transact-SQL), zapewnienia @ schema_option jest 0x02 bit true.

    2. Wykonanie sp_register_custom_scripting (języka Transact-SQL) i określ wartość 'Wstaw', 'update' lub 'delete' dla parametru typu @ i nazwa niestandardowej wykonywanie skryptów procedury dla parametru wartość @.

    Następnego czas zmiany schematu, replikacja wymaga tej procedura składowana do skryptu poza definicją nowe procedura składowana niestandardowe zdefiniowane przez użytkownika i następnie propaguje procedury poszczególnym subskrybentom.

  • Druga opcja to służy skrypt zawierający nową definicję niestandardowego procedury:

    1. Podczas wykonywania sp_addarticle (języka Transact-SQL), zestaw @ schema_option bit 0x02 do false dzięki replikacja nie generuje automatycznie niestandardowych procedur przez subskrybenta.

    2. Przed każdą zmianę schematu, Utwórz nowy plik skryptu i zarejestrować skryptu przez wykonywanie replikacja sp_register_custom_scripting (języka Transact-SQL).Określ wartość "custom_script" dla parametru typu @ i ścieżka do skryptu Wydawca dla parametru wartość @.

    Następnego czas zmiany odpowiednich schematu, ten skrypt jest wykonywany na każdy abonent w obrębie tej samej transakcji, jak polecenie DDL.Po dokonaniu zmiany schematu skryptu jest zarejestrowany.Należy ponownie zarejestrować skrypt jest wykonywany po zmianie schematu kolejnych.