Ponowne generowanie niestandardowych transakcyjne procedury odbicie zmiany schematu
Domyślnie replikacja transakcyjnej dokonuje wszystkich zmian danych na subskrybentów za pomocą procedur przechowywanych, które zostały wygenerowane przez wewnętrznych procedur każdy artykuł tabela w publikacja.Trzy procedur (jeden dla wstawki, aktualizacje i usuwa) są kopiowane do subskrybent i wykonać podczas wstawiania aktualizację lub usunięcie są replikowane do subskrybent.Gdy schemat zmian w odwołaniu do tabela w SQL Server Wydawca, replikacja regeneruje do tych procedur automatycznie poprzez wywołanie tego samego zestaw wewnętrznych procedur obsługi wykonywanie wykonywanie skryptów, aby nowe procedury odpowiadają nowego schematu (replikacja zmiany schematu nie jest obsługiwana dla wydawców bazy danych Oracle).
Możliwe jest również określenie niestandardowych procedur zamienić jeden lub więcej procedur domyślne.Niestandardowe procedury powinno być zmieniane, jeśli schemat wpłynie na procedurę.Na przykład jeśli procedury odwołuje się do kolumna, która zostanie usunięte w zmiany schematu, odwołanie do kolumna należy usunąć z tej procedury.Istnieją dwa sposoby replikacja do propagowania nowej niestandardowej procedury do subskrybentów:
Pierwsza opcja jest użyć niestandardowych wykonywanie wykonywanie skryptów procedury, aby zastąpić ustawienia domyślne używane przez replikacja:
Podczas wykonywania sp_addarticle (języka Transact-SQL), upewnij się, @ schema_option 0x02 bit ma wartość true.
wykonać sp_register_custom_scripting (języka Transact-SQL) i podaj wartość "Wstawianie", "aktualizacja" lub "Usuwanie" dla parametru @ type i nazwę niestandardowego procedury wykonywanie wykonywanie skryptów dla parametru wartość @.
Następna czas zmiany schematu, replikacji wywołuje tę procedura przechowywana do skryptu Brak definicji dla nowej procedura przechowywana niestandardowe zdefiniowane przez użytkownika, a następnie propaguje procedury dla poszczególnych subskrybent.
Druga opcja jest za pomocą skryptu, który zawiera nową definicję niestandardowego procedury:
Podczas wykonywania sp_addarticle (języka Transact-SQL), zestaw @ schema_option 0x02 bitów do FAŁSZ , więc replikacja nie generuje automatycznie niestandardowych procedur przez subskrybent.
Przed każdą zmianę schematu Utwórz nowy plik skryptu i zarejestrować skrypt replikacja przez sp_register_custom_scripting (języka Transact-SQL). Należy określić wartość custom_script dla parametru @ type ścieżka do skryptu Wydawca dla parametru iwartość @.
Następnym razem schemat odpowiednich zmian w odwołaniu, ten skrypt jest wykonywany na wszystkich subskrybent w obrębie tej samej transakcji jako polecenia języka DDL.Po dokonaniu zmiany schematu, skrypt jest niezarejestrowany.Należy ponownie zarejestrować skrypt jest wykonywany po zmianie schematu kolejnych.